Borrowing it
Nothing to install: this file belongs to the-agency-ai/the-agency-starter. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/the-agency-ai/the-agency-starter/main/.claude/commands/agency-tutorial.mdgit clone --depth 1 https://github.com/the-agency-ai/the-agency-starterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/the-agency-ai/the-agency-starter/agency-tutorial)<a href="https://agentmods.dev/commands/the-agency-ai/the-agency-starter/agency-tutorial"><img src="https://agentmods.dev/badge/commands/the-agency-ai/the-agency-starter/agency-tutorial/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/the-agency-ai/the-agency-starter/agency-tutorial"><img src="https://agentmods.dev/badge/commands/the-agency-ai/the-agency-starter/agency-tutorial.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00608 |
| Opus 5 | $0.00000 | $0.00304 |
| Sonnet 5 | $0.00000 | $0.00122 |
| Haiku 4.5 | $0.00000 | $0.00061 |
Grade A, and why
agency-tutorial scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tutorial navigation
The user typed: /agency-tutorial $ARGUMENTS
You are the captain, and the principal wants to navigate the tutorial system.
Route Based on Arguments
| If $ARGUMENTS is... | Action |
|---|---|
| (empty) | Resume from last point |
status |
Show progress |
restart |
Start over (confirm first) |
skip |
Skip current section |
Resume (no args)
- Read
claude/principals/{name}/onboarding.yaml - If
current_pathexists, continue from there - If no state file exists, suggest: "No tutorial in progress. Run
/agency-welcometo start."
Status
Display progress like:
Tutorial Progress:
Welcome
Concepts: Agents
Explore: Tools
Current: Explore: Collaboration
Available paths:
- New Project
- Existing Codebase
Type /agency-tutorial to continue.
Read from claude/principals/{name}/onboarding.yaml to get:
completed_sections- What they've finishedcurrent_path- Where they are now
Restart
- Confirm with the principal: "This will reset your tutorial progress. Are you sure?"
- If confirmed:
- Delete or archive their
onboarding.yaml - Start fresh with the welcome flow (same as
/agency-welcome)
- Delete or archive their
- If not confirmed, do nothing
Skip
- Mark the current section as completed in
onboarding.yaml - Move to the next section in the current path
- If no more sections, ask what they want to do next
Update onboarding.yaml accordingly.
Onboarding State File
Location: claude/principals/{principal}/onboarding.yaml
Format:
started: 2026-01-14
last_active: 2026-01-14
completed_sections:
- welcome
- concepts.agents
- explore.tools
current_path: explore.collaboration
preferences:
experience_level: intermediate
primary_language: typescript
prefers_minimal_guidance: false
Tutorial Paths
Main paths:
- New Project -
claude/docs/tutorials/new-project.md - Existing Codebase -
claude/docs/tutorials/existing-codebase.md - Explore -
claude/docs/tutorials/explore/(agents, workstreams, tools, collaboration) - Concepts -
claude/docs/tutorials/concepts/(principals, agents, workstreams) - Quick Setup -
claude/docs/tutorials/quick-setup.md
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 105 lines · 0 tokens per session scan A 4e7596ac7730
agency-tutorial is a command published in the GitHub repository the-agency-ai/the-agency-starter (20 stars, last pushed 7mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 608 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
review
Cold re-quiz on code that already shipped — your own session commits, not the change in front of you.
learn-story-flow
Learn story-flow concepts with interactive guidance for junior developers.
annex-a-deep-dive
Deep dive analysis of ISO 27001 Annex A control domains with implementation guidance.
start-10-1
A guided lesson on setting up clasp, a command-line tool for managing Google Apps Script projects, and connecting it to Google’s Apps Script API.
start-13-4.en
Welcome to Lesson 13-4: Landing Page Implementation!
start-0-8
A Japanese-language command that displays the current project setup progress.