Project Overview
Most marketing Claude Skills encode marketing theory: they ship a framework, and every user who runs them gets the same skeleton back with different nouns swapped in. marketing-os was built to solve a narrower, harder problem — make two different businesses running the same skill produce output that is structurally and stylistically different, because it’s derived from what each business actually does and how each business actually writes, not from a shared template.
The challenge was architectural as much as it was about prompt quality: a one-time intake needed to produce two durable, reusable artifacts (a “method” file and a “voice” file), every other skill in the package needed to read both before generating anything, and a validation layer needed to prove — not just assert — that two runs against different inputs actually diverged. The repo now ships 13 skills across four tiers, all wired through that same two-file contract.
Project Scope
Designed the two-file contract that everything else hangs off of — METHOD.md (how a business argues: opening move, proof type, narrative vs. comparison, claim posture, competitor handling, audience default) and VOICE.md (how it writes: cadence, punctuation habits, vocabulary, structural tics), each derived from real evidence and writing samples rather than a questionnaire the user fills in from memory.
Built the Tier 0 foundation skills — onboard as the single entry point, orchestrating compile-method and capture-voice back-to-back in one sitting (target: under 15–20 minutes of real user time), with a genericness check that forces a follow-up question any time an answer reads as boilerplate that could apply to any B2B SaaS company.
Built the shared preamble/postamble every Tier 1+ skill runs — check for METHOD.md/VOICE.md (stop and hand off to onboard rather than fabricating them if missing), structure the deliverable from METHOD.md’s Structural Defaults, draft, then run a human-scrub pass against a generic-AI-writing checklist reconciled against VOICE.md so a founder’s own real tics aren’t mistaken for AI tells.
Shipped 9 downstream skills across 3 tiers — from flagship (win-loss-to-messaging) through core GTM (positioning-from-evidence, website-messaging-audit, launch-gtm-plan, sales-enablement-kit), extended GTM (competitive-brief, pricing-packaging-recommendation, lifecycle-campaign-brief, demand-gen-channel-plan), to a Tier 3 stretch skill (board-narrative-builder) that consumes other skills’ outputs as its own evidence.
Validated the architecture, not just the prompts — independent subagent evals against all 13 skills, cross-cutting tests for structural distinctness, voice distinctness, and genericness catch rate, and a full pass against the real Claude Code plugin/skill spec (claude plugin validate . --strict).
How It Works
1. Install and first run
Fig. 1 — Install & first run
/plugin marketplace add reid-fredrickson/marketing-os/plugin install marketing-os@marketing-os/reload-pluginsRun /marketing-os:onboard first.
Invoke any Tier 1–3 skill directly.
2. Tier 0 — turning evidence into two reusable files
onboard is a thin orchestrator: it doesn’t add its own elicitation logic, it runs compile-method and capture-voice in sequence and confirms both outputs before handing off.
Fig. 2 — Tier 0: turning evidence into two reusable files
Back to Step 2 for a sharper answer.
Write METHOD.md
VOICE.md3. Tier 1–3 — every downstream skill shares one execution shape
Whichever of the 9 downstream skills gets invoked, it runs the same preamble and postamble — only the middle (evidence gathering and structure) is skill-specific.
Fig. 3 — Every downstream skill shares this shape
Stop — tell the user to run onboard first. Never fabricate a plausible Method/Voice.
Read both files in full.
One rewrite pass back toward VOICE.md.
Deliver.
4. The full skill map
Fig. 4 — The full skill map
Feed every skill in Tiers 1–3 below
- win-loss-to-messaging output feeds → sales-enablement-kit
- win-loss-to-messaging output feeds → board-narrative-builder
- launch-gtm-plan output feeds → board-narrative-builder
5. Validating divergence, not just output quality
Because the whole premise is that two businesses get structurally different output, the validation layer had to test for divergence directly rather than trust prompt quality alone: independent subagent evals against all 13 skills, plus cross-cutting checks for structural distinctness (two METHOD.md files produce different section order and emphasis, not the same skeleton), voice distinctness, reconciliation accuracy (real tics vs. generic AI tells), and genericness catch rate — run against synthetic fixtures before being layered on top of the real plugin spec validation (claude plugin validate . --strict).
Outcomes
- 13 skills shipped across 4 tiers, all reading from the same two founder-specific source files instead of a shared template.
- Structural distinctness confirmed: two runs against different
METHOD.mdinputs produce different section order and emphasis, not the same skeleton with different nouns — the core bet the whole package rests on. - 13/13 skills pass independent subagent evals and
claude plugin validate . --strict; every eval round surfaced and closed a real gap rather than a documentation-only pass. - Set up the foundation for the package’s ongoing build-out, tracked skill-by-skill in
VERSIONS.mdas new tiers ship.