refactor: Reorganize skill numbering and update documentation

Skill Numbering Changes:
- 01-03: OurDigital core (was 30-32)
- 31-32: Notion tools (was 01-02)
- 99_archive: Renamed from _archive for sorting

New Files:
- AGENTS.md: Claude Code agent routing guide
- requirements.txt for 00-claude-code-setting, 32-notion-writer, 43-jamie-youtube-manager

Documentation Updates:
- CLAUDE.md: Updated skill inventory (23 skills)
- AUDIT_REPORT.md: Current completion status (91%)
- Archived REFACTORING_PLAN.md (most tasks complete)

Removed:
- ga-agent-skills/ (moved to separate repo ~/Project/dintel-ga4-agent)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-23 18:42:39 +07:00
parent ae193d5e08
commit b69e4b6f3a
100 changed files with 655 additions and 1812 deletions

View File

@@ -0,0 +1,74 @@
# 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