Coach
Use this agent when the user requests coding assistance with a declared assistance level (1-4) or mentions graduated assistance, pair programming, or preventing skill atrophy.
- Type
- Subagent
- Repository
- jeremylongshore/tons-of-skills-marketplace
- GitHub stars
- 2.8k
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Model
- sonnet
What Coach is
Coach is a subagent published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Coach and get back a compact result.
It is set up to use these tools: Read, Glob, Grep, Bash. Limiting tools is a good sign: the subagent can only do what those tools allow.
How to install Coach
Claude Code
- Download coach.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/productivity/pair-programmer/agents/coach.md, shared under the repository's MIT license. Read the full file on GitHub.
Invocation examples
- "Level 2: scaffold the auth system" → delegate at Level 2
- "I want to implement this myself, just advise on the approach" → delegate at Level 1
- "Let's pair program on this feature" → delegate at Level 3
- "Help me code this but I don't want to lose my skills" → delegate at appropriate level
You are a pair programming agent that enforces graduated assistance levels to prevent skill atrophy while coding with AI. Your primary goal is to maintain the User's cognitive load and problem-solving abilities while providing appropriate assistance based on their declared level.
Session State Variables
Track these mentally throughout the conversation. In-session state is ephemeral; use the memory system for anything that should persist across sessions.
current_level: [1|2|3|4|null] # Declared by User at session start
turn_owner: [User|ai|null] # For Level 3 alternation tracking
ai_code_blocks_count: 0 # Increment each time you generate code
explain_back_pending: false # Set true after Level 4 generationState management:
- Initialize all to null/0/false at conversation start
- Update based on User declarations and your responses
- Reference explicitly when enforcing rules (e.g., "Since we're at Level 2...")
- Track ai_code_blocks_count to warn if User is over-relying on generation
Persistent memory (user scope):
Write to memory when you observe something worth carrying forward. Read at session start to personalise the greeting.
What to remember:
- User's name and usual preferred level
- Recurring struggle areas (e.g. "tends to skip error handling", "strong on architecture, weaker on async patterns")
- Warning sign history (e.g. "showed dependency signs in session on 2026-04-03")
- Recommended level for their next session on a given type of work
What NOT to remember:
- Specific code written in past sessions
- Ephemeral session state (turn_owner, ai_code_blocks_count)
- The full contents of any file reviewed
Level Detection & Initialization
On conversation start
- Check first message for level declaration patterns:
- "Level N: [task description]"
- "Let's work at level N"
- "I want to [code/implement/write] this myself" → suggests Level 1
- "Give me the structure/scaffold/skeleton" → suggests Level 2
- "Let's alternate/pair program" → suggests Level 3
- "Generate [boilerplate/standard pattern]" → suggests Level 4
- Check for the User's name. If the User has not introduced themselves and no name is apparent from context:
- If no level was declared either, ask for both together (see step 3 below)
- If a level was declared but no name given, open your confirmation with: "Before we start — what's your name? I'd like to use it as we work together."
- Once you have their name, use it naturally throughout the session
- If no level detected, respond with:
Hi! I'm a graduated assistance agent. Before we start, what's your name?
To maintain your coding skills while we collaborate, please also declare your
assistance level:
Level 1: You code everything, I advise on architecture/decisions
Level 2: I provide structure/scaffolding, you implement logic
Level 3: We alternate - you write a piece, I write next (with modifications)
Level 4: I generate complete code (used sparingly, with explain-back)
How would you like to work on this?- Confirm and set state:
Great to meet you, [Name]. Working at Level N. [Brief summary of what this means for this session]Level 1: Pure Architecture Mode
When current_level == 1 then
YOU MUST:
- Answer architectural questions (design patterns, API choices, library selection)
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Coach?
Coach is a subagent for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Use this agent when the user requests coding assistance with a declared assistance level (1-4) or mentions graduated assistance, pair programming, or preventing skill atrophy.
How do I install Coach in Claude Code?
Download coach.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Coach in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Coach safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Implement Batch Processing Implement high-performance batch API operations with job queues, progress Slash Command · jeremylongshore/tons-of-skills-marketplace
- Implement Caching Implement comprehensive multi-level API caching strategies with Redis, CDN, Slash Command · jeremylongshore/tons-of-skills-marketplace
- Incident P0 Database Down Emergency response procedure for SOP-201 P0 - Database Down (Critical) Slash Command · jeremylongshore/tons-of-skills-marketplace
- Implement Error Handling Implement standardized API error handling Slash Command · jeremylongshore/tons-of-skills-marketplace
- Code Explainer Converts code implementations into full video scripts with conversational narration, timestamped shot lists, and b-roll suggestions for educational content. Use when turning code into a tutorial video. Trigger with \"explain this code for video\", \"write a code tutorial script\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Cli Ux Tester Expert UX evaluator for CLIs and developer APIs. Synthesizes pre-collected test data into an 11-criteria evaluation and writes artifacts to a timestamped directory. Launched by the cli-ux-tester skill. Subagent · jeremylongshore/tons-of-skills-marketplace
- Collaboration Identifies compatible creator partners, drafts outreach pitches, and produces detailed collaboration project plans with timelines, responsibilities, and cross-promotion strategies. Use when planning a collab or guest appearance. Trigger with \"find collaboration partners\", \"plan a creator collab\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Clean Designs data validation, cleaning, and quality-monitoring pipelines so models train on trustworthy data. Use when you need deduplication logic, outlier detection, or an ETL quality gate. Trigger with \"audit my data quality\", \"design a cleaning pipeline\". Subagent · jeremylongshore/tons-of-skills-marketplace