Open source · Free to fork · v1.1

Vibe-code
your marketing.

EVC is an agent workspace for Claude Code. 42 commands that plan your week, write your posts, QA your copy, and ship your content — one folder, one terminal.

Bash + markdown · Fork it and make it yours · Any industry

42
Commands
12
Hooks
3
Modes
4
Starters
1
setup.sh
On this page
01 — A week in the life

Monday morning. You open Claude Code.

You run content, brand, community, analytics, the site, and the newsletter. You type one command. Here's how the week plays out.

You type /monday. EVC runs five commands in a chain: triages your inbox, pulls last week's X metrics, scans competitors and trends, builds a 5-day content plan, and hands you a one-page executive brief.

You didn't write any of it. You read the brief, approve the plan, edit one headline.

/content-week batch-produces all five days — copy, banners, LinkedIn variants, the Tuesday post staged first. /content-qa scores each one on brand voice, clarity, compliance, slop. Two posts fail. They auto-revise. You review in a staging browser.

You spend forty minutes on what used to take eight hours. The rest of Tuesday is yours.

/post-today. The copy is already QA'd, the banner is already exported, the reply with your site link is already drafted. You say yes. It posts. Twenty minutes later /reply-monitor surfaces three mentions and drafts canon-aligned replies for each.

Your brand voice stays consistent whether you're typing the reply or the AI is.

Long-form day. /blog-plan "five ways to write a better headline" returns an outline with narrative arc, visual map, and source citations. /blog-draft writes 1,600 words. /blog-qa runs 8 checks. /blog-assets builds the hero image, pull-quote cards, and LinkedIn carousel. All staged in HTML so you can review them in a browser before anything goes live.

One article, three hours, five channel-ready formats.

/friday. Performance review, team digest, Linear cleanup, memory update, session save. EVC writes next week's first draft of the brief while you're still here. Every lesson learned — what worked, what didn't, which post broke through — is filed for next Monday's chain to read.

The system learned this week. Next week it's smarter. So are you.

02 — Why this exists

Six design decisions.

EVC isn't a scheduler, a content calendar, or a prompt library. It's a workspace with opinions. These are the opinions.

01 / Brand voice

Your canon is the law.

Every piece of copy is scored against brand/canon-rules.json — banned phrases, required language, defunct partners, USP pillars, tone dimensions — before it can ship. Hooks enforce it. Violations block at the command level.

canon-guardrailcontent-qastop-slop

02 / Chain, don't click

One command, five steps.

EVC's commands compose. /monday runs a 5-in-1 chain. /content-week drafts, QAs, and stages in one call. You stop clicking between tools and start reviewing finished work. Every chain has human gates — you approve, you never get auto-surprised.

/monday/friday/content-week

03 / See before ship

Everything renders in a browser first.

Blog posts, social grids, quote cards, weekly reports, solution pages — every output lands in staging/ as HTML. You open a file, you see the real thing. Approved, you publish. Rejected, you iterate. No "looks good on my screen" surprises.

/stagestaging-base.css/export-clean

04 / Memory that compounds

Every week trains next week.

QA failures become lessons. Performance winners become planning inputs. Session state survives crashes. content-engine/memory/ is three layers deep and reads itself before every content-plan. The twentieth week is smarter than the first.

lessons.mdlearning-log.mdsession-data

05 / One long-form, six formats

Write once. Ship everywhere.

/repurpose takes a published blog and fans it into an X thread, three X singles, a LinkedIn article, a newsletter snippet, and a set of quote cards. Each one QA'd and staged. You're not rewriting — you're reviewing.

/repurpose/crosspost/blog-publish

06 / Guardrails you can't forget

The hooks remember the rules.

Twelve shell hooks run invisibly — blocking canon violations, saving sessions before compaction, enforcing reference screenshots before builds, auditing every external action. You can't accidentally ship banned phrases. You can't lose a session. You can't post without approval.

canon-guardrailcheck-referenceaction-audit

The bet

One operator with the right workspace ships more than an 8-person team on six SaaS tools.

EVC gives that operator a brand brain, chained commands, and a memory that compounds. The rest is just prompts.

04 — Visual chains

Commands that compose.

EVC's killer feature isn't the individual commands — it's the chains. A chain runs multiple commands in sequence with human gates where it matters. You get drafts; the system handles the plumbing.

Chain A — Content Engine · Mon→Fri
The five-day cadence for daily social. Plan Monday, ship Tuesday-Thursday, review Friday.
/intel-scan
Competitors, trends, algorithm
/performance-review
Last week's metrics
/content-plan
5-day calendar
You review
Approve plan
/content-week
Draft all 5 days
/content-qa
Voice + slop scoring
You review
Stage in browser
/post-today
Publish + reply
Chain B — Blog Engine · per article
Research, draft, QA, visuals, publish. Three hours per article, five channel-ready outputs.
/blog-plan
Outline + sources
You review
Approve outline
/blog-draft
1,200–2,000 words
/blog-qa
8 checks, auto-revise
/blog-assets
Hero, quotes, carousel
Browser review
Staging HTML
/blog-publish
CMS push
/repurpose
6 formats from 1 blog
Chain C — Weekly Cadence
The rhythm that ties it all together. Monday opens, Friday closes, memory persists.
Mon /monday
5-in-1 open
Tue–Thu
Ship + reply
/reply-monitor
Canon-aligned replies
Fri /friday
4-in-1 close
/save-session
Memory persisted
Human gates. Always. EVC never auto-publishes. Every external action — post, message, CMS push, Slack send — requires your explicit yes and lands in .claude/audit.log. The chains do the work. You make the calls.
05 — The 42 commands

Grouped by what you're trying to do.

Every command is a markdown file in _templates/commands/. You invoke them as /project:name in Claude Code. Here they are, organized by the moment you'd reach for them.

Plan — set direction6 commands
/monday

Start the week. Five-in-one chain: triage, metrics, intel, plan, brief.

/intel-scan

Weekly research: competitors, trends, algorithm changes, industry news.

/performance-review

Pull live X metrics, rank last week's posts, extract winning patterns.

/content-plan

Build the weekly brief: 5-day calendar with themes, audiences, CTAs.

/blog-plan [topic]

Research + outline + visual map for a long-form article.

/deep-research

Multi-source research with cited reports. Parallel subagents for breadth.

Produce — make the work8 commands
/content [day]

Produce one day's post + visual from the weekly brief.

/content-week

Batch produce all 5 days at once. Chains draft → QA → stage.

/blog-draft [slug]

Write a 1,200–2,000 word article as semantic HTML.

/blog-assets [slug]

Build visual templates, export PNGs at 1200×675, stage HTML.

/crosspost

Adapt an approved post for X, LinkedIn, Threads.

/repurpose [slug]

Fan a blog into X thread, X singles, LinkedIn, newsletter, quote cards.

/stage [type] [name]

Universal staging builder. HTML previews for blog, week, or asset.

/dashboards

Master dashboards: command index, canon viewer, design system, weekly report.

Polish — quality & brand8 commands
/content-qa

6-check pipeline + brand voice score (0-50 across tone/clarity/accuracy/alignment/slop).

/content-review

Audit copy against the full brand canon. Flags drift and banned phrases.

/copy-review

Brand voice + legal guardrail check. Lighter than content-qa.

/stop-slop

Detect and remove AI writing patterns: em dashes, "let's dive in," three-clause rhythm.

/blog-qa [slug]

8-check quality pipeline with auto-revision on FAILs.

/site-audit

Scan the live website for copy that conflicts with canon. Returns fix list.

/compliance-check

Jurisdiction-aware content compliance (US/EU/UK + industry rules).

/reference-capture [target]

Screenshot the live site before building something new. Enforced by hook.

Publish — ship it6 commands
/post-today

Publish today's approved content + auto-reply with link. Explicit confirmation required.

/blog-publish [slug]

Push to CMS. Requires staging gate. Auto-calls export-clean first.

/export-clean [file]

Strip internal version drawer from staging HTML for public/CMS use.

/sync-blogs

Sync CMS data back to local components when content was edited outside EVC.

/reply-monitor

Scan mentions, draft canon-aligned replies for each.

/comms-scan

Unified inbox triage across Gmail, X DMs, Linear mentions.

Learn — memory & cadence8 commands
/friday

Close the week. Four-in-one chain: performance, digest, Linear cleanup, memory.

/save-session

Save full session state. Worked/failed/next for continuity.

/resume-session

Load last session. Presents a structured briefing.

/lesson-capture

Record what worked/failed. Feeds future content-plan and blog-plan.

/canon-diff [since]

View the change history of brand/canon-rules.json with optional restore.

/community-harvest

Read Discord/Slack/Telegram, extract questions, output content topics.

/slack-comms

Read, post, summarize Slack channels. Opt-in only.

/content-pipeline

Full Content Engine flow diagram with all steps and gates.

Setup — onboarding & admin6 commands
/start

First-time setup wizard. Walks through config, canon, first weekly cycle.

/setup-canon

Interactive brand rules builder. Interviews you and writes canon-rules.json.

/help

Full command index grouped by use case.

/upgrade

Re-render templates with current config. Safe — your config.env is preserved.

/security-audit

Secret scan, permissions, .gitignore coverage, audit log review.

/blog-pipeline

Full Blog Engine flow diagram with all steps and gates.

06 — The brand brain

One JSON file. Enforced at every step.

EVC's brand brain is brand/canon-rules.json. Banned phrases, required language, USP pillars, defunct references, compliance rules. Every hook reads it. Every command respects it. Every lesson feeds it.

The rulebook

canon-rules.json

Banned phrases, required language, USP pillars, defunct partner names, tone words, compliance jurisdictions. Edit once, enforced everywhere.

The enforcer

canon-guardrail hook

Fires before every outbound content write. Scans for banned phrases and defunct references. Blocks the action if violations exist.

The historian

canon-diff

Every canon edit auto-snapshots to brand/canon-history/. View the change history, flag content drift, roll back if needed.

SOUL — the seven operating principles

Canon rules are enforced by hooks. SOUL principles are enforced by behavior. Claude reads SOUL.md at session start and applies it to every decision.

#PrincipleWhat it means
1Canon is the lawBrand rules override stylistic preferences.
2Copy before designNever build visuals for unapproved copy.
3Stage before shipEvery visual output renders in a browser first.
4Humans approveNo external action without explicit confirmation.
5Sources or silenceEvery claim is traced to canon or flagged unverified.
6Slop is the enemyAI writing patterns are detected and removed on every piece.
7Check before creatingScreenshot live reference before building anything new.

The 12 hooks that enforce it

Quality

canon-guardrail · stop-slop · commit-quality

Block canon violations, AI-pattern slop, and bad commits before they happen.

Memory

session-start · session-end · pre-compact · canon-changelog

Save, load, and preserve context across every session. Never lose a lesson.

Safety

action-audit · block-no-verify · check-reference · cost-tracker · desktop-notify · suggest-compact

Audit every external action, enforce reference screenshots, track spend, warn on long sessions.

07 — Staging & memory

See it before you ship it. Learn from it after.

Every visual output gets a browser preview before publish. Every session's learnings persist to the next. Two systems, one outcome: you never ship cold, and you never start cold.

Staging

See it before you ship it

staging/blog/ — blog previews with inline images

staging/social/w[NN].html — 5 posts in one grid view

staging/assets/ — single-asset previews with specs

staging/dashboards/ — command index, canon viewer, weekly report

All share one stylesheet. Your brand color flows through every preview. Built-in version drawer tracks every revision — stripped automatically on publish via /export-clean.

Memory

Every session gets smarter

lessons.md — QA failures become rules. Ships with 14 pre-loaded.

learning-log.md — performance winners. Best times, top formats, engagement patterns.

session-data/ — full session briefs. What worked, what failed, what's next. Auto-saved.

QA → lesson is automatic. Performance → plan is automatic. Memory compact on PreCompact hook is automatic. No manual curation — the system remembers what you'd forget.

The loop is closed. Monday's /content-plan reads last Friday's learning-log.md. Tuesday's /content-qa writes to the same lessons file Monday read. Every week you run, next week's planning gets sharper.
08 — Quick start

Three commands. Five variables. You're live.

# 1. Clone
git clone https://github.com/<owner>/evc.git
cd evc

# 2. Run setup — it will ask you to pick a starter
./setup.sh

# 3. Edit config.env — five variables you actually need:
#    COMPANY_NAME, WEBSITE_URL, SOCIAL_HANDLE_X,
#    BRAND_PRIMARY_COLOR, ANCHOR_STATEMENT
$EDITOR config.env

# 4. Re-run setup to render everything
./setup.sh

# 5. Open Claude Code in this directory and run:
/project:start

Zero to first content plan in about 10 minutes. No API keys required unless you want to wire MCP integrations.

09 — Industry starters

Four pre-tuned configs. Pick one. Tweak later.

Each starter pre-fills config.env, seeds canon-rules.json with industry-specific banned phrases, and sets defaults for posting cadence, tone, and compliance jurisdictions.

Starter 01

Web3 / Crypto

Community-first, Discord integration, crypto disclaimers, jurisdiction-aware compliance (US SEC, EU MiCA).

Starter 02

B2B SaaS

LinkedIn-heavy, case-study focus, product-led storytelling, long-form blog cadence.

Starter 03

E-commerce / D2C

Product launches, seasonal cadence, conversion focus, user-generated content hooks.

Starter 04

Generic

Baseline config. Use when your industry doesn't fit the others — still gives you all 42 commands.

10 — Extending EVC

Add your own commands in 60 seconds.

EVC is designed to be forked and extended. Every command is a markdown file. Every hook is a shell script. There's no framework to learn — if you can write a prompt, you can write an EVC command.

Add a command

New command in 3 steps

1. Create _templates/commands/my-command.md with your prompt

2. Run ./setup.sh

3. Use it in Claude Code: /project:my-command

Add a hook

New hook in 4 steps

1. Write _templates/hooks/my-hook.sh and chmod +x

2. Wire it into setup.sh → .claude/settings.json

3. Run ./setup.sh && ./scripts/validate.sh

4. Watch it fire on the event you chose

EVC is meant to diverge. Fork it, rename it, strip out what you don't need, add what you do. The only thing you lose by forking is the one-command upgrade path — and you can always pull upstream changes selectively.
11 — FAQ

Questions you're probably asking.

Does it work with other LLMs?

Built for Claude Code — hooks, command format, and settings.json are all Claude Code conventions. Porting to OpenCode or another harness is possible but not one-click.

Can I use it for clients?

Yes. Open source under the MIT License. Clone once per client, each with its own config.env and canon-rules.json. Agency operators are a core audience.

How does it post to X, LinkedIn, CMS?

EVC doesn't ship with API keys baked in. If you have a Claude Code MCP server wired for X, Slack, or your CMS, commands route through it automatically. Otherwise, EVC stages content and prompts you to post manually. Either way, nothing auto-sends.

What happens when I run git pull?

Your config.env, brand/canon-rules.json, and content-engine/ workspace are all gitignored. Only _templates/ updates. Re-run ./setup.sh and your customizations re-render on top of the new templates.

How does it learn from my performance?

/performance-review pulls your X metrics, ranks posts, and writes winning patterns to learning-log.md. /content-plan reads that file before building next week's brief. The loop is automatic.

What if I don't have a CMS?

Blog engine works without one — it produces staging HTML and exports. /blog-publish is optional and points at your CMS via CMS_* variables.

Do I need to know how to code?

Not really. If you can run git clone and edit a config file, you're in. Every command is a markdown prompt — if you can write a sentence, you can write a new one. The terminal is the interface.

What's it not good at?

Paid ads, influencer outreach at scale, live campaign management, and anything requiring real-time API orchestration beyond what MCP servers support. EVC is a content + brand + comms system, not an ad platform.