원클릭으로
cf-switch-backend
Switch tracking backend (local/airtable/google) with optional data migration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Switch tracking backend (local/airtable/google) with optional data migration
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Process multiple content pieces through a prioritized, checkpointed queue with progress tracking and per-piece quality gates
Add a custom MCP connector — connect any API or service to ContentForge via .mcp.json configuration.
Track content quality scores, pipeline timing, and compliance trends with insights and alerts.
Audit content library for freshness decay, coverage gaps, and optimization opportunities.
Generate research-backed content briefs with keywords, competitors, intent, and SEO strategy from a topic.
Plan content calendars with scheduling, deadlines, team assignments, and Google Calendar sync.
| name | cf-switch-backend |
| description | Switch tracking backend (local/airtable/google) with optional data migration |
| disable-model-invocation | true |
| argument-hint | [local | airtable | google] [--migrate] |
| effort | high |
Switch ContentForge's tracking and delivery backend between Google Sheets + Drive, Airtable, or Local filesystem. Optionally migrate existing tracking data and output files to the new backend.
Running in Cowork? The "local" backend writes to the ephemeral sandbox filesystem — files vanish at session end. For Cowork team setups, use the Google (Drive) route and run /contentforge:cf-cowork-setup first to wire the Drive folder layout.
/contentforge:cf-switch-backend airtable
/contentforge:cf-switch-backend google
/contentforge:cf-switch-backend local
/contentforge:cf-switch-backend --status
Read the active brand profile's tracking.backend field.
Report current state:
Current backend: local
Records: 47 tracking records
Output files: 42 files in ~/.claude-marketing/{brand}/tracking/outputs/
If switching to Airtable:
AIRTABLE_TOKEN environment variable existsdata.records:read and data.records:write scopesexport AIRTABLE_TOKEN=patXXXXXXXXairtable.com/appXXXXXXXXX/...)python {scripts_dir}/airtable-tracker.py --action init --base-id {base_id}
If switching to Google Sheets + Drive:
~/.claude-marketing/google-credentials.json~/.claude-marketing/google-credentials.jsonpython {scripts_dir}/sheets-tracker.py --action init --sheet-id {sheet_id}
If switching to Local:
python {scripts_dir}/local-tracker.py --action init --brand "{brand}"
If the current backend has existing records:
You have 47 tracking records and 42 output files on 'local'.
Would you like to migrate this data to Airtable?
1. Yes — Copy all records and files to the new backend
2. No — Start fresh (existing data preserved but not synced)
3. Skip — Just switch, decide on migration later
If yes, run:
python {scripts_dir}/backend-migrator.py --action migrate --brand "{brand}" --from {current} --to {target} [backend-specific args]
Report migration results:
Migration complete:
Records migrated: 47
Files migrated: 42
Files failed: 0
Source data preserved at: ~/.claude-marketing/{brand}/tracking/
Update the brand profile JSON:
tracking.backend to the new backend valueBackend switched to Airtable.
New tracking records → Airtable base appXXXXXX
Output files → Airtable attachment fields
Previous data preserved at: ~/.claude-marketing/{brand}/tracking/
Run /contentforge:cf-switch-backend --status to verify anytime.
| Factor | Google Sheets + Drive | Airtable | Local |
|---|---|---|---|
| Auth setup | Service account (~5 min) | Personal token (~2 min) | None |
| Tracking | Google Sheets | Airtable records | JSON file |
| File delivery | Google Drive | Attachment field | Local filesystem |
| Collaboration | Share via Google | Share via Airtable | Single user |
| Free tier | 15GB Drive | 1,000 records + 10GB | Unlimited |
| Offline | No | No | Yes |
Run with --status flag to check current backend health:
/contentforge:cf-switch-backend --status
This runs:
python {scripts_dir}/backend-migrator.py --action status --brand "{brand}" --from {current_backend}
tracking.backend — switching takes effect immediately for the next content run