Caelan's Domain

Part 4 — Agents: Delegating Judgment

Created: April 19, 2026 | Modified: April 19, 2026

Cowork Features
Introduced: Agents | Used: Rules, CLAUDE.md, Memory, Skills

This is Part 4 of a 7-part series on building your AI VP of Marketing with Claude Cowork. Previous: Part 3 — Skills | Next: Part 5 — The Pipeline


The hinge: deterministic helpers vs. delegated judgment

By the end of Part 3 you had built two deterministic helpers. The Content Brief Generator fills out a nine-field template — same structure, same depth, same rows, every run. The Voice Checker loads .claude/rules/brand-voice.md, scores the incoming draft on five dimensions, and returns a line-level critique table. You know, before each run, what shape the output will take. You could sketch it on a whiteboard.

A Skill is deterministic. An Agent is delegated judgment. That is the hinge the rest of this series turns on.

A Skill produces a predictable artifact because you designed the fields, the constraints, and the format up front. You ask for Brief #27 on a new topic and the result slots into the same row of every past brief — only the content changes. If a Skill starts producing output you cannot predict from the prompt alone, the Skill has drifted into judgment territory and needs tightening, not loosening.

An Agent produces a synthesized deliverable because you handed it a goal and the right to make decisions about how to get there. You say "research my competitors and produce a positioning matrix" — you do not specify which competitors, which dimensions to compare, or how to weight the comparison. The Agent decides the research plan, the analytical framework, and the presentation format. You are not getting a filled-in template. You are getting a recommendation.

When you need consistency, build a Skill. When you need discretion, delegate to an Agent.

That rule is not a preference. It is a diagnostic. If you build an Agent for a task that should have been a Skill, you will get inconsistent output from a task that needed a predictable shape. If you build a Skill for a task that should have been an Agent, you will get a rigid template that cannot handle the variability the task actually contains — wrong competitors, generic segments, timelines that do not fit your reality. The tool must match the task.

Part 3 gave you the deterministic helpers. This chapter gives you the first two teammates who decide.


What are Agents?

Until now, your VP has worked in two modes: conversations (Parts 1–2) and Skills (the two you built in Part 3). Both require you to drive. Agents are different. You hand them a goal, and they figure out how to get it done.

When you give your VP a task that requires research, analysis, and synthesis — the kind of work that would take a human team member an afternoon — Cowork spawns subagents to handle it. They break the task into steps, execute each step, and combine the results into a finished deliverable. You tell them what you need. They determine how to get there.

Some marketing tasks are repeatable and structured — content briefs, voice checks, formatted social posts. Those are Skill work. Other tasks require judgment and synthesis — competitive analysis, campaign strategy, market positioning. Those are Agent work. You cannot template your way through a competitive field because the competitors change, the market shifts, and the right framing depends on context you cannot predict in advance.

Your job shifts from driving the work to reviewing it — the same shift that happens when you hire a capable human and stop micromanaging them.

Under the hood — Agents
An Agent is an autonomous worker that runs a task to completion without your turn-by-turn input.

  • What file. Each Agent lives at ./.claude/agents/<agent-name>.md — one markdown file per Agent.
  • When written. You save the agent definition by hand, or via /skill-creator — Cowork writes the file on your approval, never without it.
  • What format. Plain markdown, with optional YAML frontmatter declaring the tools and permissions allowed.
  • How to inspect. Open ./.claude/agents/<agent-name>.md in a text editor, or browse the folder directly.
  • How to undo. Delete or edit the file directly — the next agent run loads what is on disk.

Gotcha. Autonomy cuts both ways. An Agent that misreads its brief will happily spend the run producing exactly the wrong thing. Scope the task tightly, give the Agent a narrow success criterion, and review the output before wiring it downstream.

The Skills/Agents decision in one table

AspectSkillsAgents
ScopeSingle, repeatable taskComplex, multi-step project
InputStructured — fill in the fieldsOpen-ended — state the goal
OutputPredictable format every timeSynthesized analysis and recommendations
AutonomyFollows your templateMakes decisions along the way
SpeedSecondsMinutes
ExampleGenerate a content briefResearch competitors and produce a positioning strategy

The simplest test: if you can draw the output on a whiteboard before the task starts, use a Skill. If you need someone to go figure out what the output should look like, use an Agent.

Skills and Agents complement each other. An Agent running a competitive analysis might use your Brand Voice Checker Skill to ensure the final deliverable matches your tone. An Agent building a campaign strategy might pull from your Content Brief Generator to structure individual content pieces within the campaign. The Skills you built in Part 3 become tools your Agents use — the same way a senior team member uses your company templates without needing to be told they exist.

With Skills, you are the architect. With Agents, you are the executive.


Watch an Agent Work — Competitor Analysis

Before you build your own, watch one run. Competitive analysis is a high-value task most small business owners skip because the research takes hours and the output is hard to structure. It is exactly the kind of task Agents handle well.

Paste this into your Cowork project:

Research my top competitors and produce a positioning matrix.

Using the business context from my briefing document:
1. Identify 3-5 direct competitors in my space
2. For each competitor, analyze: their core offering, target audience,
   key messaging themes, pricing model (if public), and primary
   marketing channels
3. Compare their positioning to ours
4. Produce a structured comparison table with our business in the first column
5. End with 2-3 positioning opportunities -- gaps in competitor messaging
   that we could own

Be thorough. Take your time researching each competitor before synthesizing.

No template. No fields to fill in. A goal and a set of expectations. When you run it, something different happens — unlike the Content Brief Skill, which returned a formatted document in seconds, this takes minutes. You can watch the progress. Your VP identifies competitors, pulls information on each one, analyzes their messaging, compares positioning across the set, builds the matrix. Nobody told it to research Competitor A first, then B, then C. It broke the task into steps on its own.

The positioning matrix is not five separate competitor profiles stapled together. It is a comparative analysis — each dimension shows how competitors relate to each other. Here is what the deliverable might look like for Tideway Bookkeeping:

TidewayQuickCountFreelanceBooksNumbrCrunch
Core OfferingFlat-rate cloud bookkeeping for freelancersPer-transaction bookkeepingDIY softwareAI-powered expense tracking
Target AudienceFreelancers $75K–$250KSmall biz, 1–10 employeesBudget freelancersTech-savvy solopreneurs
Messaging"One price, no surprises""Pay only for what you use""Take control""Your expenses, automated"
PricingFlat monthly feePer-transactionFreemium + tiersMonthly subscription
ChannelsBlog, emailGoogle Ads, LinkedInSEO, YouTubeProduct Hunt, Twitter

Evaluate it with criteria, not feelings. Are the competitors real? Verify they exist and are actually direct competitors. Is the analysis accurate? Spot-check one claim per competitor. Do the positioning opportunities align with your actual strengths? A gap between "enterprise security" and "consumer simplicity" is not yours to fill if your product is neither. Is anything missing? You know your market better than your VP. Tell it: "Add [Competitor X] to the matrix" or "QuickCount actually targets freelancers, not small businesses — update the comparison."

Agents are autonomous, not infallible. They may identify competitors you do not actually compete with if your CLAUDE.md is broad. They may oversimplify positioning — one row in a table loses nuance. They may miss recent changes because their information is not live. None of that makes them less useful. The review process from Part 1 applies here with the same force: you are still the boss. You review the work, correct the errors, and approve the output before acting on it.

Nothing was written to disk in that run — competitor analysis was general-purpose Agent behavior, not a saved Agent file. The prompt itself is a draft of a Competitor Analyst Agent you could graduate later by saving it to .claude/agents/competitor-analyst.md. For now, it is a one-off. Now you build your own.


Agent #1: The Campaign Strategist

A content brief tells you what to write. A campaign plan tells you how to get that writing in front of your audience. The Campaign Strategist takes a content brief — the kind the Content Brief Generator from Part 3 produces — and builds a plan covering audience segments, messaging angles per segment, specific CTAs, a publication timeline, and channel allocation.

Without this Agent, this thinking either does not happen or stays incomplete in your head — audience segments you never wrote down, timing you meant to stagger but forgot, channels you defaulted to out of habit. The Campaign Strategist codifies that thinking into a repeatable process. Feed it a brief, get back a plan.

Why is this an Agent and not a Skill? Because the Campaign Strategist has to decide a sequence — read the brief, check your CLAUDE.md for active channels, segment the audience, write angles, assemble a timeline — and the right decisions change run to run. That is planning, not template-filling. The Agent surface is the right home.

Build with /skill-creator

Agents use the same creation flow — /skill-creator handles both Skills and Agents. Open your Cowork project and run /skill-creator, then paste:

Build a Campaign Strategist agent that takes a content brief as input and
produces a complete marketing campaign plan.

The agent should:

1. Read the content brief and extract the topic, target audience, key
   messages, CTA, and content format.

2. Break the target audience into 2-4 specific segments based on the
   business context in CLAUDE.md. Each segment should have a name,
   a one-sentence description, and the primary channel where that
   segment is most reachable.

3. For each segment, write a messaging angle: the specific argument
   or value proposition that resonates with that group. Each angle
   should connect to a pain point from the brief's key messages.

4. Define a specific CTA for each segment. "Learn more" is not
   acceptable. Each CTA should tell the reader exactly what to do
   and what they get from doing it.

5. Create a timeline that sequences content publication across
   channels over 1-2 weeks. Specify exact days (Day 1, Day 3, etc.)
   and which channel fires on each day.

6. Allocate effort across channels. For each channel, specify:
   the content format, estimated time to produce, and expected
   reach relative to other channels.

7. Apply all brand voice rules from .claude/rules/brand-voice.md
   to the messaging angles and CTAs.

8. Present the campaign plan in a structured format with clear
   sections for Segments, Messaging, CTAs, Timeline, and
   Channel Allocation.

The agent should ask clarifying questions if the brief is missing
audience information or if the business context in CLAUDE.md does
not specify active marketing channels.

Cowork walks you through clarifying questions — the agent name, where to save it, whether it needs file access. The agent lands at .claude/agents/campaign-strategist.md. Your folder now looks like this:

your-cowork-project/
├── CLAUDE.md
└── .claude/
    ├── rules/
    ├── skills/
    └── agents/
        └── campaign-strategist.md

Your agents/ folder joins .claude/ as a sibling alongside rules/ and skills/.

The prompt above is detailed on purpose. Agent definitions benefit from specificity more than Skill definitions do. A Skill runs a single, predictable task. An Agent makes decisions across multiple steps, and vague instructions lead to vague decisions. "Create messaging angles" without specifying that each angle must connect to a pain point produces filler. "Allocate effort" without specifying what allocation looks like produces hand-waving. Pin the expectations down.
Under the hood — Manual build steps
If you want to understand what /skill-creator generates for an Agent, here is the hand-built version. Create .claude/agents/campaign-strategist.md with:

# Campaign Strategist

You are a Campaign Strategist agent for {{business_name}}. Your job is to
transform content briefs into complete marketing campaign plans.

## Input
You receive a content brief containing: topic, target audience, key
messages, CTA, and content format.

## Process
1. Read the brief. Extract topic, audience, messages, CTA, and format.
2. Reference CLAUDE.md for business context and active channels.
3. Reference .claude/rules/brand-voice.md for voice constraints.
4. Break the audience into 2-4 actionable segments. Each segment must
   have a name, a one-sentence description, and a primary channel.
5. Write a messaging angle for each segment. Each angle must connect
   to a specific pain point from the brief's key messages.
6. Define a specific CTA for each segment. Generic CTAs are not
   acceptable. Each CTA specifies the action and the immediate value.
7. Create a 1-2 week timeline with specific days and channels.
8. Allocate effort: format, estimated time, and expected reach per channel.

## Output Format
Present the plan with these sections:
- Audience Segments (table: name, description, primary channel)
- Messaging Angles (one paragraph per segment)
- CTAs (one per segment, specific and actionable)
- Timeline (table: day, channel, action)
- Channel Allocation (table: channel, format, time, reach)

## Rules
- Apply brand voice rules to all messaging and CTAs
- If the brief is missing audience information, ask before proceeding
- If CLAUDE.md does not specify active channels, ask before proceeding
- Never use banned vocabulary from brand-voice.md

The manual path takes longer but teaches you what goes into an Agent definition. Both methods produce the same result — a markdown file in .claude/agents/ that Cowork reads when you invoke the Agent.

Feed It a Brief

Pull up a content brief. If you built the Content Brief Generator in Part 3, run it now. Here is a sample brief for Tideway Bookkeeping:

## Content Brief: Tax Season Prep Guide

**Topic**: Helping freelancers prepare for tax season without panic
**Target Audience**: Freelance designers, developers, and writers earning
$75K-$250K who handle their own bookkeeping
**Key Messages**:
- Tax prep does not need to start in March. Small habits throughout the
  year prevent the annual scramble.
- Categorized transactions save hours at tax time. If your books are
  current, tax prep is a 30-minute task.
- Tideway clients spend an average of 20 minutes on tax prep versus
  the freelancer average of 8 hours.
**CTA**: Start a free trial to get tax-ready books before next quarter
**Format**: Blog post (800-1200 words)
**SEO Keywords**: freelance tax prep, freelancer bookkeeping, tax season
  preparation for self-employed

Run the Agent: Run the Campaign Strategist agent on the following content brief: [paste]. It reads your CLAUDE.md for business context, pulls durable facts from Memory (introduced in Part 1), checks your brand voice rules, and produces a plan over 30 seconds to two minutes.

Here is the structure to expect:

Audience Segments

SegmentDescriptionPrimary Channel
Panicked ProcrastinatorsFreelancers who ignore taxes until February. Currently stressed. Searching for solutions.Google (blog SEO)
Reluctant DIYersFreelancers who do their own books but hate it. Open to tools.LinkedIn
Referral CandidatesExisting Tideway clients with tax-ready books. Happy. Willing to share.Email

Messaging Angles. Procrastinators: "Tax season is not the problem. The eleven months of ignored receipts are. Here is how to fix it in 20 minutes a week." DIYers: "You are already doing the work. You are just doing it the hard way. Automated categorization turns 8-hour tax prep into 20 minutes." Referral: "You spent 20 minutes on tax prep last year. Your freelancer friends spent 8 hours. Send them this."

CTAs. Procrastinators: "Start your free trial today and have categorized books before Q2 closes." DIYers: "Import your last month of transactions in 5 minutes." Referral: "Share your referral link — you both get a free month."

Timeline

DayChannelAction
Day 1BlogPublish "Tax Season Prep Guide." SEO-optimized.
Day 2LinkedInPost DIYer angle. Link to blog.
Day 3EmailReferral campaign to existing clients.
Day 5LinkedIn"20 minutes vs. 8 hours" stat as standalone visual.
Day 7EmailBlog digest with Procrastinator messaging.
Day 10LinkedInBlog share with DIYer angle, new hook.

Channel Allocation. Blog: 1000-word post, ~2 hours, high reach (SEO evergreen). LinkedIn: two 150–250 word posts, ~45 minutes, medium organic reach. Email: two campaigns (referral + digest), ~1 hour, high direct reach.

Review the Plan

The agent did the thinking. Now you do the judging. Are the segments actionable? Each should describe a group you can reach through a specific channel — "Young professionals interested in finance" is a demographic, not a segment. Are the CTAs specific? Each should pass the "what happens when I click" test. Check them against your approval criteria from Part 2. Is the timeline realistic? The agent plans for an ideal scenario. You adjust for reality — product launches, capacity limits, dependencies like a referral mechanism that may not yet exist.

Review is a conversation, not a verdict. Tell the agent what to fix: "The timeline is too aggressive — I can only produce two channels per week. Restructure over three weeks." Or: "The LinkedIn messaging angle for DIYers sounds too salesy — rewrite it like advice from a peer, not a pitch from a vendor." Repeat until the plan reflects what you will actually execute. A plan you do not follow is a document, not a plan. Save your best campaign plans in a campaigns/ folder — they become reference material for the agent on future runs.

When a plan has a recurring problem — channels you do not use, timelines too compressed, segments too vague — the fix does not belong in the plan. It belongs in the Agent definition. Edit .claude/agents/campaign-strategist.md and tighten the rule that allowed the drift. A fix in the plan corrects one run. A fix in the Agent corrects every future run.


Agent #2: The Content Repurposer

Same pattern, different surface. The Campaign Strategist plans distribution. The Content Repurposer produces the variations a plan requires. Feed it one voice-checked blog post and it returns email copy, ad headlines, a landing page section, and a newsletter blurb — four channels of distribution from a single afternoon of writing.

Each format has different rules. Email needs a subject line and one CTA. Ad headlines land under 90 characters. A landing page hero works in isolation. A newsletter blurb hooks in two sentences without giving away the article. Doing this by hand for every piece of content is tedious enough that most people skip it. That is leaving value on the table — a single blog post contains enough material for four additional touchpoints.

This is still an Agent and not a Skill, even though the format constraints feel template-shaped. The reason: the Agent has to hold brand voice constant across four format-different outputs, and the judgment call for "what survives the cut when the ad headline has 90 characters" is the exact discretion you are delegating. A rigid template would over-compress one format and under-use another. An Agent decides what to keep.

Build with /skill-creator

Open your Cowork project and type /skill-creator. Paste:

Create an agent called "Content Repurposer" with the following specifications:

ROLE: Takes a voice-checked, approved piece of content (blog post, article,
or guide) and transforms it into multiple marketing formats while maintaining
brand voice.

INPUT: The full text of an approved blog post or article. The content has
already passed brand voice review.

OUTPUTS (produce all four for every input):

1. EMAIL COPY
   - Subject line (6-10 words, no clickbait punctuation)
   - Preview text (40-90 characters)
   - Body (200-300 words)
   - Single CTA with specific action and benefit
   - Tone: conversational, direct, like writing to one person

2. AD HEADLINES
   - 5 variants, each under 90 characters
   - Mix of benefit-led and curiosity-led approaches
   - No exclamation marks, no ALL CAPS
   - Suitable for LinkedIn, Facebook, and Google Ads

3. LANDING PAGE SECTION
   - Hero headline (under 10 words)
   - Supporting paragraph (2-3 sentences expanding the headline)
   - CTA button text (2-5 words)
   - Must work as a standalone section on a campaign page

4. NEWSLETTER BLURB
   - 2-3 sentences that create curiosity without summarizing everything
   - CTA link text
   - Designed for inclusion in a weekly/monthly email roundup

RULES:
- Follow all brand voice guidelines in .claude/rules/brand-voice.md
- Follow content standards in .claude/rules/content-standards.md
- Maintain the same brand personality across all four formats
- Adapt tone for each format (email is warmer, ads are punchier, landing page
  is direct, newsletter is casual) while staying within brand voice boundaries
- Never invent claims, statistics, or benefits not present in the source content
- Present all four outputs in a single response, clearly labeled
- After each output, include a brief note on what to verify before publishing

Cowork builds the agent and writes it to .claude/agents/content-repurposer.md. The manual-build pattern from Campaign Strategist applies here too — same four-step shape (create the file, paste the definition, test, iterate). The one detail worth calling out: the Content Repurposer references two rule files in its Context block — brand-voice.md and content-standards.md — because format constraints (character counts, sentence limits, paragraph sizes) live in content-standards.md.

The VP just did this on its own
Your VP chained two rule files into the agent — brand-voice and content-standards — without being asked for the second. Open .claude/agents/content-repurposer.md and scan the Context block. Both references are already wired.

Run It

Feed it a Tideway blog post about the five tax mistakes freelancers make. Representative output:

Email. Subject: "Five tax mistakes that cost freelancers money." Preview: "Most of these are fixable in an afternoon." Body (~250 words, conversational, second person): "You are leaving money on the table every April. Not because you are bad at your job — because nobody taught freelancers how taxes actually work..." CTA: "Read the full guide on our blog."

Ad Headlines. Five tax mistakes that cost freelancers every April. / Freelancers: your bookkeeping might be costing you thousands. / The quarterly payment mistake most freelancers make. / Stop losing money to tax mistakes you can fix today. / What your accountant wishes you knew about freelance taxes.

Landing Page. Hero: "Stop overpaying on freelance taxes." Supporting: "Most freelancers make the same five bookkeeping mistakes every year — mixing accounts, missing quarterly payments, skipping deductions. Each one costs real money. Our guide breaks down what goes wrong and how to fix it." Button: "Get the free guide."

Newsletter Blurb. "We published a new guide this week: the five tax mistakes we see freelancers make every single year. The one about quarterly estimated payments alone probably saves most readers a few hundred dollars in penalties. Worth ten minutes of your time." Link: "Read the five mistakes."

Each output comes with a one-line "Verify before publishing" note — S-corp election applies to your jurisdiction? Character counts pass on your target ad platform? The landing page has a delivery mechanism for the guide?

Look at the batch and ask three questions. Does each format sound like the same brand? The email is warm. The ads are direct without being aggressive. The landing page is confident but not pushy. The newsletter reads like a friend sending a link. Do the constraints hold? Ad headlines under 90 characters. Email body in the 200–300 word range. Landing page headline under 10 words. Does the CTA match the format? Email drives to the blog. Landing page drives to a guide. Newsletter drives to the article.

Maintaining Voice at Scale

Voice drift concentrates in specific formats. Your emails might sound right while your ad headlines sound generic — under 90 characters leaves little room for personality, and brand voice is the first thing to get squeezed out. The fix is format-specific voice guidance. If ads keep drifting, add a section to brand-voice.md that addresses ads directly:

## Ad Copy Voice
- Lead with the reader's problem, not our solution
- Use the same plain language as our blog -- no ad-speak
- "Your bookkeeping is costing you money" over "Optimize your financial workflows"
- Numbers are fine in ads. Vague claims are not.

You do not need format-specific guidance for every format upfront. Wait until you see drift, then tighten. The Repurposer only works with content that has already passed your Voice Checker — if the source sounds right, the derivatives have a solid starting point. Quality of input sets the ceiling for quality of output.

The important thing: the fix lives in .claude/rules/brand-voice.md, not in the Agent file. The Agent is the executor; the rule file is the source of truth. A format-specific rule added to brand-voice.md is read by every Agent and every Skill that references the file — one edit, many downstream effects.


What just changed

Two new files landed in .claude/ across this Part:

  • .claude/agents/campaign-strategist.md — an Agent that turns briefs into plans
  • .claude/agents/content-repurposer.md — an Agent that turns one approved piece into four

Combined with the two Skills from Part 3, your .claude/ folder now carries three sibling branches — rules/, skills/, agents/ — each one the canonical home for a different kind of specialist capability.

Your VP is no longer a single generalist. It is a team of four named collaborators with specific jobs, each grounded in the handbook (CLAUDE.md), the wall policies (Rules), and the memory of work you have already done together. Two of them follow your templates. Two of them make decisions you approved the right to delegate.


What is Next

Each tool works on its own. You can run any of them independently, and they produce useful output. But right now, you are the glue. You run the brief generator, hand its output to a writer (or your VP), run the voice checker on the draft, hand the approved content to the campaign strategist, then hand it to the repurposer. That is four separate steps with you manually moving content between them.

In Part 5 — The Pipeline, you wire them together. Brief to voice-check to campaign plan to repurposed content, end to end. You trigger the pipeline once and get finished, channel-ready output. The individual tools become a system. Further out, Part 7 extends that system onto a recurring schedule — pipelines that run without you triggering them.


This is Part 4 of 7 in the Your AI VP of Marketing series. Previous: Part 3 — Skills | Next: Part 5 — The Pipeline