Files
our-claude-skills/custom-skills/04-ourdigital-research/code/references/ghost-api-config.md
Andrew Yim 0bc24d00b9 feat: Add OurDigital custom skills package (10 skills)
Complete implementation of OurDigital skills with dual-platform support
(Claude Desktop + Claude Code) following standardized structure.

Skills created:
- 01-ourdigital-brand-guide: Brand reference & style guidelines
- 02-ourdigital-blog: Korean blog drafts (blog.ourdigital.org)
- 03-ourdigital-journal: English essays (journal.ourdigital.org)
- 04-ourdigital-research: Research prompts & workflows
- 05-ourdigital-document: Notion-to-presentation pipeline
- 06-ourdigital-designer: Visual/image prompt generation
- 07-ourdigital-ad-manager: Ad copywriting & keyword research
- 08-ourdigital-trainer: Training materials & workshop planning
- 09-ourdigital-backoffice: Quotes, proposals, cost analysis
- 10-ourdigital-skill-creator: Meta skill for creating new skills

Features:
- YAML frontmatter with "ourdigital" or "our" prefix triggers
- Standardized directory structure (code/, desktop/, shared/, docs/)
- Shared environment setup (_ourdigital-shared/)
- Comprehensive reference documentation
- Cross-skill integration support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 16:50:17 +07:00

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 publishing
  • published: Publish immediately
  • scheduled: Schedule for future (requires published_at)

Future Automation Opportunities

Zapier Integration Points

  1. Trigger: New Notion page in "Working with AI" → Create Ghost draft
  2. Trigger: Ghost post published → Share to social channels
  3. Trigger: New MD file in iCloud folder → Create Ghost draft

n8n Workflow Ideas

  1. Research complete → Auto-create drafts across all relevant channels
  2. Scheduled publishing queue management
  3. 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