Caelan's Domain

Part 5 — The Pipeline: Wiring It Together

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

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

Part 5 of a 7-part series on building your AI VP of Marketing with Claude Cowork. Previous: Part 4 — Agents | Next: Part 6 — Measurement


Your VP has staff. In Part 3 and Part 4 you hired four — a Content Brief Generator, a Brand Voice Checker, a Campaign Strategist, and a Content Repurposer. Each is competent. None is talking to the others.

Part 5 fixes that. You stop running each tool in its own conversation and start running them as a workflow where the output of one becomes the input of the next. Then you extend the pipeline — once with a new Skill for social, once with a new Agent for distribution. Four tools become six, running as a connected machine rather than independent hires.

Jumping in from mid-series? See <a href="/kb/AI/cowork-vp-part-3-skills#quick-start">Part 3's Quick Start</a> for the starter config. This part assumes you have a Cowork project with CLAUDE.md, brand voice rules in <code>.claude/rules/</code>, and the four anchor tools from Parts 3-4 already saved to disk.

What a Pipeline Is

A marketing team does this with people. The strategist writes the brief, the brand manager reviews it, the campaign lead builds the plan, the content team produces the assets. Each handoff has a defined input, a defined output, and a quality check between. Your pipeline replaces those handoffs with the Skills and Agents from Parts 3-4 — each stage passes its work to the next, and you stay in the loop at every checkpoint. Until now you have used these tools one at a time. That works, but they were designed to feed each other.

Under the hood — Pipelines (community term)
Pipelines is a community term, not an official Cowork primitive shipped under that name.

  • What file. No dedicated file or folder — the chain is built from Skills, Agents, and Scheduled Tasks.
  • When written. Never written as a Pipelines artifact — the underlying primitives each write to their own files.
  • What format. Convention only — the pattern lives in how you sequence primitives you already built.
  • How to inspect. Read the Skill and Agent files in the chain, and the Scheduled Task that triggers it.
  • How to undo. Edit the underlying Skills, Agents, or Scheduled Tasks — there is nothing Pipelines-specific to undo.

There is no Pipelines tab in the sidebar and no dedicated Pipelines section in the product. The closest official construct is scheduled tasks in Claude Cowork, covered in Part 7 — Scaling. Scheduled Tasks automate when a pipeline runs, and the pipeline itself remains the pattern.

Gotcha. A scheduled run is only as good as the primitives underneath it. If your Skill is brittle or your Agent brief is loose, a weekly cron does not improve it — it makes it wrong every week instead of once.

Here is the complete flow:

TOPIC
  |
  v
[Content Brief Generator]  -- Skill: produces a structured brief
  |
  v
[Brand Voice Checker]      -- Skill: audits the brief for voice consistency
  |
  v
[Campaign Strategist]      -- Agent: turns the brief into a campaign plan
  |
  v
[Content Repurposer]       -- Agent: produces content for every channel in the plan
  |
  v
DISTRIBUTION-READY CONTENT

You start with a topic. You end with content ready to publish. You are not building anything new — you are wiring what exists into a single connected workflow with defined stage inputs, quality gates, and predictable output every run.

Gotcha — no formal state-passing
There is no formal state-passing mechanism between stages. The conversation transcript is the state. The moment you leave the conversation, that state is gone. If you run Stage 1 in one chat and try to run Stage 2 in a separate chat tomorrow, the second chat will not see the brief unless you paste it in, or unless the relevant facts made it into Memory. For a pipeline you run often, keep it inside one long-lived conversation, or write the intermediate outputs to files the next stage reads explicitly.

Wire It Together

Run the full pipeline in a single Cowork session — one conversation, four stages, one topic all the way through. The example: a quarterly client update campaign for Tideway Bookkeeping.

Stage 1: Generate the Brief

Open your Cowork project and start a new conversation. Run the Content Brief Generator skill:

Run the content-brief skill for this topic:

Quarterly client update -- Q2 results and what is coming in Q3. Tideway
Bookkeeping wants to show existing clients what improvements shipped this
quarter (automated receipt matching, faster bank imports) and preview what
is coming next quarter (year-end tax prep automation). Goal is to reduce
churn by reminding clients of the value they are getting.

Your VP produces a structured brief — target audience, key messages, CTA, SEO keywords, format, outline, competitor differentiation, distribution notes. Read it. Does the brief capture the goal (retention, not acquisition)? Are the key messages specific? Is the CTA right for existing customers?

If the brief is off, correct it now: "The key messages are focused on attracting new clients. This is a retention piece — rewrite to emphasize value delivered, not value promised." Fix it before Stage 2. A bad brief produces a bad campaign plan, and a bad plan produces bad content. Every error compounds downstream.

Stage 2: Check Brand Voice

Take the brief output and run it through the Brand Voice Checker skill in the same conversation:

Run the brand-voice-checker skill on the content brief above. Check every
section -- key messages, CTA, outline descriptions -- against our brand
voice rules.

The Brand Voice Checker reviews the brief against .claude/rules/brand-voice.md and flags language that does not match your standards — phrases like "we are excited to announce" or "leverage our powerful platform." Some flags are valid catches. Others are false positives. Accept or reject each:

Good catches on "leverage" and "excited to announce" -- fix those. But
"automated receipt matching" is the actual feature name, not jargon.
Keep that. Apply the fixes and show me the updated brief.

The voice-checked brief is your approved input for Stage 3.

Stage 3: Build the Campaign Plan

Feed the approved brief to the Campaign Strategist agent:

Run the Campaign Strategist agent on the voice-checked brief above.
This is a retention campaign for existing clients -- not acquisition.
The segments should reflect different types of current Tideway clients,
not prospects.

The agent produces audience segments, messaging angles, CTAs, a timeline, and channel allocation. For a retention campaign, the output should look different from the acquisition example in Part 4 — segments might break down by client type or engagement level rather than by prospect category.

Check it against reality. Does the timeline fit your capacity? Are the channels ones you actually use? Adjust as needed:

We do not use LinkedIn for client communication -- remove that channel.
Replace it with an in-app notification for active users. Keep the email
campaign for all segments.

Once the plan reflects what you will actually execute, move to Stage 4.

Stage 4: Repurpose the Content

Hand the campaign plan to the Content Repurposer agent:

Run the Content Repurposer agent. Take the campaign plan above and
produce the actual content for each channel and format specified in
the timeline. Use the messaging angles from the campaign plan and
apply brand voice rules to every piece.

The Content Repurposer produces each asset the plan calls for — client update email, blog post, in-app notification draft. Each piece uses the messaging angle assigned to its segment and follows your brand voice rules. Review each, approve or revise, publish.


End-to-End Test

Here is what the pipeline produces at each stage for the Tideway quarterly update campaign. These are condensed examples — your actual outputs will be longer.

Stage 1 Output: Content Brief

## Content Brief: What Shipped in Q2 (and What is Next)

### Target Audience
Existing Tideway Bookkeeping clients -- freelancers and solo consultants
who already use the platform for monthly bookkeeping.

### Key Messages
1. Automated receipt matching went live in April -- clients save an
   average of 45 minutes per month on expense categorization.
2. Bank imports now process in under 60 seconds, down from 3-5 minutes.
3. Q3 will bring year-end tax prep automation -- a single click generates
   tax-ready reports for your accountant.
4. These improvements exist because clients asked for them.

### Call to Action
Try automated receipt matching this week -- open your dashboard, click
Receipts, and upload a photo of any receipt.

### Content Format and Length
Client update email (300-500 words) as primary. Supporting blog post
(600-800 words) for the website.

Stage 2 Output: Voice Check

BRAND VOICE REVIEW

FLAGGED:
- Key message 4 uses "These improvements exist because clients asked for
  them." Passive. Rewrite: "You asked for these. Your feature requests
  from Q1 drove our Q2 roadmap."
- CTA says "See it categorized in under 10 seconds." Make "it" concrete:
  "See the amount, vendor, and category filled in automatically."

PASSED:
- Tone is conversational and direct throughout.
- No banned vocabulary detected.
- Key messages lead with specific metrics (45 minutes, 60 seconds).

2 items flagged. 0 critical issues.

Stage 3 Output: Campaign Plan

### Audience Segments

| Segment | Description | Primary Channel |
|---------|-------------|----------------|
| Power Users | Clients who log in weekly and use most features. | In-app notification |
| Passive Clients | Clients who use Tideway but rarely log in. At risk for churn. | Email |
| New Clients | Clients who joined in Q1 or Q2. Still learning. | Email (onboarding sequence) |

### Timeline

| Day | Channel | Action |
|-----|---------|--------|
| 1 | Blog | Publish Q2 update post |
| 1 | In-app | Notify power users about receipt matching |
| 3 | Email | Send Q2 update to passive clients |
| 5 | Email | Send onboarding highlight to new clients |
| 7 | Email | Follow-up to passive clients who did not open Day 3 |

Stage 4 Output: Content Assets

The Content Repurposer produces each asset. Here is one — the email for passive clients:

Subject: Your books are done. Here is what else Tideway does for you.

Hey [first name],

Your Q2 books are current. Reports are filed. Tax categories are up to
date. That happened automatically -- you did not have to chase receipts
or reconcile transactions.

Two things shipped this quarter that make your account even more hands-off:

1. Automated receipt matching. Snap a photo, and Tideway fills in the
   vendor, amount, and category.
2. Faster bank imports. Transactions now sync in under 60 seconds.

Coming in Q3: one-click tax prep.

[Try receipt matching now -- takes 10 seconds]

-- The Tideway team

Each asset follows its assigned messaging angle, hits the key messages, and passes the voice check. One topic, four stages, distribution-ready content.


Troubleshooting and Guardrails

Voice Checker flags too much. Your rules are too strict. Open .claude/rules/brand-voice.md and loosen — if you banned all adjectives, allow industry-specific ones; if you required every sentence under 15 words, raise the limit. The checker enforces whatever you wrote.

Campaign Strategist produces generic plans. Segments vague, messaging bland, CTAs interchangeable. The agent pulls from CLAUDE.md, and CLAUDE.md does not have enough specifics. Add your actual product features, real customer pain points, and competitor positioning with concrete details.

Content Repurposer loses brand voice. Blog post sounds right, email sounds like a press release. Strengthen your voice rules with format-specific guidance — "In emails, write as if you are talking to one person. Use 'you' more than 'we.'"

Brief is fine but the campaign plan contradicts it. Add explicit constraints when you hand work to the Campaign Strategist: "This is a retention campaign — all segments must be existing clients" or "The primary channel is email — allocate at least 60% of effort there."

When to stop and fix. Not every problem needs to cascade through the full pipeline:

  • After Stage 1: If the brief targets the wrong audience or misses the goal, stop. Do not voice-check a brief pointed in the wrong direction.
  • After Stage 2: If the checker finds more than three critical issues, the brief needs a rewrite, not a patch.
  • After Stage 3: If the segments do not match real groups you can reach, the plan is theoretical. Fix segments before producing content.
  • After Stage 4: If content does not match the campaign plan's messaging angles, tighten the Repurposer's agent definition, not the individual pieces.

Extending: The Social Media Skill

"Content for social media" and "a LinkedIn post that actually performs on LinkedIn" are different outputs. The Content Repurposer produces general channel content; it does not handle last-mile platform transformation.

You already built a Skill in Part 3. The Social Media Post Creator is the same primitive applied to a new job: take finished content from Stage 4 and produce four platform-ready posts.

Platform-Specific Variations

The same announcement reads differently on LinkedIn than on X. The message has not changed — format, length, and audience context have.

  • LinkedIn: Professional, not corporate. 150-300 words. Lead with an insight, not a pitch. One to three hashtags. A strong opening line matters — LinkedIn truncates after roughly three lines behind "see more."
  • X/Twitter: 280 characters. The constraint forces clarity. Numbers are dense with meaning. For longer announcements, use a thread: hook tweet plus detail tweets.
  • Instagram: Caption-driven, visual-first. 150-300 words, but the first line must grab attention before truncation. Five to fifteen hashtags mixing broad and specific.
  • Facebook: Conversational, community-oriented. 100-250 words. Works best when the post invites a response or stands alone without requiring the click.

These norms shift. Build the skill so platform specs live in an updateable rule file rather than buried in the prompt.

Build It

This Skill lands in .claude/skills/ alongside the two Skills from Part 3. Its companion platform rules land in .claude/rules/, the folder built in Part 2. Nothing new on disk — two familiar folders, each gaining one file.

The easy path: /skill-creator. Cowork's built-in Skill-building Skill is the canonical route. Open a new conversation, type /skill-creator, and paste the Skill prompt from the sidebar panel. It interviews you about inputs, reads, writes, and rules, then writes .claude/skills/social-media/SKILL.md for you. If you prefer to hand-write the Skill file, the manual-build steps follow the Content Brief pattern from Part 3 — the fields are the same, only the Instructions block changes.

The key instruction: adapt format while keeping voice consistent. That distinction prevents the most common social media failure — posts that sound like four different brands because each platform pulled the voice in a different direction.

Keep platform specs in a separate rule file
Create .claude/rules/social-platforms.md with character limits, hashtag conventions, and tone notes for each platform. When LinkedIn changes its algorithm or X adjusts its character limit, you update one file instead of editing the skill itself. The skill reads this file on every run, so changes take effect immediately.

Voice Consistency Across Four Platforms

Four platforms pull your voice in four directions — LinkedIn toward corporate jargon, X toward clickbait, Instagram toward generic, Facebook toward bland. The anchor against all four drifts is your brand voice rules from Part 2 and the Brand Voice Checker from Part 3. The skill adapts format to each platform, but the voice rules set hard boundaries. "Never use the word leverage" applies on LinkedIn even though half of LinkedIn runs on that word.

Run the Brand Voice Checker against each of the four outputs. The results should show consistent PASS ratings on tone, vocabulary, and sentence structure — even though the posts look and feel different. Voice consistency does not mean every post reads the same. It means every post sounds like the same company wrote it. LinkedIn and X usually pass cleanly. Instagram and Facebook sometimes get a WARN when platform conventions pull against your voice. Those WARNs are calibration signals: fix the platform rules file first, then tighten the skill prompt if needed.

Platform-specific voice guidelines
If one platform consistently triggers voice warnings, add a platform-specific section to your brand voice rules. Something like: "On Facebook, the opening line may use a question format. The rest of the post must follow standard voice rules." Explicit permission to bend one rule in one place, rather than letting drift happen silently.

Here is where it lives: .claude/skills/social-media/SKILL.md for the skill, .claude/rules/social-platforms.md for the platform specs. Future social runs load the skill, then read the platform rules before shaping each post.


Extending: The Channel Distribution Planner Agent

You have content — blog posts, email copy, newsletter blurbs, platform-specific social posts. That is production. Production without distribution is a filing cabinet.

Distribution is getting content in front of people at the right time, on the right platform, in the right sequence. When does the LinkedIn post go live? Does the X thread run before or after the email? If the same message goes to three platforms, do they all fire Monday, or stagger so each one gets its own day?

Your pipeline produces content. Nothing in it decides when that content reaches people. Without distribution logic, content ships whenever you remember to post it — no sequence, no rhythm, no way to tell whether timing affected performance because the timing was never intentional.

You already built an Agent in Part 4. The Distribution Planner is the same primitive applied to scheduling. Feed it the social posts and campaign assets from your pipeline; it hands back a weekly calendar.

What a Distribution Plan Includes

A distribution plan is not a list of posts. It is a schedule with reasoning behind every placement:

  • Platform assignments. Match content to the platform where that format performs best. A 250-word thought leadership piece goes to LinkedIn; a punchy one-liner with a link goes to X; a visual carousel goes to Instagram.
  • Time slots. LinkedIn engagement peaks during business hours on weekdays. X rewards frequency across the day. Instagram performs differently on weekends. Morning, midday, or afternoon — not just the day.
  • Hashtag strategy. LinkedIn uses three to five targeted hashtags. Instagram runs ten to fifteen focused ones. X uses one to two, or none.
  • Cross-posting logic. Same core message, multiple platforms — stagger them. LinkedIn Tuesday morning, X Wednesday or Thursday. Not the same hour.
  • Engagement prompts. For platforms where conversation matters — LinkedIn especially — include a suggested first comment that invites a response.
  • Posting cadence. Match capacity, not an idealized calendar that falls apart by Wednesday. Two to three posts per week per platform with one or two engagement touchpoints is a realistic starting point.

Build It

Open your Cowork project and run /skill-creator. Paste the Distribution Planner build prompt from the sidebar panel. Cowork asks a few clarifying questions — the agent name, where to store it, file access needs. Accept the defaults or adjust for your project structure. The agent definition lands in .claude/agents/.

The prompt specifies platform-specific defaults for timing and hashtags, but tells the agent to override those defaults based on your CLAUDE.md. The defaults give the agent something reasonable to work with when your business context is thin. As you add more detail — audience time zones, platform analytics, engagement patterns — the output gets more tailored.

Generate a Weekly Calendar

Pull up the social posts from your latest content cycle — the Social Media Post Creator you just built produces platform-specific posts ready to schedule. Run the Distribution Planner against them:

Run the Channel Distribution Planner agent on the following social posts
and campaign assets:
[paste the content above]

The agent reads the content, checks CLAUDE.md for channel preferences and frequency, and produces a weekly calendar. Representative output for a Tideway "5 Tax Mistakes Freelancers Make" blog post:

DayTimePlatformContent SummaryHashtagsNotes
Mon10:00 AMBlogPublish "5 Tax Mistakes" post--Must be live before all social promotion
Tue9:00 AMLinkedInTax prep thought leadership post#FreelanceTax #Bookkeeping #SmallBusinessEngagement prompt: "What tax task takes you the longest each year?"
Tue11:00 AMEmailNewsletter blurb to subscriber list--Links to blog post; schedule in email tool
Wed8:30 AMTwitter/XThread: 8 hours vs 20 minutes#FreelanceTaxSpace from LinkedIn; thread format earns retweets
Thu12:00 PMInstagramCarousel: 5 tax mistakes#FreelanceTax #TaxTips #FreelancerLife #Bookkeeping #SelfEmployedEngagement prompt: "Which of these five have you been guilty of?"
Fri----Buffer day--Catch up on comments and replies from Tue-Thu posts

The posting notes explain the sequencing: the blog must be live before any social promotion because all posts link back to it; the LinkedIn post and X thread run on different days so each platform gets its own moment; the newsletter runs Tuesday alongside the LinkedIn post because the formats serve different purposes. Every post has a day, a time, a platform rationale, and supporting context — so you are not making those decisions at 9 AM on Tuesday while trying to remember which post was supposed to go out today.

Adapting to Your Rhythm

The default calendar assumes a standard rhythm: one blog post per week, three to four social posts, one email send. That works for some businesses. It might not work for yours.

Adjust for capacity. If you are a solo operator, a five-day publishing calendar is ambitious. Tell the agent: "I can only handle two social posts per week plus one email send. Restructure to prioritize highest-impact placements and drop everything else." The agent cuts the calendar to essentials — LinkedIn post plus email send — and moves the X thread to the following week. Sustainable beats ambitious.

Adjust for audience behavior. The defaults reflect general B2B patterns. If your customers are restaurant owners who check their phones at 6 AM before the morning rush, tell the agent to shift the whole calendar into their windows.

Adjust for platform priorities. Maybe LinkedIn drives five times the traffic of every other platform. Tell the agent to weight accordingly and it restructures: LinkedIn Tuesday and Thursday, X one cross-post on the following Monday, Instagram paused.

Save your preferences. Once you find a rhythm, tell Cowork to remember it:

Save my distribution preferences: two LinkedIn posts per week (Tuesday
and Thursday mornings), one email send (Tuesday), one Twitter/X
cross-post (following Monday). Instagram is paused until Q3.

On future runs, the agent reads these preferences and produces a plan matching your rhythm instead of a full five-platform calendar.

The VP just did this on its own
Your VP saved a Memory entry holding your distribution preferences — platforms, cadence, staggering. Future runs read it before generating the calendar. You will not be asked those setup questions again.

Here is where it lives: .claude/agents/channel-distribution.md. Cowork also captures your cadence answers into the Memory entry distribution-preferences. Each planning run now loads the agent file, reads your preferences from Memory, and sequences the releases.


When to Promote a Pipeline to a Scheduled Task

Once the manual pipeline feels boring — same inputs, same review points, same outputs — that is the signal to let Cowork run it for you. Cowork's Scheduled Tasks fire the whole sequence on a cadence you define, using the same CLAUDE.md, Rules, Skills, and Agents you built here. Part 7 — Scaling covers the automation step in detail.

The hire metaphor still applies. Right now your VP does drop-in meetings: you start a conversation, walk through the four stages, review each handoff. Scheduling promotes those drop-ins to standing meetings on the VP's calendar. But you only put a standing meeting on someone's calendar once the one-off version has proven it works. A flaky pipeline on a weekly schedule just produces flaky output on a weekly schedule.


Off-Ramp 2 — What You Have Built
What you have built: A complete content marketing pipeline — from strategic brief to published asset — with built-in brand consistency, platform-specific social formatting, and a weekly distribution calendar. This system works as-is and will produce results today.

What is ahead: Parts 6-7 add measurement so the pipeline self-improves, then automation so it runs on a schedule. Worth doing when you are ready — but what you have now is already working for you.

With the pipeline, you type a topic and walk through four stages. Each stage has defined inputs, defined outputs, and a quality gate before the next one starts. Your fifth campaign goes through the same pipeline as your first. You can stop here. For a small business without a marketing team, a pipeline plus platform-specific social formatting plus a weekly distribution calendar is a serious operation.


What Just Changed

No new file for the pipeline itself — it is conversation flow, not a /pipelines/ folder. Future turns chain the four anchor tools from Parts 3-4 through prompts you now know how to write.

Two new files did land on disk. The Social Media Skill wrote .claude/skills/social-media/SKILL.md plus .claude/rules/social-platforms.md. The Distribution Agent wrote .claude/agents/channel-distribution.md and captured your cadence answers into the Memory entry distribution-preferences. Your .claude/ tree now carries three skills, three agents, and a growing rules folder — all callable from the same pipeline conversation. The sidebar panel's final step ("Commit pipeline-first-run artifact") writes .claude/memory/pipeline-first-run.md so Part 6's measurement framework reads real Memory slugs, not theoretical ones.


What Is Next

Publishing on a schedule feels productive. A full calendar looks like progress. But traffic, engagement, and conversions are the only numbers that matter, and right now you are not tracking them in any structured way. You are guessing.

In Part 6 — Measurement, you build a metrics framework. Your VP helps you define what "working" means for your business, pick the metrics that indicate real progress, and set up a review cadence so you catch what is underperforming before you have wasted a quarter on it. The distribution plan tells you what to publish and when. The measurement framework tells you whether it mattered.


Part 5 of 7. Previous: Part 4 — Agents | Next: Part 6 — Measurement