What does it mean to run marketing on Claude Code?
Running marketing on Claude Code is the practice of keeping a marketing function in a folder of written instructions and reusable skills, connected to the tools where the work lives, which an AI agent works through every day. One person reviews the output and decides what ships. The agent carries the production, and the person keeps the judgement.
Anthropic's Claude Code overview describes it as an agentic coding tool that reads your codebase, edits files, runs commands and integrates with your development tools1. It was built for software. For marketing, the codebase is the marketing function: the positioning documents, voice rules, calendars, drafts and the checks that run on them.
I run all of marketing at the AI startup where I work, alone, on this kind of setup. I have spent ten years across most parts of marketing and the last three building agent systems for it. If the idea of an AI marketing agent is new to you, read that definition first. These notes cover how I organise the work and where I still decide, failures included. The job title for this kind of work is marketing engineer.
How is the setup organised?
The setup has four layers. Each lane of work has its own instruction file that reads like a job description. A skills library holds every repeated procedure, versioned in git. Connectors link the agent to the tools marketing already uses. Scheduled tasks start the recurring work, and subagents take research off the main thread.
One instruction file per lane
Claude Code reads files called CLAUDE.md as standing instructions. Anthropic's memory documentation says CLAUDE.md files above the working directory load at launch, while files in subdirectories load when Claude works on files there2. That behaviour suits a marketing department well. The top folder holds the rules every lane shares, such as the voice rules and who signs off what. Each lane folder (content, social, search, outbound, events, reporting) holds its own CLAUDE.md, written as a job description: what the lane owns, which inputs it reads, what finished work looks like, and what needs my approval.
Writing them as job descriptions changed the output more than any prompt trick. A good brief for a person is also a good brief for an agent. The same documentation warns that contradictory instructions can lead Claude to pick one arbitrarily, so I read the lane files against each other every few weeks and delete what has gone stale.
A skills library in git
A skill is a folder with a SKILL.md file inside it. Anthropic's skills documentation says Claude uses a skill when it is relevant, or you can call one directly by name, and that project skills can be committed so a team gets them too3. The description at the top of the file tells Claude when the skill applies.
Anything I do twice by hand becomes a skill. My content engine is packaged as one: one source document in, a month of platform-native drafts out, every line checked against the voice rules. Graphics are HTML artboards rendered to PNG and PDF with Playwright, and the same pipeline turns animation into MP4 with ffmpeg. For search, I maintain geo-seo-claude, an open-source answer engine optimisation toolkit for Claude Code, on my GitHub4, which scores pages for citability and checks AI crawler access. Style guidance pasted into a prompt fades within a few sessions. A versioned skill with explicit rules holds its standard for months, and it survives a handover.
Connectors to the tools marketing lives in
Anthropic's MCP documentation says Claude Code can connect to hundreds of external tools and data sources through the Model Context Protocol5, and it uses Notion as a setup example. My agent connects to Notion, where plans and the team wiki live, to the social scheduler, to the CRM and prospecting tool, and to email. Most connections start read-only. Where an agent can write, it writes drafts.
Scheduled tasks and subagents
Anthropic's scheduled tasks documentation says Claude Code Desktop can start a new session at a time and frequency you choose, for jobs such as morning briefings drawn from your calendar and inbox6. My morning kickoff does that: it sorts the workspace and the inbox into a daily priority board before I open anything. Local tasks only fire while the app is open and the computer is awake, so anything that must run overnight belongs in a cloud routine. For scripts, Anthropic's documentation on running Claude Code programmatically covers the non-interactive mode, started with claude -p7.
Anthropic's subagents documentation says each subagent runs in its own context window with a custom system prompt, specific tool access and independent permissions8. I use them for research and first drafts: several research questions run in parallel, each comes back as a report, and only the reports reach the main thread.
How does a draft get from agent to published?
Agents produce and a person decides. Every draft passes automated checks before I see it, from the voice rules to a source check on every number and claim. Prose then gets a humaniser pass. After that I read it. Nothing sends or publishes without my approval, and outbound hands every reply to a person.
The order matters, because each check catches something the next one cannot:
- Voice audit. Each line is checked against the written voice rules: banned words, punctuation habits, sentence rhythm, the brand's own rules. Drafts that fail are rewritten against the specific lines that failed, which works far better than regenerating from scratch.
- Claim check. A glossary and a claim register define what the company can say in public. A draft that claims something outside the register goes back.
- Evidence audit. A skill checks every link and every statistic, with its attribution, before anything goes live. A number with no primary source loses the number.
- Humaniser pass. I run the open-source Humanizer skill by Siqi Chen over prose. It strips the habits readers now recognise as machine-written.
- My read. I read the final version in full, and I am the one who presses publish.
Outbound follows the same principle. The outbound agent researches accounts and drafts touches in a soft, invitational voice, and any reply hands the thread to a human. That takeover rule is the human in the loop in its plainest form.
Claude Code's permission settings can enforce the rule as well. Anthropic's permissions documentation says rules are evaluated deny first, then ask, then allow, and a matching ask rule prompts even when an allow rule also matches9. In my setup the rule lives in the workflow: drafts land in a review queue, and nothing reaches a customer, a channel or a send button until I have approved it in writing. Approvals also moved out of live messages and into written review points, so work keeps moving when I am in a meeting or at an event.
Which work do the agents do, and which do I keep?
The agents do the production: research, first drafts, rendering, checks and the recurring reports. I keep positioning, the claims the company makes, taste, the final read on anything public, and every relationship with a real person. The split below is how it runs today, lane by lane, and it moves as the checks improve.
| Lane | What the agents do | What I keep |
|---|---|---|
| Positioning and claims | Collect competitor pages and flag claims that lack proof | The positioning and every new claim |
| Content | Plan a month from one source document, draft platform-native posts, run the voice audit | Choosing the source and the final read |
| Design | Build cards and carousels as HTML and render them to image, PDF or video | The layout call and the rejections |
| AI search | Audit crawler access and structured data, then generate the fixes | Which buyer questions we want to answer, and what we say in the answer |
| Outbound | Enrich and research accounts, draft first touches | Who we contact and every reply |
| Executive voices | Draft LinkedIn posts in each leader's codified voice, with sourced statistics | The leader's opinion and their sign-off |
| Events | Produce collateral through the render pipeline, prepare checklists | Negotiation with organisers, the conversations at the stand |
| Reporting and operations | Build the morning priority board and the weekly summary | Deciding what to stop |
The right-hand column is the job. My week moved from writing to deciding, and deciding is the part that never needed automating. If you are a marketer working out where your own line falls, the guide to AI for marketers covers the same split from the other side.
What broke, and what did I change?
Most failures came from my side of the desk. I built faster than I shipped. Drafts queued behind my own approval. I rebuilt systems that needed a frozen spec. Voices drifted over weeks, and some statistics would not trace back to a primary source. Each failure changed the setup, and the fixes are now part of the system.
Building more than shipping
Claude Code makes building cheap, and building is more fun than publishing. For a stretch I had more systems than published work. The fix was a rule I now hold myself to: a system counts once it has shipped something real, and a new build waits until the current lane has run a full cycle.
Drafts piling up behind the publish step
Once the agents drafted faster than I could judge, the bottleneck was me. Approved work sat behind unread work. Approved pieces now go into a reserve that can wait for a slot, and I review new drafts in batches at set times instead of as they arrive.
Rebuilding instead of freezing a spec
Every good idea tempted me into a new version of something that worked. My design system went through several rebuilds this way. Now each system has a written spec with a version number. Ideas go onto a list for the next version, and the current version stays frozen long enough to ship with.
Voice drift
Over long sessions, phrasing slides back toward model defaults, and separate executive voices start to blur into one. Codified rules checked line by line brought it back, helped by examples of good and bad lines inside each voice skill. I also learned that instruction files guide the model without binding it. Anthropic's memory documentation says Claude treats CLAUDE.md as context, and points to a PreToolUse hook to block an action regardless of what Claude decides2. Anthropic's hooks guide describes hooks as shell commands that run at set points, giving deterministic control10. Rules that must hold every time now live in checks that run on their own: this site's build, for example, refuses any file that contains an em dash.
Statistics that could not be traced
Models return plausible numbers, and the web repeats them until they look settled. Several figures I wanted to use could not be found at the publisher's own page. The rule now: every number names its source in the sentence, links to the primary source and gives the year. If I cannot verify it, the sentence goes out without a number.
How do you start if you are one marketer?
Start with the writing, then add machinery one lane at a time. Write the brief every agent will read, then turn the job you repeat most into one lane with its own instruction file and skill. Add a connector and a schedule only after that lane runs cleanly by hand.
- Write the brief. Positioning, audience, voice rules, banned claims and a few examples of good work, in one file. Every agent reads it first.
- Pick one lane. Choose the job that costs you the most hours each week. Give it a folder and a CLAUDE.md written as a job description.
- Turn the second repeat into a skill. The first time you do a task, do it with the agent. The second time, write the procedure into a SKILL.md and commit it to git.
- Add one check before anything ships. A voice audit or a source check is enough to begin. You still read everything.
- Connect one tool, read-only. Let the agent read the planning workspace or the CRM before it writes to anything.
- Schedule it once it runs cleanly. A recurring brief is the easiest first schedule.
- Freeze the spec and run a month. Ship with the lane before you build the next one.
For the order in which to add lanes, the guide to AI agents for marketing suggests starting with the gap that costs most, usually search or outbound. Search now includes answer engine optimisation, so assistants such as ChatGPT can describe the business correctly.
Where Flow AI fits
Flow AI is an AI marketing transformation practice: the strategy, the systems and the agents that run a marketing function, engineered end to end. I build these systems in the open. The Flow AI skill library lists 126 skills you can inspect before running them: 16 I built, and the rest credited to their authors.
Teams can contract a build, which starts with a written scope. If you are hiring for a marketing engineer or AI deployment role, I am open to conversations about senior roles, remote from anywhere.
The short version
A whole marketing function can run on Claude Code when every lane has a written job description, every repeated procedure is a versioned skill, the agent connects to the tools where the work lives, and the recurring jobs run on a schedule. The agents produce, and a person decides what ships and owns every relationship.
Most of what broke for me sat on the human side, in how fast I built and how slowly I approved. Written rules and checks that cannot be skipped fixed more than any model change. If you are building something like this, or hiring someone to, talk to Amber.
Questions owners ask
Do you need to code to run marketing on Claude Code?
You need less code than people expect and more comfort with files than most marketers have. Most of the setup is plain text: instruction files and skill files written in ordinary English. Code matters once you want rendering pipelines or build checks. Claude Code writes much of that code with you, but you still need to read it well enough to know when it is wrong.
What does Claude Code do that a chat assistant does not?
A chat assistant answers inside a conversation and forgets your working files when the chat ends. Claude Code works in a folder on your machine: it reads instruction files at the start of each session, edits files, runs commands, loads skills when a task matches them, and connects to other tools through MCP. For marketing, that means the brief and the drafts live in one place the agent can act on.
How do you stop AI content sounding like AI?
Write the voice down as rules a machine can check, then check every line against them before a person reads it. My rules ban specific words and sentence patterns, and drafts that fail are rewritten against the lines that failed. A humaniser pass follows. The last step is a human read, because some tells only show up when you hear the sentence in your head.
Is it safe to connect agents to company tools?
It can be, with narrow access and approval rules. Anthropic's MCP documentation tells users to verify they trust each server before connecting it and warns that servers fetching external content carry prompt injection risk. Start with read access, keep anything that sends or publishes behind a permission prompt, use accounts the company owns, and treat text the agent reads from the web or an inbox as data, never as instructions.
Can a marketing team share one skills library?
Yes. Claude Code loads project skills from a folder inside the repository, and Anthropic's documentation suggests committing that folder so teammates get the same skills. A shared library in git gives a team one version of the voice rules and procedures, with a history of every change. Agree who can change a skill, and review edits the way you would review copy.
How long does it take to set up?
A first useful lane takes days, and the full function takes months. My setup grew one lane at a time: a written brief, then one repeated job turned into a skill, then a connector, then a schedule. The slow part is the writing, because each lane needs a clear description of what good output looks like before any agent can produce it.
Sources
Every figure links to its primary source. Checked 8 October 2026.
- Anthropic's Claude Code overview describes it as an agentic coding tool that reads your codebase, edits files, runs commands and integrates with your development tools code.claude.com
- Anthropic's memory documentation says CLAUDE.md files above the working directory load at launch, while files in subdirectories load when Claude works on files there code.claude.com
- Anthropic's skills documentation says Claude uses a skill when it is relevant, or you can call one directly by name, and that project skills can be committed so a team gets them too code.claude.com
- geo-seo-claude, an open-source answer engine optimisation toolkit for Claude Code, on my GitHub github.com
- Anthropic's MCP documentation says Claude Code can connect to hundreds of external tools and data sources through the Model Context Protocol code.claude.com
- Anthropic's scheduled tasks documentation says Claude Code Desktop can start a new session at a time and frequency you choose, for jobs such as morning briefings drawn from your calendar and inbox code.claude.com
- Anthropic's documentation on running Claude Code programmatically covers the non-interactive mode, started with claude -p code.claude.com
- Anthropic's subagents documentation says each subagent runs in its own context window with a custom system prompt, specific tool access and independent permissions code.claude.com
- Anthropic's permissions documentation says rules are evaluated deny first, then ask, then allow, and a matching ask rule prompts even when an allow rule also matches code.claude.com
- Anthropic's hooks guide describes hooks as shell commands that run at set points, giving deterministic control code.claude.com