Major refactoring of ourdigital-custom-skills with new numbering system: ## Structure Changes - Each skill now has code/ (Claude Code) and desktop/ (Claude Desktop) versions - New progressive numbering: 01-09 General, 10-19 SEO, 20-29 GTM, 30-39 OurDigital, 40-49 Jamie ## Skill Reorganization - 01-notion-organizer (from 02) - 10-18: SEO tools split into focused skills (technical, on-page, local, schema, vitals, gsc, gateway) - 20-21: GTM audit and manager - 30-32: OurDigital designer, research, presentation - 40-41: Jamie brand editor and audit ## New Files - .claude/commands/: Slash command definitions for all skills - CLAUDE.md: Updated with new skill structure documentation - REFACTORING_PLAN.md: Migration documentation - COMPATIBILITY_REPORT.md, SKILLS_COMPARISON.md: Analysis docs ## Removed - Old skill directories (02-05, 10-14, 20-21 old numbering) - Consolidated into new structure with _archive/ for reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Ghost Admin API Configuration
Configured Channels
| Channel | Domain | API Status |
|---|---|---|
| blog.ourdigital.org | Korean main blog | ✅ Configured |
| journal.ourdigital.org | English journal | ✅ Configured |
| ourstory.day | Personal essays | ✅ Configured |
API Endpoints
Base URL pattern: https://{domain}/ghost/api/admin/
Authentication
Ghost Admin API uses JWT tokens generated from Admin API keys.
Admin API Key Format: {id}:{secret}
- id: 24 hex characters
- secret: 64 hex characters
Key Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/posts/ |
POST | Create new post |
/posts/{id}/ |
PUT | Update existing post |
/images/upload/ |
POST | Upload image |
/tags/ |
GET/POST | Manage tags |
Post Creation Payload
{
"posts": [{
"title": "Post Title",
"html": "<p>Content in HTML</p>",
"status": "draft",
"tags": [{"name": "tag1"}, {"name": "tag2"}],
"feature_image": "https://...",
"meta_title": "SEO Title",
"meta_description": "SEO Description",
"og_title": "Social Title",
"og_description": "Social Description",
"published_at": "2024-01-15T09:00:00.000Z"
}]
}
Status Options
draft: Save without publishingpublished: Publish immediatelyscheduled: Schedule for future (requirespublished_at)
Future Automation Opportunities
Zapier Integration Points
- Trigger: New Notion page in "Working with AI" → Create Ghost draft
- Trigger: Ghost post published → Share to social channels
- Trigger: New MD file in iCloud folder → Create Ghost draft
n8n Workflow Ideas
- Research complete → Auto-create drafts across all relevant channels
- Scheduled publishing queue management
- Cross-posting between Ghost instances
Security Notes
- API keys stored in environment variables
- Never expose keys in code or logs
- Rotate keys if compromised
- Use separate keys for different integrations