# create-claudify

Scaffold a complete [Claudify Content Specialist](https://claudify.tech) workspace in one command.

```bash
npx create-claudify
```

Claudify Content Specialist is a Claude Code operating system for content production, brand voice, and audience growth. It ships as a self-contained workspace with agents, hooks, commands, and memory — ready to produce content across X, LinkedIn, Instagram, Threads, newsletters, blog posts, and more.

---

## What gets created

Running `npx create-claudify` scaffolds a full workspace:

```
my-content-os/
├── CLAUDE.md                         Context file — Claude reads this every session
├── CLAUDE.local.md                   Personal overrides (gitignored)
├── Task Board.md                     Current work tracking
├── .gitignore
├── .claude/
│   ├── memory.md                     Session state (6-tier memory architecture)
│   ├── knowledge-base.md             Content rules (30+ pre-seeded hard rules)
│   ├── knowledge-nominations.md      Candidate learnings pipeline
│   ├── command-index.md              All commands with triggers and tools
│   ├── settings.json                 14 hooks wired to Claude Code lifecycle
│   ├── agents/                       10 specialist subagents
│   │   ├── auditor.md
│   │   ├── content-creator.md
│   │   ├── brand-voice-keeper.md
│   │   ├── content-strategist.md
│   │   ├── newsletter-orchestrator.md
│   │   ├── drafter.md
│   │   ├── prompt-architect.md
│   │   ├── newsletter-auditor.md
│   │   ├── stylist.md
│   │   └── analyst.md
│   ├── commands/                     13 slash commands
│   │   ├── start.md
│   │   ├── sync.md
│   │   ├── wrap-up.md
│   │   ├── safe-clear.md
│   │   ├── feedback.md
│   │   ├── content.md
│   │   ├── post.md
│   │   ├── thread.md
│   │   ├── blog.md
│   │   ├── newsletter.md
│   │   ├── launch-post.md
│   │   ├── readme.md
│   │   └── audit.md
│   ├── hooks/                        14 hooks (9 base + 5 newsletter)
│   │   ├── guard-bash.sh
│   │   ├── backup-before-write.sh
│   │   ├── completeness-gate.sh
│   │   ├── log-changes.sh
│   │   ├── log-failures.sh
│   │   ├── log-stop-verdict.sh
│   │   ├── pre-compact-handoff.sh
│   │   ├── post-compact-resume.sh
│   │   ├── session-reset.sh
│   │   ├── newsletter-em-dash-check.sh
│   │   ├── newsletter-jargon-check.sh
│   │   ├── newsletter-schema-check.sh
│   │   ├── newsletter-contrast-check.sh
│   │   └── newsletter-paragraph-collapse-check.sh
│   └── agent-memory/
│       ├── content-creator/
│       │   ├── MEMORY.md
│       │   └── brand-memories/
│       │       ├── _TEMPLATE.md
│       │       └── {your-brand}.md    (one per brand you entered)
│       └── newsletter-orchestrator/
│           └── MEMORY.md
└── newsletter/                       (if you chose to include it)
    ├── README.md                     Start here for the newsletter system
    ├── SYSTEM.md                     Full operational guide
    ├── ISSUE-SCHEMA.md
    ├── GOD-PROMPT-RUBRIC.md
    ├── BACKLOG.md
    ├── COMPONENTS.html
    ├── email-template.html           CUSTOMIZE this before your first issue
    ├── build.py
    ├── send.js
    ├── render-test.sh
    ├── test-god-prompt.py
    ├── .env.example                  Copy to .env and fill in your keys
    ├── foundations/
    │   ├── PERSONA.md                CUSTOMIZE for your audience
    │   ├── VOICE.md                  CUSTOMIZE for your voice
    │   ├── GLOSSARY.md               CUSTOMIZE for your terms
    │   ├── BUDGETS.md
    │   ├── PIPELINE-PERSONALITIES.md
    │   └── MISTAKES-LOG.md
    ├── issues/
    ├── briefs/
    └── drafts/
```

---

## Interactive setup

The CLI asks 6 questions:

1. **Workspace directory** — where to create the workspace (default: `./my-content-os`)
2. **Brand names** — one or more brands you produce content for (e.g. `Acme`, `acme-blog`)
3. **Newsletter** — whether to include the full newsletter production system
4. **Platforms** — which platforms you publish to (X, LinkedIn, Instagram, Threads, TikTok, YouTube, Beehiiv, blog, Product Hunt, Hacker News)
5. **Default tone** — direct / conversational / authoritative
6. **Long-form length** — short (~600w) / medium (~1200w) / long (~2000w)

---

## Quick start

After scaffolding:

```bash
cd my-content-os
code .          # or your editor of choice
```

Open Claude Code in the workspace. Then:

```
/start          — begin your session (reads memory, sets context)
/post X "your topic"    — draft a single X post
/thread "your topic"    — draft an X thread
/blog "keyword"         — draft a blog post (SEO-aware)
/content mybrand        — run the full content pipeline
/newsletter strategy 001  — start your first newsletter issue
```

---

## System components

### 10 specialist agents

| Agent | Responsibility |
|---|---|
| `content-creator` | Lead production agent across all 7 content modes and 9 platforms |
| `content-strategist` | Topic selection, content calendar, brief production |
| `brand-voice-keeper` | Voice consistency across sessions, drift detection |
| `auditor` | Quality gate — reviews all output in fresh context |
| `newsletter-orchestrator` | Coordinates the 9-phase newsletter pipeline |
| `drafter` | Writes newsletter issue body content |
| `prompt-architect` | Designs god-tier prompts, tests against 3 codebases |
| `newsletter-auditor` | 25 mechanical + 13 semantic + regression checks |
| `stylist` | Visual rendering gate — 20 checks + Playwright at 4 viewports |
| `analyst` | Post-send learning — day-of-send + day-7 reports |

### 14 hooks

Hooks run automatically in Claude Code lifecycle events:

| Hook | Trigger | What it does |
|---|---|---|
| `guard-bash` | PreToolUse Bash | Blocks dangerous commands (rm -rf /, force push, secret exposure) |
| `backup-before-write` | PreToolUse Write | Creates timestamped backups, 7-day auto-pruning |
| `completeness-gate` | PreToolUse Write\|Edit | Checks knowledge-base provenance, memory line limit, JSON validity |
| `log-changes` | PostToolUse Write\|Edit | Audit trail for all file changes |
| `log-failures` | PostToolUseFailure | Categorised failure logging |
| `log-stop-verdict` | Stop | JSONL verdict log, quality gate activation |
| `pre-compact-handoff` | PreCompact | Saves state before context compaction |
| `post-compact-resume` | SessionStart(compact) | Restores context after compaction |
| `session-reset` | SessionStart(user) | Resets gate files, validates agent frontmatter |
| `newsletter-em-dash-check` | PreToolUse Write | Blocks em dash in newsletter issues |
| `newsletter-jargon-check` | PreToolUse Write | Blocks banned acronyms and filler phrases |
| `newsletter-schema-check` | PreToolUse Write | Validates required frontmatter and section headers |
| `newsletter-contrast-check` | PreToolUse Write | Blocks low-contrast hex values |
| `newsletter-paragraph-collapse-check` | PreToolUse Write | Blocks `\n\n` inside `<p>` tags |

### 6-tier memory architecture

1. `memory.md` — active session context
2. Content Creator Memory — production log, calibration, approved patterns
3. Brand Memories — per-brand voice samples, ICP, signature phrases, banned phrases
4. Knowledge Base — system-wide content rules (auditor-gated)
5. Knowledge Nominations — candidate learnings pipeline
6. Daily Notes — chronological session history

---

## Newsletter system

If you chose to include the newsletter system, read `newsletter/README.md` first. The newsletter system ships with:

- **6 foundation files** (PERSONA, VOICE, GLOSSARY, BUDGETS, PIPELINE-PERSONALITIES, MISTAKES-LOG)
- **15 pre-seeded documented failures** in MISTAKES-LOG.md with auditor checks
- **Full build pipeline**: `build.py` → `render-test.sh` → `send.js`
- **God-tier prompt validation**: 6-criterion rubric + 3-codebase test harness
- **9-phase pipeline** coordinated by the `newsletter-orchestrator` agent

**Customise the foundations before your first issue** — especially `PERSONA.md`, `VOICE.md`, and `email-template.html`.

---

## Requirements

- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed and authenticated
- Node.js 18+ (for `npx create-claudify` and `send.js`)
- Python 3.8+ (for `build.py` and `test-god-prompt.py`)
- Playwright (for `render-test.sh` — installed on first run via `npx playwright`)

---

## License

MIT
