Coach
Agent Skill: Self-improving learning system - detects friction, proposes improvements | Claude Code compatible
npx -y skills add netresearch/claude-coach-plugin --skill coachAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when Claude makes repeated mistakes, users correct behavior, tool failures indicate missing knowledge, or managing learning via /coach commands.
The file declares its own license as (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.8 KB, 807 tokens by cl100k_base, as published. Nobody here has run it
Coach - Self-Improving Learning System
Coach enables Claude to learn from friction and improve over time. It detects learning opportunities (user corrections, repeated instructions, tool failures, tone escalation), extracts actionable improvement candidates, and proposes changes requiring explicit user approval.
Core Principle: No silent writes. All improvements require user approval via /coach approve.
Activation Triggers
Activate when: user corrections ("no", "stop", "don't"), repeated instructions, tool/command failures, tone escalation (ALL CAPS, "!!!"), skill supplements ("also remember..."), deprecated-tool warnings, explicit /coach commands, or session end.
Signal Categories (Priority Order)
- COMMAND_FAILURE (Highest) - Non-zero exit, stderr patterns
- USER_CORRECTION (High) - Explicit correction language
- SKILL_SUPPLEMENT (High) - Additional guidance for a skill
- VERSION_ISSUE (Medium-High) - Deprecated/outdated warnings
- REPETITION (Medium) - Semantically similar instruction repeated
- TONE_ESCALATION (Low) - Frustration indicators
Candidate Types
| Type | Description | Example |
|---|---|---|
rule | Stable constraint | "Never edit generated files" |
checklist | Workflow step | "Run tests after code change" |
snippet | Repeatable command | "Preflight check script" |
skill | Skill update suggestion | "Add X guidance to Y skill" |
antipattern | Things to never do | "Never assume tool exists" |
Workflow Summary
- Detection — hooks capture events →
~/.claude-coach/events.sqlite - Generation — aggregate signals into proposals (fingerprints dedupe)
- Scope — project vs global per path/language
- Review —
/coach reviewapproves/rejects/edits - Apply — approved rules →
~/.claude/CLAUDE.md(global) or repoAGENTS.md(project) - Retro —
/coach retromaps manual work to skill gaps, opens PRs at source repos
File Locations
~/.claude-coach/
├── events.sqlite # Raw friction events
├── candidates.json # Pending proposals
└── ledger.sqlite # Cross-repo fingerprints
~/.claude/CLAUDE.md # Global rules destination
<repo>/AGENTS.md # Project rules destination
~/.claude/ or <repo>/.claude/
├── checklists/ # Workflow checklists
└── snippets/ # Reusable commands
Scope
Coach: live in-session signal — events.sqlite capture, /coach commands.
retro: session-end / cross-session analysis, skill-PR routing. /coach retro overlaps retro's job; merging them is an open decision.
Scripts
scripts/ (this dir) — self-contained for skill-dir installs. Plugin path:
${CLAUDE_PLUGIN_ROOT}/skills/coach/scripts/:
| Script | Purpose |
|---|---|
init_coach.py | Initialize coach system |
detect_signals.py | Pattern detection for friction |
aggregate.py | Turn signals into candidates |
skill_analyzer.py | Analyze skills and scan for outdated tools |
apply.py | Apply approved proposals |
Proactive Commands
/coach scan— Check for outdated CLI tools and dependencies/coach retro— Session retrospective: analyze manual work, create PRs to improve skills at source
For detailed architecture, schemas, and patterns, see references/ directory.