Anthropic's knowledge-work-plugins: turn Claude Code into a role-specialist, hands-on
Anthropic's official plugin collection turns Claude Code from a coding assistant into a role specialist — salesperson, finance analyst, data analyst. It passed 25,700 stars and debuted on GitHub trending this week. This tutorial verifies every step hands-on: install, run a real skill end to end, dissect the anatomy, customize it, and build your own plugin from scratch.

Claude Code earned its reputation in the terminal, writing and debugging code. knowledge-work-plugins is Anthropic's answer to the obvious follow-up question: what if the same agent could do the rest of your job? The repo packages role-specific skills, slash commands, and tool connectors for sales, finance, legal, marketing, data, and a dozen other functions — as plain markdown and JSON files you install with two commands.
Why this is blowing up now#
The numbers, all observed on the live repo today: 25,751 stars, 3,039 forks, Apache 2.0 license, and a debut on GitHub's daily trending list this week (trending trackers show it gaining roughly 300 stars a day). The most recent commit landed September 24, 2026 — three days ago — so this is actively maintained, not a launch-day dump.
The marketplace manifest (.claude-plugin/marketplace.json) lists 121 plugins: 17 maintained by Anthropic itself — sales, finance, legal, data, marketing, product management, customer support, productivity, engineering, operations, HR, and more — plus over a hundred partner-built ones from Slack, Figma, HubSpot, Zapier, and others. Every plugin follows the same file-based anatomy, which is exactly what this tutorial takes apart.
The deeper reason for the spike: plugins are the cheapest way to specialize a generalist agent. No fine-tuning, no server, no build step — just files Claude reads. If you have ever pasted the same 'here's how we do pipeline reviews' preamble into a chat window, this repo is the industrial version of that habit.
What you'll need#
- Node.js 18+ and git on your machine.
- Claude Code — installed below via npm. A Claude account (Pro/Max subscription or API access) is required to actually run skills in a session; every install step in this tutorial ran in a fresh sandbox without logging in, so you can get everything set up before you authenticate.
- ~15 minutes. No GPU, no model downloads, no Docker. The sales plugin — the biggest one — adds about 3,300 tokens of always-on metadata to a session, and each skill invocation loads roughly another 2,000. You pay for that in your normal Claude usage; there is no separate plugin fee.
1. Install the Claude Code CLI#
npm install -g @anthropic-ai/claude-code
claude --version
Expected output (verified in a clean sandbox):
2.1.283 (Claude Code)
Your exact version will be newer by the time you read this — that is fine. What matters is that claude --version answers.
2. Add the marketplace#
claude plugin marketplace add anthropics/knowledge-work-plugins
Verified output:
Clone complete, validating marketplace…
Cleaning up old marketplace cache…
✔ Successfully added marketplace: knowledge-work-plugins (declared in user settings)
Two details worth knowing. First, this clones the actual GitHub repo into ~/.claude/plugins/marketplaces/ — the marketplace is just a git checkout plus a manifest. Second, Anthropic reserves the knowledge-work-plugins name: adding a local copy under that name is rejected, and the official one only resolves from the anthropics GitHub org. That is a small but real authenticity guarantee — you cannot be tricked into installing a typosquatted marketplace under this name.
3. Install your first plugin#
claude plugin install sales@knowledge-work-plugins
claude plugin list
Verified output:
Installing plugin "sales@knowledge-work-plugins"...✔ Successfully installed plugin: sales@knowledge-work-plugins (scope: user)
Installed plugins:
❯ sales@knowledge-work-plugins
Version: 2.0.1
Scope: user
Status: ✔ enabled
The plugin@marketplace syntax pins which marketplace the plugin comes from — useful now that multiple marketplaces can be registered. Now inspect what you just installed:
claude plugin details sales@knowledge-work-plugins
This prints the component inventory, and it is the single most useful command in this tutorial. For the sales plugin it reports 36 skills, 0 agents, 0 hooks, and 23 MCP servers (Slack, HubSpot, Salesforce, Gong, Gmail, Google Calendar, and more), plus a projected token cost: ~3,286 tokens always-on, with each skill loading roughly 1.6–2.4k tokens when invoked. That always-on number is just the skills' name-and-description metadata — the bodies load only when a skill fires. Run claude plugin details before installing any plugin; it is how you budget context.
4. Run a skill end to end#
Skills fire two ways: you invoke one explicitly as a slash command, or Claude notices your request matches a skill's trigger description and loads it automatically. The explicit form for the sales plugin's pipeline review is:
/sales:pipeline-review
typed into a Claude Code session, or phrased naturally — 'review my pipeline' is one of the trigger phrases in the skill's own description.
Here is the part that makes this tutorial practical: you do not need any connector set up. Every skill carries a Rules block, and the pipeline-review one says it plainly: 'Missing connector: work with what is available and say plainly what was used and what was not. Uploaded or pasted files are a complete input, not an apology.' So your first real run can be a CSV of opportunities:
opportunity,stage,amount,close_date,last_activity_days_ago
Acme Corp,Negotiation,48000,2026-10-15,3
Beta Inc,Discovery,12000,2026-11-30,41
Gamma LLC,Proposal,95000,2026-09-10,12
Delta Co,Qualification,8000,2026-12-20,2
Save that as pipeline.csv, open a Claude Code session in the same directory, and run /sales:pipeline-review. The skill grounds stage names on your file's own columns (its rules forbid assuming one CRM's schema on another), then reports coverage against your number, flags stale deals (Beta Inc, 41 days quiet), and past-due close dates (Gamma LLC). When you later connect a real CRM through the plugin's MCP servers, the same skill runs against live data with zero changes to how you invoke it. That graceful degradation — files today, connectors tomorrow — is the design decision that makes these plugins usable in an afternoon instead of a sprint.
Honest boundary: everything up to this point ran without a Claude login, but invoking a skill burns your normal Claude tokens inside a live session. Budget a few thousand tokens for the first run; claude plugin details told you the exact numbers in the previous step.
5. The anatomy of a plugin#
A plugin is a directory with four kinds of files. Nothing compiles; nothing runs except what Claude reads.

| File | Role | Example (sales plugin) |
|---|---|---|
.claude-plugin/plugin.json | Manifest: name, version, description, author | {"name": "sales", "version": "2.0.1"} |
.mcp.json | Tool connectors: MCP servers for the role's stack | Slack, HubSpot, Salesforce, Gong… (23 servers) |
skills/<name>/SKILL.md | Domain knowledge + workflow, auto-invoked | 36 skills: call-prep, forecast, … |
commands/<name>.md | Explicit slash commands with argument substitution | Rare — most plugins have none |
The marketplace itself is one more JSON file — .claude-plugin/marketplace.json at the repo root — mapping each of the 121 plugin names to a local directory, a URL, or a git subdirectory. That is the entire distribution mechanism.
A skill is markdown with YAML frontmatter. Here is the real header of the sales plugin's call-prep skill:
---
name: call-prep
description: Pre-call brief for an upcoming meeting - attendees, account history, prior call context from transcripts, open opportunity status, and suggested discovery questions. Use when the user asks "prep me for [meeting/company]", "call prep [company]", ...
---
The frontmatter schema is strict — name (lowercase, hyphens, matching the directory) and description (third person, with quoted trigger phrases) are required; metadata is optional. The description is the whole invocation mechanism: Claude matches your request against it. The body is written in the imperative ('Check which tools are connected', not 'You should check…') and stays under 3,000 words, with deeper material pushed into references/ subdirectories that load on demand.
Commands are the older format: a single .md file with description and argument-hint frontmatter, invoked as /plugin:command (the product-management plugin's brainstorm is one). The repo's own guidance now prefers skills — 'only use commands if you specifically need the single-file format with $ARGUMENTS substitution' — which is why only a handful of plugins still ship them.
6. Customize it for your org#
Out of the box these plugins are generic starting points — the README says so outright. Three customization points, in order of how often you will use them:
- Fill in the
~~placeholders. Some plugins ship as templates with~~-prefixed customization points (I found them in the sales connector docs and the productivity skills). Replace~~Jirawith your tracker,~~your-team-channelwith your channel. Find them withgrep -rn '~~[a-zA-Z]' <plugin-dir>. - Swap connectors in
.mcp.json. The sales plugin wires 23 MCP servers; your org probably uses four. Trim themcpServersmap to your stack, or repoint a URL. The Slack entry, for example, is a hosted HTTP MCP server with OAuth — replacing it with your own server is a JSON edit. Validate after every edit:python3 -c "import json; json.load(open('.mcp.json')); print('valid')" - Rewrite skill descriptions. The trigger phrases are the API. Add your team's vocabulary — 'QBR', 'MEDDPICC', your product names — to the frontmatter
descriptionso the skill fires when your people talk like themselves. Keep edits additive; never rename the skill or its directory (the repo's own customizer skill warns against it).

Where do the edits live? If you installed via the marketplace, your copy sits under ~/.claude/plugins/. Edit there for personal tweaks; for team-wide customization, fork the repo, edit, and register your fork as its own marketplace. And if you would rather be guided than grep: the cowork-plugin-management plugin ships a cowork-plugin-customizer skill that walks through this conversationally.
7. Build your own plugin#
The same file format is all you need. Scaffold it by hand — five minutes, no tooling:
mkdir -p my-plugin/.claude-plugin my-plugin/skills/release-notes
The manifest, my-plugin/.claude-plugin/plugin.json:
{
"name": "my-plugin",
"version": "0.1.0",
"description": "What this plugin does, in one sentence.",
"author": { "name": "Your Name" }
}
The skill, my-plugin/skills/release-notes/SKILL.md — frontmatter first, then the imperative workflow:
---
name: release-notes
description: >
This skill should be used when the user asks to "draft release notes",
"summarize the changelog", or "what shipped in [version]".
metadata:
version: "0.1.0"
---
# Release Notes
Draft release notes from the git history since the last tag.
## Steps
1. List tags with `git tag --sort=-creatordate`, take the newest two.
2. Collect `git log .. --oneline` and group commits by conventional-commit type.
3. Write one bullet per group, user-facing language, no internal jargon.
4. Ask before including anything security-sensitive.
Validate the JSON, then point Claude Code at it. The fastest loop is the built-in scaffolder, which creates a loadable plugin skeleton under ~/.claude/skills/:
claude plugin init my-plugin
Or register your directory as a local marketplace for testing — note the reserved-name rule from step 2 does not apply to names you invent. Either way, claude plugin details my-plugin afterwards shows you the projected token cost before anyone uses it. The repo's own create-cowork-plugin skill documents the full five-phase workflow — discovery through packaging — if you want the guided version.
When to use this vs the alternatives#
| Approach | Use it when |
|---|---|
| knowledge-work-plugins | You want a maintained, role-shaped starting point and can live with generic-first workflows you then customize. |
Instructions in CLAUDE.md | The knowledge is short, truly global, and worth its always-on token cost in every session. Plugins win the moment the knowledge is role-scoped — install only what the task needs. |
| Your own MCP server | You need a proprietary internal API the plugin's connectors do not cover. Check .mcp.json first — 23 pre-wired servers in the sales plugin alone. |
Cowork UI (claude.com/plugins) | Your users are not terminal people. Same plugin format, installed from the browser instead of the CLI. |
| Community marketplaces | You need a niche neither Anthropic nor its partners cover — but check maintenance history first; this repo's last commit was three days ago, which is the bar. |
The decision that matters most is the token budget: every installed plugin adds its skill metadata to every session (~3.3k tokens for sales). Install the two or three roles you actually live in; claude plugin disable pauses one without uninstalling it.
The takeaway#
- Install the marketplace, not just a plugin:
claude plugin marketplace add anthropics/knowledge-work-pluginsgives you all 121 plugins and future updates withclaude plugin marketplace update. - Budget with
details: runclaude plugin details <name>before installing anything — the always-on token cost is printed for you. - Start connector-free: uploaded files are a complete input for these skills, so your first real run can happen before any IT ticket.
- Customize the trigger phrases: the frontmatter
descriptionis the invocation API — teach it your team's vocabulary. - Build your own in files:
plugin.json+SKILL.mdis the whole format;claude plugin initscaffolds it.
Generalist agents got good at code first because developers were the ones in the terminal. These plugins are the same trick applied to everyone else's job — and because they are just files, the distance between 'Anthropic's sales workflow' and 'your company's sales workflow' is a text edit.