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>
75 lines
2.0 KiB
Markdown
75 lines
2.0 KiB
Markdown
# 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
|
|
|
|
```json
|
|
{
|
|
"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
|