Chapter 5 · Tour · 12 min read
Claude Code alone is a good agent. With the ecosystem, it becomes a platform you extend instead of wait for.
This chapter is a tour with enough steps to try each piece yourself. Skim it, pick one thing, come back later for depth.
Everything we're about to cover — skills, plugins, MCPs, subagents — runs inside sessions. The app keeps several open at once, so one conversation can be mid-refactor while another is still planning.

A skill is a bundle of instructions + optional scripts that Claude loads on demand. A domain-specific playbook — lives in ~/.claude/skills/, activates automatically when the situation matches.
An example worth a look: visualize ↗. Takes any markdown document — a plan, a brainstorm, an architecture doc — and turns it into a polished, shareable HTML artifact. One well-defined job, well-scoped instructions, a few helper scripts. The shape of a good skill.
Open standard. Skills follow the Agent Skills open format ↗ — spec is public, skills are portable across Claude Code and other tools that adopt the standard. Anthropic maintains a reference repo ↗ with 17 production skills you can read as exemplars.
Chapter 6 shows how to have Claude build one of these for you.
A plugin bundles related skills, commands, and hooks into one installable unit. Install once, get the whole workflow.
Chapter 6 walks through installing and using the Compound Engineering plugin ↗ — Avery's full brainstorm → plan → work → review → compound loop. That's the one to try first. Super Powers ↗ is another worth knowing about — a broader pick-and-choose toolkit.
As a reference point: the Heart of Gold toolkit ↗ is a small collection of skills I bundled for my daily work (visualize is one of them). Not something to install now — an example of what emerges once you've written three or four skills you don't want to lose. You'll build one of your own.
Before you install more of other people's, write one of your own. When something repeats — the shape of the prompt, the format of the output, the sequence of steps — extract a skill. And don't hand-write SKILL.md. Have Claude do it.
Both do the same job: guide you through discovery, draft a well-shaped SKILL.md, write it to disk. Pick one.
skill-creator — shipped by Anthropic in the anthropics/skills ↗ repo. Install via /plugin from that marketplace. Canonical, minimal, teaches the shape.craft-skill — part of the Heart of Gold toolkit ↗. Opinionated, five-phase workflow with a technique checklist, higher-conformance output by default.With either installed, in a real project, run:
/skill-creator
(or /craft-skill, depending on which you installed).
Claude asks, one question at a time:
Answer each as specifically as you can. Vague answers make vague skills.
Claude then drafts the SKILL.md — name, a description with those triggers in it, bounded tool allowlist, mission, boundaries, decision rules, examples. Shows you the diff. You review, tweak, accept.
The file lands in ~/.claude/skills/my-skill/SKILL.md. Next session, when you say one of the trigger phrases, the skill activates automatically.
Skills stay under ~500 lines. Longer content goes into bundled files: references/ for reading material, scripts/ for helpers, assets/ for templates. This is called progressive disclosure — the metadata is always loaded, the body loads when triggered, the extras load only if needed.
A mature skill like visualize in the Heart of Gold toolkit ↗ shows what that looks like at scale — one SKILL.md, half a dozen helper scripts beside it, decision trees for when each script applies. None of it was hand-written cold; each piece got added when a week of use revealed a gap.
The format is an open spec ↗ — frontmatter fields, loader behaviour, progressive-disclosure rules. Anthropic's full reference is in anthropics/skills/spec/agent-skills-spec.md ↗. Skills you write work in Claude Code today and will work in any tool that adopts the spec tomorrow.
Do this three or four times — extract a skill whenever something repeats — and suddenly you have a small collection. Bundle them with a .claude-plugin/plugin.json, publish to GitHub, and that's your plugin. Same shape as the Compound Engineering plugin you installed earlier, just yours. Your team installs once and inherits everything you've learned to systematise.
That's compound, all the way down.
→ Skills docs ↗ · Plugins docs ↗
Model Context Protocol is the open standard for wiring Claude to tools that live outside its conversation — filesystems, databases, browsers, APIs. If skills extend what Claude knows, MCPs extend what Claude can do.
The standout for web work. Gives Claude live access to Chrome — console logs, network requests, Lighthouse, performance traces, screenshots.
claude mcp add --transport stdio chrome-devtools -- npx -y chrome-devtools-mcp@latest
Then in your session:
Open
https://example.comand tell me why its LCP is slow. Run Lighthouse if you need to.
Claude opens the page, inspects, reports back. This is the moment MCPs stop being abstract.
claude.ai for plan usersclaude mcp add awaymcp-builder skill in anthropics/skills scaffolds oneSecurity note. MCPs that fetch untrusted content (web pages, issues, emails) can inject instructions into your session. Anthropic's warning stands: third-party MCPs at your own risk. Chapter 8.5 has more.
A subagent is a specialised worker Claude spawns with its own context window, tools, and permissions. When Claude needs to do something heavy — explore a big codebase, run a review, summarise a long file — it can delegate to a subagent instead of burning your main context.
You can invoke them directly, or let Claude choose.
Ship-built. Read-only, fast (Haiku), ideal for "where is X?" questions in a large codebase.
In any repo, ask:
Use the Explore agent to find where authentication is handled, then summarise.
Or more explicitly, mention it by name:
@Explore: find every place we call the Stripe API.
Your main conversation gets a two-paragraph summary. The actual file-reading happened in a side context that's now discarded. You spent ~100 tokens on the result, not ~20k on the exploration.
For recurring delegation — say, a reviewer that always applies your team's standards — run:
/agents

Choose Library → Create new agent → let Claude generate the definition. Scope it (Personal or Project), restrict its tools, save. Your agent is now .claude/agents/my-agent.md and available via @my-agent or natural language.
Note. In Claude Code v2.1.63+, the internal Task tool was renamed to Agent. Older tutorials calling it Task still work — same thing.
Limit. Subagents cannot spawn other subagents. For nested delegation, use skills with context: fork or chain from the main conversation.
Two different products people confuse. Both need a Pro plan or higher — API-key-only setups are locked out.
Claude Code runs on your machine, with full local filesystem access, your configured MCPs, your keys. You drive it from a browser or mobile app.
Setup — four steps:
claude --version (needs 2.1.51+)claude → /login to sign in through claude.aiclaude --remote-control "My Project"spacebar at the terminal → QR code. Scan with the Claude mobile app (iOS ↗, Android ↗) or open claude.ai/code in a browser.You can now drive the session from anywhere. Long-running builds, PR reviews from a meeting, "check the deploy" from your phone.
Different product. Session runs on Anthropic-managed VMs, starting from a fresh clone of your GitHub repo. No local files, no local MCPs. Good for quick GitHub-based tasks from any device.
Start via claude.ai/code on the web — pick a repo, start a session.
Not a standalone Claude Code — a controller for Remote Control sessions and Claude Code on the Web. Push notifications for permission prompts. Review diffs, chat, approve tool calls from your phone. Starts web sessions on its own.
→ Remote Control docs ↗ · Claude Code on the Web ↗
Working through the lab in order? Take what this chapter taught to the sample you started in chapter 2 — or to a codebase of your own, where it'll land harder.
/plugin install skill-creator from anthropics/skills, or the Heart of Gold toolkit for /craft-skill. Pick one.scaffold-endpoint. Purpose: add a new GET /<name> route matching your project's framework conventions — minimal-API MapGet in Varianta A, @app.get in Varianta B, or whatever your own repo uses. Trigger phrases: scaffold endpoint, add a new route.GET /ping returning { "pong": true }. Review the output. If the scaffolding is off, edit the skill, not the output. That's the feedback loop.When it works: you have a reusable skill you didn't hand-write, living in ~/.claude/skills/ or your project's .claude/skills/. The next chapter's practice runs the full Compound Engineering loop on one real feature.
The ecosystem is a menu, not a checklist. Install what actually saves you time. Everything else can wait.