How to Build a Claude Cowork Plugin

Interactive mind map covering architecture, skills, commands, connectors, references, and deployment — everything you need to codify expertise into an AI workflow system.

Claude Cowork Plugin

Codified expertise as markdown + JSON — zero code, pure structured thinking

38 files • 113KB • $285B market impact
01
What & Why
The shift behind the $285B selloff
Not Software — Codified Expertise
Markdown files + JSON that teach AI your specific methodology. No compiled code, no infrastructure, no deployment pipeline.
The "SaaSpocalypse" Trigger
11 open-source plugins from Anthropic (Jan 30, 2026) showed a few KB of structured thinking can replace million-dollar workflows.
Leadership Exercise, Not Technical
The hardest part: deciding what "good" looks like and writing it with enough precision for an AI to follow. Forces intuition → structure.
The Career Moat
Craft skills are learnable in months. Codified judgment — structured methodologies, quality criteria, repeatable systems — compounds over a career.
02
Plugin Anatomy
Folder structure & building blocks
Folder Structure
.claude-plugin/plugin.json — Manifest (identity card)
.mcp.json — External tool connectors
skills/ — Skill directories (each contains SKILL.md)
commands/ — Slash commands (user-triggered)
references/ — Knowledge base files
.claude/settings.local.json — Personalisation
Plugin Manifest plugin.json
Name, version, description (critical for activation accuracy), author, license. The description determines WHEN Claude uses your plugin.
author must be an object: {"name": "..."} — NOT a plain string
tags is NOT a recognised field — do not include it
Either mistake crashes the plugin loader on startup
Sizing Guide
Minimal: 3–5 files (single workflow)
Focused: 10–15 files (one practice area)
Comprehensive: 25–40 files (full practice system)
Enterprise: 40+ files (multi-vertical, multi-team)
03
Skills
Teaching AI your expertise (auto-trigger)
Anatomy
Each skill is a directory inside skills/ containing a single SKILL.md file. YAML frontmatter (name + trigger description) → Markdown body (the expertise). Keep under 500 lines; offload detail to references/.
Design Principles
Be specific, not generic — "Search earnings calls, job postings, app ratings"
Include the "So What" — connect findings to action
Use structured H2/H3 headings — Claude navigates like a manual
Encode judgment, not just process — "Score 3 = competent mobile, no native app"
Write for precision, not brevity — detailed = reliable
Skill Categories (8 types)
Research → Client Intelligence (company research)
Assessment → Digital Maturity (10-dimension scoring, 1–5 scale)
Positioning → Competitive Landscape (battlecards per competitor)
Estimation → Deal Sizing (team templates, rate cards, timelines)
Methodology → Delivery Approach (phases, governance)
Qualification → Go/No-Go (7-dimension weighted scorecard)
Matching → Case Study Mapper (tier 1/2/3 relevance)
Generation → Brand Intelligence (extract hex, typography, style)
Critical Insight KEY
The YAML description is the most important line in your plugin. It determines activation accuracy. Test: "Would I want this to trigger?"
Frontmatter is Mandatory BREAKING
Without the --- YAML block containing name and description at the top of each SKILL.md, skills register with empty descriptions and will never auto-trigger. The plugin system does NOT read your markdown headings — it only reads frontmatter.
04
Slash Commands
Orchestrating multi-step workflows
Structure
One .md file per command in commands/. Contains: usage syntax, parameters, step sequence, expected output. Filename = command name. (Note: commands stay as flat .md files, unlike skills which use directory/SKILL.md format.)
4 Design Patterns
Research — Gather + synthesise → dossier
Analysis — Apply framework → scored assessment
Generation — Produce deliverable → deck, email, PDF
Qualification — Score opportunity → Go/No-Go
Example Command Set (8 commands)
/xd:research — 7-dimension intelligence dossier
/xd:gap-analysis — Maturity scorecard + roadmap
/xd:position — Competitive battlecard
/xd:estimate — Team plan + investment range
/xd:pitch-deck — 25-slide branded deck
/xd:go-nogo — Qualification scorecard
/xd:followup — Email + one-pager + FAQ
/xd:case-match — Tiered proof points
Naming Convention
Use namespace prefix: /xd:command. Prevents collision with other plugins and makes discovery intuitive.
05
MCP Connectors
Wiring external tools & APIs
Configuration
Single .mcp.json at plugin root. Web search uses "type": "builtin". All other connectors use "type": "http" with a real endpoint URL (e.g. "url": "https://mcp.slack.com/sse").
Server Type Rules BREAKING
Never use "type": "mcp" with placeholder notes — the plugin loader will fail trying to initialise servers without valid endpoints. Only include connectors you can actually configure with real URLs.
Essential Connectors
Web Search (builtin) — Research, news, brand extraction
Google Drive (http) — Past proposals, templates, guidelines
Notion / Confluence (http) — Internal knowledge base
Slack (http) — Deal context, team signals
Salesforce / HubSpot (http) — Pipeline, account history
Figma (http) — Design system assets
Phased Strategy RECOMMENDED
Phase 1: Web search only (zero config)
Phase 2: + Google Drive / Notion
Phase 3: + Slack, CRM (only when workflows demand it)
06
Reference Files
Knowledge base & playbooks
Folder Organisation
references/industries/ — One .md per vertical
references/methodology/ — Delivery approach docs
references/templates/ — PPT guide, exec summary
references/case-studies/ — Proof point catalog
Industry Playbook Contents
Industry overview — landscape & forces
Key challenges — 5–7 pain points design addresses
XD opportunities — concrete project types
Metrics that resonate — buyer KPIs
Positioning guidance — how to lead conversations
Key players — companies for competitive context
PPT Generation Guide
Brand colours (hex), typography, dual-branding (your 70% / client 30%), slide sequence template, speaker notes requirements, quality checklist.
07
Build Process
6-step practitioner's playbook
Step 1: Map Your Expertise
Identify 5–7 core workflows. For each: what separates senior from junior output? What knowledge is trapped in heads? Where does quality vary by person?
Step 2: Define Skills (6–10 files)
Map each expertise area to a skill directory containing SKILL.md. Write YAML trigger descriptions. Encode judgment, not just process. 80–200 lines each.
Step 3: Design Commands
Map to deliverables. Each command = one complete workflow → one clear output. Use namespace prefix. Composability over monoliths.
Step 4: Build Knowledge Base
Industry playbooks (start 2–3), methodology docs, PPT generation guide, output templates. Be specific: "12–15 stakeholder interviews" not "we do research."
Step 5: Wire Connectors
Start with web search. Add Drive/Notion in phase 2. Slack/CRM only when workflows demand real-time data.
Step 6: Test Against Real Work
Run past projects where you know "good." Compare AI vs actual team output. Gaps reveal where skills need more specificity.
08
Presentation Layer
Auto-generating branded pitch decks
Dual-Branding Model
Your brand = primary (70%): template, layout, fonts, footer
Client brand = accent (30%): title logo, chart colours, divider stripes
Standard Slide Sequence (20–25 slides)
Title → Agenda → Understanding Their World
Current State Assessment → Vision & North Star
Gap Analysis → Approach & Methodology
Why Us → Team & Delivery → Investment
Getting Started → Appendix
Speaker Notes NON-NEGOTIABLE
Every slide: key message (1 sentence), 3–5 talking points, transition cue, likely objections. Deck without notes = half the deliverable.
Brand Intelligence Extraction
Auto-extract from client website/guidelines: primary + accent colours (hex), headline/body typefaces, visual style, photography direction.
09
Testing & Deployment
From draft to production
Build Cycle (5 phases, ~7–11 days)
Draft (1–2d): Write skills + commands from expertise map
Test (1–2d): Run real scenarios, compare outputs
Refine (1–2d): Tighten descriptions, fix triggering
Extend (2–4d): Add playbooks, references, PPT layer
Deploy (1d): Package, document, distribute
Common Pitfalls
Missing YAML frontmatter → skills register empty, never trigger
Invalid MCP server types → "type": "mcp" with placeholders fails loader
Manifest validation errors → author must be object not string; tags field not recognised
Skills too vague → generic output
Descriptions too broad → triggers on everything
Missing "So What" → analysis without recommendations
Inconsistent structures → confused scoring/output
No test against real work → unknown quality
Distribution Package
Zip plugin folder + README.md (setup, commands, customisation) + settings.local.json template + connector documentation.
10
What to Build Next
Plugin ideas across domains
Domains & Concepts
Thought Leadership → Content engine (voice, architecture)
Product Management → PRD builder (stories, prioritisation)
Design Ops → Practice manager (utilisation, hiring)
Sales Engineering → Solution architect (discovery, demos)
Content Strategy → Content intelligence (audit, calendar)
UX Research → Research ops (planning, synthesis)
Engineering → Technical proposals (architecture, risk)
Community → Community manager (events, engagement)
The Core Question
Not "what can I automate?" but "what expertise in my practice is too valuable to exist only as tribal knowledge?"