Live Workshop · March 23rd, 2026

Build Scalable AI Content Design Systems
with Claude Code

In 2 hours you'll build a living content platform your team uses the next day. Not slides. Not theory. Real tools you keep.

Updated: March 22, 2026

2h
Live session
4
Layers you build
1
URL your team uses
About Yuval

17 years to get here.

1
Graphic designer → UX designer Built digital products for a decade. Obsessed with words that make things work.
2
Founded UX Writing Hub Global community of 100K+ content designers. Trained 1,000+ through the Academy.
3
Started building AI content systems I stopped teaching style guides. I started building systems that enforce them.

This workshop is how I actually work. Every day.

The problem

I gave the same feedback 22 times in one sprint.

"Don't use passive voice." Twenty-two times. One sprint. My own style guide was 40 pages. Nobody had read it.

📄 40-page style guide

Written over 3 weeks. Read by approximately zero people on the team.

🔁 Same feedback, every sprint

"Click here" → "Get started." Every single feature. Every single quarter.

🚧 You're the bottleneck

1 content designer. 4 product teams. Things always slip through.

The shift

From string writer to system builder.

Before
Writing strings. Reviewing copy one-by-one.
40-page guide nobody reads.
Same feedback loop, every sprint.
You're the bottleneck.
Explaining voice & tone from scratch, again.
After
Systems that check copy automatically.
Guidelines that enforce themselves.
Tool your team opens before asking you.
You're a multiplier.
Your standards run without you in the room.
"This approach shifts content design from writing individual strings to designing the rules that govern them." Nathan Beddows, Content & UX Professional
What you build today

A URL your team opens tomorrow.

They paste copy. Get feedback in 5 seconds. Based on your rules. No style guide. No asking you.

💻

Deployed on Vercel

Real URL. Team opens it in any browser. No setup on their side.

🧠

Trained on your brand

Knows your voice rules. Gives feedback in your language.

📈

Gets smarter every session

Every review is logged. Run /learn weekly. System improves automatically.

The Active Voice Framework · Your system for today

Four layers. Built in 2 hours.

4
memory.md
What the system learns from real team usage, grows automatically
Layer 4
3
Web interface
The URL your team opens, no Claude Code needed
Deployed on Vercel
2
Skill pipeline
How Claude thinks, the review logic
skills/tone-checker.md
1
CLAUDE.md
Your voice & tone rules, the brain of the whole system
We start here →
⚠️ Do this BEFORE the workshop

3 accounts you need ready to go.

We're building live tomorrow. If these aren't set up, you'll fall behind in the first 10 minutes.

1. Claude Code

Open your Terminal and run:
npm install -g @anthropic-ai/claude-code
Then type claude to authenticate.

Full setup docs →

🐙

2. GitHub Account

Go to github.com/signup
Free account. Use your work email.
This stores your project — every change tracked.

3. Vercel Account

Go to vercel.com/signup
Click "Continue with GitHub."
Free. This deploys your tool to a live URL.

⏱️ Total setup time: 10-15 minutes. Do it tonight so we can start building immediately tomorrow.
⚠️ Do this BEFORE the workshop

Connect everything. 3 steps, 10 minutes.

Accounts alone aren't enough. You need them talking to each other.

1
Connect Claude Code to your Terminal Open Terminal (Mac) or Command Prompt (Windows). Run:
npm install -g @anthropic-ai/claude-code # then start it: claude
It will ask you to log in. Follow the prompts. When you see "Welcome to Claude Code" — you're done.
2
Connect Claude Code to GitHub Still in your terminal, run:
claude "Create a test project called hello-test, initialize git, and push it to a new GitHub repo."
Claude will ask to authenticate with GitHub. Click the link, authorize, done.
If it pushes successfully — GitHub is connected. You can delete the test repo after.
3
Connect Vercel to GitHub Go to vercel.com/new → "Import Git Repository" → you should see your GitHub repos listed.
If you see them — Vercel is connected. Don't deploy anything yet, we'll do that together.
✅ All 3 green? You're ready for tomorrow. If any step fails, post a screenshot in #cohort-5-march-23 on Slack.
Need help?

Stuck on setup? I'm here.

Don't wait until tomorrow. If anything isn't working, reach out now in our Slack channel and I'll help you get unstuck.

💬 Slack Channel

#cohort-5-march-23
Post your question there. I'll reply within hours.

📧 Email

Reply to the workshop email.
I'd rather spend 5 min now than lose workshop time fixing installs.

You will never type a git command manually. Claude Code types them for you. But you DO need the accounts created before we start.
Setup

Create your project with one command.

Open Claude Code. Type this:

claude "Set up a new project called my-content-system. Create these files: CLAUDE.md, memory.md, skills/tone-checker.md, skills/learn.md. Initialize git and push to a new GitHub repo."
Creates the folder structureAll files, organized and ready
Initializes gitYou never typed git init
Pushes to GitHubRepo live at github.com/you/my-content-system
Setup

Connect Vercel. Get your team's URL.

1
Go to vercel.comLog in with GitHub
2
Add New Project → Import Git RepositorySelect my-content-system
3
Click DeployVercel builds in ~30 seconds
Get your URLyour-content-system.vercel.app. bookmark this now
From now on: every time Claude Code pushes a change → Vercel deploys automatically → URL updates in 30 seconds. You never redeploy manually.
Layer 1 · 15 min

CLAUDE.md: The Brain

The file Claude reads before every command. Your voice & tone doc, but active, not static.

## Brand Voice Friendly and direct. We make complex things simple. We never talk down to users. ## Writing Rules - Active voice: "We saved your file" not "Your file was saved" - CTAs: verb + outcome. "Get started" not "Click here" - Error messages: acknowledge → explain → fix. Never blame the user. ## Memory Before every review, read memory.md. Apply learned patterns alongside the rules above.

That last section is the learning hook. We activate it in Layer 4.

Layer 1

Paste your brand. Even rough notes work.

claude "Open CLAUDE.md. I'm going to paste my brand voice notes. Structure them into clear, testable writing rules."

Have a voice doc?

Paste it in, even a paragraph. Claude Code extracts the rules.

Starting from scratch?

Use the template in the starter kit. 6 example rules, customize in 5 minutes.

The rule you're missing will show up when you test it. That's normal. That's the loop.
Layer 1

Test it. Find what's missing.

claude "Write 3 error messages for a failed file upload."

Something sounds off? That's a CLAUDE.md gap. Fix it in 30 seconds:

claude "Add this rule to CLAUDE.md: Error messages must acknowledge what happened, explain why, and end with one clear action. Never blame the user."
This loop runs forever: test → find gap → add rule → test again. CLAUDE.md is never "done", it's refined by usage.
Layer 2 · 20 min

The Skill File: how Claude thinks.

A markdown file that defines the review process step by step.

# Tone Checker ## Before Every Review 1. Read CLAUDE.md (brand rules) 2. Read memory.md (learned patterns) 3. Check copy against both ## Output VERDICT: PASS / NEEDS REVISION VIOLATIONS: [exact rule broken] → [what to fix] REWRITE: [clean version, only if NEEDS REVISION]
This file is already written in your starter kit. We're customizing it for your brand now.
Layer 2

Why Obsidian? Your system needs a home.

Obsidian is a free note-taking app that stores everything as simple text files on your computer. No accounts, no cloud lock-in. Claude Code reads these files directly — that's what makes it powerful.

📁
It's just a folder of filesCLAUDE.md, memory.md, skills/ — all plain text, all in one place
🔗
Claude Code reads it automaticallyOpen Claude Code in your Obsidian vault → it knows your brand instantly
📝
You can edit without codeOpen any file, type changes, save. That's it. No terminal needed.
Layer 2

Every review gets logged. That's the learning.

Every review is saved as a log file inside your Obsidian vault. After 30 reviews, patterns emerge.

Copy submittedVerdictViolationRewrite
"Click here to get started"FAILPassive CTA"Get started"
"Your file was unable to be saved"FAILPassive + blame"We couldn't save that. Try again."
"Start your free trial"PASS

After 30+ reviews, run /learn. Claude reads the log, extracts patterns, writes new rules to memory.md.

Layer 3 · 20 min

Build the tool your team actually opens.

A web page. A text box. A button. That's all your team sees.

claude "Build index.html: a clean web interface for my tone checker. Text area for copy. Submit button. Results panel: verdict, violations, suggested rewrite. API key stored locally. Logs every review to your Obsidian vault. No frameworks. Works in any browser."

Claude Code writes the full file. You open it in a browser. Test it. If something's wrong, tell Claude in plain English. Done in 30 seconds.

Layer 3

What your team sees. Nothing more.

They don't know Claude is behind it. They don't need to.

✗ Needs Revision
"Your account has been successfully created"
Rule: Active voice. This is passive, user is subject of an action done to them.
→ "Your account is ready. Start exploring."
✓ Pass
"Start your free trial"
Active voice ✓ · Verb + outcome ✓ · Clear and direct ✓
API key stored once in browser. Every review logged to your Obsidian vault. Session history feeds /learn automatically.
Layer 3

Test it with real copy.

Open your index.html. Enter your Claude API key once. Paste something from your own product. something you know has a problem.

"I walked in with a Notion doc nobody reads. I walked out with a tone checker my entire team opened on Monday morning."

Sarah K., Senior Content Designer

Share your result in chat. What did it catch?

Deploy · Last 30 min

Push to deploy. Three words.

Everything you built lives locally. Time to make it live for your team.

claude "Commit everything and push to GitHub."
Claude Code stages all files and writes the commitNo input needed from you
Pushes to GitHubRepo updates
Vercel detects the pushDeploys in ~30 seconds
Your URL is liveTeam opens it right now, no setup needed on their side
Deploy

Every future update takes 30 seconds.

This is the cycle forever. You never redeploy manually again.

1
Tell Claude in plain English
"Add a rule: tooltips must be under 8 words."
2
Claude Code edits the file
Updates CLAUDE.md in seconds
3
"Commit and push"
One command. Claude handles all of git
4
Vercel auto-deploys
URL updates for the whole team. 30 seconds.
Everyone gets it instantly
Live

You have a URL.

Send this to your team right now:

"Before asking me about copy, try this:
your-content-system.vercel.app

Paste the copy. It'll tell you if it works and why."

No training. No onboarding doc. The tool explains itself.

Layer 4 · 10 min

The system that teaches itself.

After a week of team usage, run one command:

claude /learn
1
Reads your review logAll reviews saved in your Obsidian vault since last run
2
Finds patternsWhat gets flagged most? What rewrites were clean?
3
Asks for your confirmation"Ready to update memory.md? yes/no"
"Commit and push"Tool is smarter. For everyone. In 30 seconds.
Layer 4

memory.md after 30 days.

Your team wrote all of this through usage. You didn't write a single line manually.

## Learned Patterns (87 reviews analyzed) - "Click here" flagged 23x → always replace with action verb - Passive voice in error messages: most common violation - Legal copy: team approved passive voice → exempt from rule ## Real Examples From Your Product DO: "Save your work". — approved 14 times DON'T: "Your work has been saved". — flagged 19 times ## Edge Cases Discovered - Onboarding tooltips: max 8 words works best - Empty states: always end with an action, never a question
Layer 4

The compound effect.

W1
Team uses the toolReview log fills up in Obsidian. You do nothing.
W2
Run /learnmemory.md updated. Push. Tool gets smarter.
M1
Tool catches things CLAUDE.md didn't coverEdge cases from real product usage.
M2
System knows your product better than a new hireReal examples from your actual copy, not generic rules.
M6
You've stopped giving the same feedback twiceThe system gives it for you. Consistently. At 11pm on a Friday.
Done

What you built in 2 hours.

LayerWhat you builtWhat it does
CLAUDE.mdVoice & tone rulesClaude knows your brand
Skill fileTone review pipelineReviews run automatically
index.htmlTeam web interfaceURL, no Claude Code needed
Obsidian vaultYour content system homeAll files, logs, and rules in one place
memory.mdLearned patternsGets smarter with usage
GitHub + VercelDeployment pipelinePush once → live for everyone
The bigger picture
Content designers are dividing into two groups.

Those who write strings.
Those who build systems.

The system builders ship 3× faster, cover more teams,
and become harder to replace.

"This approach shifts content design from writing individual strings to designing the rules that govern them."

Nathan Beddows, Content & UX Professional

Your homework

The Monday Test.

One job this week:

Send the URL to one teammate.
Say: "Try this before asking me about copy."

When they use it → it logs the review.
When you run /learn → system gets smarter.
By month two, it knows your product better than your onboarding doc.

What's next

You built the foundation. Here's where it scales.

Everything you learned today applies to these, they're just more layers on the same system.

🤖

Multi-agent pipelines

Writer → Editor → Reviewer in sequence. One command, three passes of review.

🪝

Hook system

Auto-check copy before every PR. No manual step. Standards enforced at the code level.

🔗

Cross-product memory

What the system learns in one product teaches another. One memory.md, many tools.

Next workshop: Building multi-agent content pipelines with Claude Code.

You built it.

Questions?

Ask anything about what you built, what comes next, or how to extend this for your team.

🎥 Recording

In your inbox within 24 hours.

📦 Starter kit

All files yours to keep and modify.

📝 Setup guide

SETUP.md, 6 steps from zero to deployed URL.

💬 Community

Post your URL when you deploy. Let's see what you built.

One last thing

Share what you built on LinkedIn.

Write about your new AI content agent. What it does. How you built it in 2 hours. Tag me — it would mean the world.

# Your post could be as simple as: Today I built an AI content design agent. It checks copy against my brand rules, rewrites what fails, and learns from every review. Built in 2 hours. Deployed as a URL my team uses. Thanks @Yuval Keshtcher 🙌

linkedin.com/in/yuvalkesh