Marketing Agent Workspace
Stack & Scale AI for Marketers
Build my workspace
Module 0 · Workspace setup

Set up the workspace once. Stop re-explaining your company.

An AI agent reads your folders the way a new hire reads the shared drive on day one. This guide sets up a workspace in Cowork, Claude Code, or Codex so the agent knows your company, your buyer, your voice, and your rules before it drafts a word.

01/ 14

What the agent sees

The agent starts each session knowing only what's in your files, plus a short Project memory if you use Cowork. It looks at those files and works out what to do from what it sees.

A folder with your ICP, your positioning, three posts you're proud of, and a list of words you never use produces drafts that sound like your company. A folder called Downloads produces drafts that sound like everyone else's.

So spend your setup time on the workspace. A better prompt helps one session. The folder gets read at the start of every session after it.

How the pieces fitThe agent reads four things: AGENTS.md for your rules, context/ for what it knows about you, skills for how to do one job, and connectors for live data, read-only. It writes drafts to output/. You check each draft and you ship it. Sending, posting and publishing are blocked by your rules. IT READS AGENTS.mdyour rules context/what it knows about you skillshow to do one job connectorslive data, read-only The agentknows onlyyour files IT WRITES output/drafts it saves writes Youcheck it,then ship it never, per your rules Send, post, publish How the pieces fitThe agent reads four things: AGENTS.md for your rules, context/ for what it knows about you, skills for how to do one job, and connectors for live data, read-only. It writes drafts to output/. You check each draft and you ship it. Sending, posting and publishing are blocked by your rules. IT READS AGENTS.mdyour rules context/what it knows skillshow to do one job connectorslive data, read-only reads all four The agentknows only your files writes output/drafts it saves never Send, post,publish Youcheck it, then ship it
The agent starts every session from files. It reads your rules, your context, the one skill that matches the job, and any connector you allowed. It saves what it makes to output/. Nothing leaves the workspace until you check it and ship it yourself.
02/ 14

The five-layer stack

Each layer depends on the one below it. Layers 1 and 2 do most of the work on draft quality. Layers 3 to 5 are where you stop re-explaining and re-checking.

Layer 5

Quality check

A second pass that reads every draft against your voice rules and checks every number before it ships.

Layer 4

Connectors

Read access to your CRM, docs, and call notes, so the agent works from real accounts instead of guesses.

Layer 3

Skills

Saved playbooks for work you repeat: a LinkedIn post, a campaign brief, a competitor snapshot.

Layer 2

The rules file

AGENTS.md. What this workspace is, where things go, how you like work done, what never happens.

Layer 1 · Foundation

Folders + git

A place for everything, named so the agent can find it, with a history you can roll back.

Start at layer 1 and build up.

03/ 14

Pick your track

Use the toggle at the top to filter the whole guide. You can switch any time, and the folder structure is the same on both.

Pick your trackPick by whether you work in a terminal. If you don't, take Track A, which is Cowork in the Claude desktop app on Mac and Windows, working in one folder you authorize, with GitHub Desktop buttons for history. If you do, take Track B, which is Claude Code or Codex in a terminal, with git typed directly and rules and skills in the repo. Both tracks use the same folder structure. Do you work in a terminal? No Yes TRACK ACoworkClaude desktop app, Mac and WindowsWorks inside one folder you authorizeGitHub Desktop buttons for history TRACK BClaude Code or CodexRuns in a terminalYou use git directlyRules and skills live in the repo Same folder structure on both Pick your trackPick by whether you work in a terminal. If you don't, take Track A, which is Cowork in the Claude desktop app on Mac and Windows, working in one folder you authorize, with GitHub Desktop buttons for history. If you do, take Track B, which is Claude Code or Codex in a terminal, with git typed directly and rules and skills in the repo. Both tracks use the same folder structure. Do you work in a terminal? No Yes TRACK ACoworkDesktop app,Mac and WindowsOne folder youauthorizeGitHub Desktopbuttons for history TRACK BClaude Codeor CodexRuns in a terminalgit, typed directlyRules and skillslive in the repo Same folder structure
Pick the track that fits how you like to work. The folder you build is the same either way, so you can switch later without starting over.
Track A · No terminal

Start in Cowork

Cowork runs in the Claude desktop app on Mac and Windows (Linux is in beta), and on web and mobile. It needs a paid Claude plan, so it won't appear on the free plan. On your computer it works inside one folder you authorize, and each Project keeps its own memory. GitHub Desktop gives you version history with buttons, no commands.

Track B · Power user

Claude Code and Codex

You work in a terminal, use git directly, and keep the rules file and skills in the repo. More setup on day one. More control and easier sharing after that.

Most students mix them: Cowork for daily drafting and research, a terminal tool for anything that touches data, automation, or a shared repo.

04/ 14

The starter folder structure

This tree is built for marketing work. context/ matters most. It holds everything the agent reads before it drafts for you.

folder tree
my-marketing-workspace/
├── AGENTS.md          # the rules (every tool reads this)
├── CLAUDE.md          # one line: @AGENTS.md
├── README.md          # what this workspace is, in one paragraph
├── .gitignore         # what git never tracks: secrets, exports
│
├── context/           # read this before drafting anything
│   ├── company.md     # product, ICP, positioning, proof points
│   ├── personas/      # one file per buyer
│   ├── voice/         # voice guide, banned words, 5 best examples
│   └── brand/         # colors, fonts, logo rules
├── inbox/             # raw material lands here first
├── campaigns/         # one folder per campaign or project
│   └── 2026-q4-webinar/
│       ├── README.md  # goal, audience, owner, status
│       ├── inputs/
│       └── drafts/
├── output/            # shipped work: content, emails, decks
├── reference/         # research and source material you reuse
├── templates/         # starting points that aren't skills yet
├── archive/           # finished campaigns
└── .agents/skills/    # your saved playbooks (Part 6)

Why it's shaped this way

  • context/ is the part that changes the output. Your ICP, voice, and positioning live in one place, so every draft starts from them.
  • inbox/ keeps the top level clean. New files land there until they have a home.
  • campaigns/ holds work in motion. Each one gets a short README with goal, owner, and status, so you and the agent can see where it stands.
  • output/ keeps what the agent made apart from what it read. That one split ends most of the "where did it save that" hunting.
What the agent reads and where it savesThe agent reads AGENTS.md, context/, reference/, templates/ and campaigns/<name>/inputs/ before it drafts. It saves what it makes to output/ and campaigns/<name>/drafts/. You keep two folders tidy yourself. New files wait in inbox/ until you give them a home, and finished campaigns go to archive/, which is never deleted. IT READS BEFORE DRAFTING AGENTS.mdthe rules context/company, personas, voice, brand reference/research you reuse templates/starting points campaigns/<name>/inputs/material for one campaign IT SAVES WHAT IT MAKES output/content, emails, decks campaigns/<name>/drafts/work in motion YOURS TO KEEP TIDY inbox/new files wait here for a home YOU SORT IT archive/finished campaigns NEVER DELETED The agent reads writes What the agent reads and where it savesThe agent reads AGENTS.md, context/, reference/, templates/ and campaigns/<name>/inputs/ before it drafts. It saves what it makes to output/ and campaigns/<name>/drafts/. You keep two folders tidy yourself. New files wait in inbox/ until you give them a home, and finished campaigns go to archive/, which is never deleted. IT READS BEFORE DRAFTING AGENTS.mdthe rules context/company, personas, voice, brand reference/research you reuse templates/starting points campaigns/<name>/inputs/material for one campaign reads The agent writes IT SAVES WHAT IT MAKES output/content, emails, decks campaigns/<name>/drafts/work in motion YOURS TO KEEP TIDY inbox/new files wait here for a home YOU SORT IT archive/finished campaigns NEVER DELETED
The agent reads the first group before it drafts and saves what it makes to the second, so you always know where to look. inbox/ and archive/ are yours. Empty inbox/ weekly, and never let the agent delete anything from archive/.

Naming that scales

  • Lower-case and hyphenated: q4-pipeline-review, not Q4 Pipeline Review (final)(2).
  • Dates first, as YYYY-MM-DD, so they sort: 2026-10-31-board-update.md.
  • A prefix when it helps grouping: webinar-, abm-, acme-.
Track A · No terminal

Make an empty folder in Documents and give it your workspace name. In the Claude desktop app, click Projects in the left sidebar, click +, choose Use an existing folder, pick that folder, and click Create. That folder is everything the agent can see. Don't build the subfolders by hand, since Finder won't create names that start with a dot. Copy the prompt from the workspace builder and paste it into the Project. It makes every folder and file for you.

Track B · Power user

Create the folder, cd into it, run git init, and add the .gitignore from the starter kit before anything else.

05/ 14

The rules file

This file tells the agent who you are, where files go, and what it must never do. Each tool looks for a different file name, so write the rules once in AGENTS.md and point everything else at it.

ToolWhat it readsWhere
CodexAGENTS.mdEvery folder from the repo root down to the folder you start Codex in, merged, plus your personal ~/.codex/AGENTS.md
Claude CodeCLAUDE.mdRepo root and subfolders, plus your personal ~/.claude/CLAUDE.md. A one-line @AGENTS.md pulls in the shared rules.
CoworkProject instructions and memoryInside the Project, in the app. Paste your AGENTS.md in, and paste it again each time you edit the file.
Updated for October 2026

Older guides say to write CLAUDE.md and point AGENTS.md at it. Flip that. Codex has no import syntax, but Claude Code can import a file. Put the rules in AGENTS.md and make CLAUDE.md one line: @AGENTS.md. Recent Claude Code releases also fall back to AGENTS.md when no CLAUDE.md exists, but the import works on every version.

One rules file reaches every toolYou write the rules once in AGENTS.md. Codex reads AGENTS.md directly. Claude Code reads CLAUDE.md, whose one line, @AGENTS.md, imports the same file. Cowork reads its Project instructions, which hold a copy of AGENTS.md that you paste in, so you paste it again after every edit. AGENTS.mdyour rules,written once reads it directly imported CLAUDE.mdone line: @AGENTS.md reads you paste a copy Project instructionsre-paste after edits reads Codex Claude Code Cowork One rules file reaches every toolYou write the rules once in AGENTS.md. Codex reads AGENTS.md directly. Claude Code reads CLAUDE.md, whose one line, @AGENTS.md, imports the same file. Cowork reads its Project instructions, which hold a copy of AGENTS.md that you paste in, so you paste it again after every edit. AGENTS.mdyour rules, written once reads it directly Codex imported CLAUDE.md@AGENTS.md Claude Code you paste a copy Project instructionsre-paste after edits Cowork
Codex and Claude Code read the file itself, so an edit to AGENTS.md reaches both in the next session. Cowork reads a copy, the dashed line, so it only sees the change after you paste the new version into the Project instructions.

What goes in it

  • What this workspace is. One paragraph: your company, your role, what you use it for.
  • Read before drafting. Point at context/company.md, your personas, and your voice guide.
  • Where things go. A table mapping kinds of work to folders. The agent checks it every time it saves a file.
  • How you like things done. "Show me a plan before writing files." "Date every file." "Lead with the hook."
  • What never happens. "Never send, post, or publish anything." "Never update the CRM without asking." "Never invent a statistic."

Keep it under about 200 lines and link out to detail. Past 200 lines, agents start skipping rules and you stop updating the file.

Two habits that make it better every week

  • Keep the file short and specific. A study by Gloaguen and colleagues at ETH Zurich (ICLR 2026 workshop) tested context files on coding agents. Whether an AI model or a developer wrote them, the files didn't raise success rates on average and raised costs by over 20%. Agents did follow the instructions, but general overviews didn't help. So list the rules that change the work and skip the background. Let the agent draft a first version if you want, then cut everything that isn't true and specific.
  • When the agent gets something wrong, add a rule so it doesn't happen again.
06/ 14New in this update

Skills: your saved playbooks

The rules file says how you work in general. A skill says how to do one job. It's a folder with a SKILL.md file: a name, a one-line description of when to use it, and the steps. Claude Code, Cowork, and Codex all support them.

The agent reads only the description until a request matches it, then loads the full playbook. So the description is the trigger. Write it in the words you type: "Use when I ask for a LinkedIn post or say 'turn this into a post.'"

How a skill gets triggeredYou type "turn this into a post". The agent has loaded only the description of each skill. The linkedin-post description matches, and campaign-brief and meeting-followup don't. The agent then loads the full linkedin-post playbook and runs its steps: read your voice files, ask for the point, write three hook options, write the post, check banned words, save the draft, never post it. The draft is saved to output/content/YYYY-MM-DD-linkedin-<topic>.md. YOU TYPE"turn this intoa post" DESCRIPTIONS ONLY linkedin-postmatches "into a post" campaign-briefno match meeting-followupno match FULL PLAYBOOK LOADS 1 Read your voice files 2 Ask for the point 3 Three hook options 4 Write the post 5 Check banned words 6 Save the draft 7 Never post it SAVEDoutput/content/YYYY-MM-DD-linkedin-<topic>.md How a skill gets triggeredYou type "turn this into a post". The agent has loaded only the description of each skill. The linkedin-post description matches, and campaign-brief and meeting-followup don't. The agent then loads the full linkedin-post playbook and runs its steps: read your voice files, ask for the point, write three hook options, write the post, check banned words, save the draft, never post it. The draft is saved to output/content/YYYY-MM-DD-linkedin-<topic>.md. YOU TYPE"turn this into a post" DESCRIPTIONS ONLY meeting-followup no match campaign-brief no match linkedin-post matches "into a post" FULL PLAYBOOK LOADS 1 Read your voice files 2 Ask for the point 3 Three hook options 4 Write the post 5 Check banned words 6 Save the draft 7 Never post it SAVEDoutput/content/YYYY-MM-DD-linkedin-<topic>.md
Until you ask, the agent only knows each skill's one-line description, and your request is matched against it. That's why you write the description in the words you type. On a match it loads the full SKILL.md, follows the steps, and saves a dated draft.
ToolWhere skills live
Claude Code.claude/skills/ in the repo, or ~/.claude/skills/ for every project
Codex.agents/skills/ in the repo, or ~/.agents/skills/ for every project
CoworkYou upload skills in the app. Cowork doesn't read them from your folder. Compress the skill's folder into a ZIP file (on a Mac, right-click it in Finder and choose Compress). Then go to Customize, then Skills, click +, choose Create skill, then Upload a skill, and pick the ZIP. Cowork's Skill Creator can also interview you and write one, and plugins add skills in bundles.
Track B · Claude Code

The starter tree keeps skills in .agents/skills/, which Codex reads. Claude Code only reads .claude/skills/. From inside your workspace folder, link the two once: mkdir -p .claude && ln -s ../.agents/skills .claude/skills. The builder's setup script does this for you when you pick both tools. Then open each tool and confirm it lists the skill. Never assume a skill loaded. Both tools skip a broken one without telling you. Teammates on Windows need Developer Mode on and git config --global core.symlinks true before they clone, or Claude Code sees no skills.

Good first skills for marketers

linkedin-post

Reads your voice guide and banned words, drafts three hooks, writes the post, checks it against your rules.

campaign-brief

Turns a one-line idea into goal, audience, offer, channels, budget, success metric, and kill criteria.

competitor-snapshot

Researches one competitor's site, pricing, and recent launches, and saves a dated one-pager to reference/.

meeting-followup

Turns a call transcript into decisions, owners, and a follow-up email draft. It never sends the email.

When to make one: the third time you explain the same job to the agent, turn the explanation into a skill.

07/ 14New in this update

Connectors: let it read your stack

Connectors (built on MCP, the Model Context Protocol) give the agent access to tools outside the folder: your CRM, docs, call notes, analytics. They're the difference between "write an ABM email to a target account" and "write an ABM email to the five accounts that visited pricing this week."

Start withExamplesFirst real test
CRMHubSpot, Salesforce"List the last five closed-won deals and their source."
DocsNotion, Google Drive"Open our messaging doc and quote the positioning statement."
Call notesGranola, Gong"What objections came up in last week's discovery calls?"
AnalyticsGA4, your warehouse"Top 10 pages by sessions last month."

Three rules

  • Start every connector read-only. Add write access (sending email, updating records) only after weeks of watching it work, and keep "ask before any write" in your rules file.
  • Don't trust the green dot. "Connected" only means the tool can reach the server. Run the first real test above and check the answer against the source.
  • Connect only what you use weekly, since each one adds tools the agent has to choose between.
Track A · Cowork

Add connectors from the Customize menu in the Claude app, then pick which ones a task can use from the "+" menu in the chat.

Track B · Terminal

Claude Code: connect a tool once at claude.ai/customize/connectors and Claude Code picks it up, or add it with claude mcp add. Google Drive works only the claude.ai way. Check with /mcp. Codex: install the vendor's plugin with codex plugin add <name>@openai-curated, or add the server under [mcp_servers] in ~/.codex/config.toml. The builder's connector recipes say which path each tool needs. Keep API keys in environment variables, never in the repo.

08/ 14

GitHub and teams

GitHub keeps every version of your workspace and lets a teammate work in it with you. You'll use a small slice of it: commit, push, and a private repo.

Track A · Buttons
  1. Install GitHub Desktop.
  2. Sign in. Choose File, then Add Local Repository, and pick your workspace folder. If it says the folder isn't a Git repository yet, click create a repository, then Create Repository.
  3. Click Publish repository. Leave Keep this code private checked. You only do this once.
  4. After each chunk of work, type a short note ("add Q4 webinar brief"), click Commit, then Push origin.
Track B · Terminal

First time on this computer? Install the GitHub CLI from cli.github.com, then run gh auth login and sign in. If git has never been set up here, also run git config --global user.name "Your Name" and git config --global user.email "you@company.com". Change my-marketing-workspace to your folder's name. If the builder's setup script made your workspace, skip git init and the commit, because the script already did both.

terminal
cd my-marketing-workspace
git init
git add .
git commit -m "Set up workspace structure"
gh repo create my-marketing-workspace --private \
  --source=. --push

Commit habits

  • Small and often. One change per commit.
  • Start with a verb: "add," "fix," "rewrite." Keep the first line under about 50 characters.
  • Make repos private by default. Your context/ folder is your positioning.

Working with a team

Solo, you can skip branches. Once two people edit the same workspace, use them: each person works on a branch, opens a pull request, and a teammate approves before it merges. On GitHub's free plan a private repo can't require that approval, so it stays a team habit. GitHub Pro or Team can enforce it with a branch protection rule on main. Give each folder one owner, and treat a change to AGENTS.md like a policy change, since it changes how every teammate's agent behaves.

09/ 14New in this update

The quality check

Agents write fluent text fast. Generic phrasing and made-up numbers read as smoothly as the good parts, so you can't catch them by skimming. Before anything ships, run three checks.

  1. Check the draft against context/voice/: banned words, sentence patterns you never use, how your best examples open.
  2. Find a source you can open for every number, customer name, and claim. If the agent can't point to one, cut it.
  3. Review in a fresh session. A session grading its own draft goes easy on it.
reviewer prompt · paste into a new session
You are reviewing a draft you did not write. Read AGENTS.md and
everything in context/voice/ first.

Then review the draft below and return:
1. Every sentence that breaks a voice rule, with the rule it breaks
2. Every number, name, or claim, and whether a source exists in
   this workspace (cite the file) or not
3. The three weakest lines, and a rewrite for each
4. A verdict: SHIP, REVISE, or REWRITE

Do not rewrite the whole draft. Do not soften the verdict.

DRAFT:
<paste here>

Save that prompt as a skill once you've used it three times. If the draft is already a file and you have the draft-review skill, use Fresh-session draft review from the prompt library instead.

10/ 14New in this update

Safety

  • Keep API keys and passwords out of the workspace. Put them in environment variables or a password manager. The .gitignore blocks the common ones.
  • Don't drop full CRM exports with emails and phone numbers into the folder. Pull what a task needs through a connector, or strip personal details first.
  • Keep your tool on the setting that asks before deleting files, sending, or writing to another system. Cowork asks before high-risk actions. In Claude Code, don't use --dangerously-skip-permissions or bypass permissions mode. In Codex, don't use --dangerously-bypass-approvals-and-sandbox. Keep the approvals on until you trust a workflow.
  • A web page, PDF, or inbound email the agent reads can contain hidden text telling it what to do. Treat anything it reads as material to quote, never as instructions to follow, and never let an agent with send access process untrusted content unsupervised.
11/ 14

Per-tool quickstart

Claude Code has the most options of the three. It runs in a terminal, in VS Code and JetBrains, in a desktop app, and on the web. Best for anything touching data, scripts, or a shared repo.

  • Run claude inside your workspace. It reads CLAUDE.md, and through it AGENTS.md, at the start of every session.
  • Skip /init if you used the builder or the starter kit. It writes its draft into CLAUDE.md, and your rules belong in AGENTS.md. If you run it anyway, copy what you keep into AGENTS.md and put CLAUDE.md back to one line: @AGENTS.md.
  • Add a CLAUDE.md inside a subfolder for rules that only matter there, like campaigns/CLAUDE.md.
  • Skills go in .claude/skills/. Connectors go in with claude mcp add. Check both are live with /skills and /mcp.
  • Ask for a plan before big changes. Plan mode shows you the steps before it touches a file.
12/ 14

Keeping it healthy

Workspaces decay because files pile up faster than anyone sorts them. If it won't exist next session, write it down now. A decision, a preference, a mistake you corrected in chat. If it only lives in a chat window, the agent loses it.

Weekly habits

  • Empty inbox/ into real homes.
  • Name files when you create them.
  • Turn every agent mistake into a line in AGENTS.md.
  • File finished campaigns in archive/.

Signs it's slipping

  • Loose files at the top level.
  • You can't find something the agent made last week.
  • The agent repeats a mistake you corrected twice.
  • A skill that never triggers, or a connector that's "connected" but returns nothing.
  • AGENTS.md has grown past 200 lines.
Once a quarter

Ask the agent to audit itself: "Read my folder tree, AGENTS.md, and my skills. Tell me what's misfiled, which rules contradict each other, which skills overlap, and what I keep telling you in chat that isn't written down."

That audit checks rules and skills. For files that sit in the wrong folder or have gone stale, use Audit the workspace for stale files from the prompt library.

13/ 14

Copy-paste starter kit

Copy each file into your workspace and fill in the blanks. Or use the workspace builder to get these filled in for your role.

AGENTS.md
# AGENTS.md
# The rules for this workspace. Codex reads this file directly.
# Claude Code reads it through CLAUDE.md. Paste it into your Cowork
# Project instructions. Keep it under ~200 lines. Edit by hand.

## What this workspace is
<One paragraph: company, your role, what you use this for.>

## Read before drafting anything
- context/company.md: product, ICP, positioning, proof points
- context/personas/: who we sell to
- context/voice/: how we sound and words we never use

## Where things go
| Type of thing               | Goes in          |
|-----------------------------|------------------|
| New, unsorted material      | inbox/           |
| Campaigns and projects      | campaigns/<name>/ |
| Shipped work                | output/          |
| Research and sources        | reference/       |
| Starting points             | templates/       |
| Finished campaigns          | archive/         |

## How I like things done
- Show me a short plan before creating or changing files.
- Date files as YYYY-MM-DD at the front of the name.
- <add your own>

## Never
- Never send, post, publish, or schedule anything. Draft only.
- Never write to the CRM or any connected tool without asking.
- Never invent a statistic, quote, or customer name. Cite a source file.
- Never store secrets or raw customer data in this folder.
- Never delete anything in archive/.

## Before anything ships
Check it against context/voice/, confirm every number has a source,
and have a fresh session review it.
14/ 14New in this update

Prompt library

Copy any of these into a session started from your workspace folder. They work the same in Cowork, Claude Code and Codex. Text in <ANGLE BRACKETS> is yours to fill in. Start with the three prompts in START-HERE.md. These come after.

Show prompts for

✓Your setup

Setup checklist

Check items off as you go. Progress saves in this browser and follows the track you picked at the top.

0 of 0
Start here

Start with two files

Write context/company.md and drop three of your best posts into context/voice/. Those two change the output more than anything else on this page. The rest can wait until week two.

Build my workspace