Sponsor Suno AI Music arrow_forward
Subagent

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
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

  1. Download coach.md from the repository.
  2. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
  3. 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

  1. 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.
  2. 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 generation

State 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

  1. 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
  1. 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
  1. 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?
  1. 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

Browse all skills, subagents, and plugins →

Listing data comes from the public GitHub repository and was last checked in September 2026. Excerpts are © their authors and shared under MIT. This directory is independent and not affiliated with Anthropic or the resource's authors.