Initial configuration wizard for the content-os plugin. Walks through business info, platform selection, voice calibration from writing samples, competitor analysis, API key collection, and social link setup. Generates all context files and config needed for the content pipeline to work. Use when user says "content setup", "set up content os", "configure content pipeline", "initialize", or when .claude/content-os.local.md doesn't exist. Also triggered by SessionStart hook if setup is incomplete.
One guided flow that configures everything the content pipeline needs. Run this once when first installing the plugin, or re-run to update any section.
Before starting, verify the user has:
.claude/ folder (or create one)Run all 7 steps in sequence as a single conversation. Use AskUserQuestion for each step to collect input, then generate files.
Ask the user:
Generate: from template, filled with their answers.
context/my-business.md${CLAUDE_PLUGIN_ROOT}/context-templates/my-business.mdAsk:
Store in config. This determines which skills are active and which context files get generated.
This is the most important step. Ask:
After they paste samples, analyze them to extract:
Generate: context/my-voice.md from the template, filled with extracted patterns.
If LinkedIn is selected: Also generate context/linkedin/voice.md with LinkedIn-specific adaptations of their voice. Copy ${CLAUDE_PLUGIN_ROOT}/context-templates/linkedin/frameworks.md to context/linkedin/frameworks.md. Save their best examples to context/linkedin/examples.md.
If YouTube is selected: Also generate context/youtube/voice.md with YouTube-specific delivery patterns adapted to their style.
Ask:
Generate: context/competitive-strategy.md from template with:
Also generate ICP from the combination of business info + audience description + competitive landscape:
Generate: context/icp.md with audience archetypes, pain points, and discovery paths.
Based on all the context gathered so far, propose 5-7 content pillars:
These pillars map to the pillar integer field in the database and are used for coverage gap analysis.
Add the final pillars to context/competitive-strategy.md.
Present the prerequisites checklist based on what they need:
Required for all users:
Required for YouTube content (if platform = youtube):
Required for thumbnails and statement images:
Optional upgrades:
For each key they provide, validate the format (check prefix patterns like sk-, gsk_, etc.) but don't test the API — just store it.
Ask:
After collecting all inputs, generate the following:
.claude/content-os.local.md---
business_name: "[from step 1]"