mcpField
C
coach

coach

github.com/netresearchAgent workflows1383 installsUpdated 11w ago
Repository

About coach

Coach is a Claude skill that detects friction such as corrections, repeated instructions, and tool failures, then proposes reusable improvements. Changes require explicit approval before they are applied.

Key features

  1. 01Detect corrections and repeated instructions
  2. 02Capture tool failures and other friction signals
  3. 03Generate deduplicated improvement proposals
  4. 04Review and approve proposed changes
  5. 05Apply approved rules to project or global files

Use cases

  1. 01Turn recurring corrections into project rules
  2. 02Review suggestions after tool failures
  3. 03Find outdated CLI tools and dependencies
  4. 04Identify skill gaps from manual work

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/netresearch/claude-coach-plugin --skill coach

After installing, type/coachin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
architecture.md
schema.md
scope_heuristics.md
signal_patterns.md
scripts/
aggregate.py
apply.py
detect_signals.py
fingerprint.py
hook_healer.py
init_coach.py
ledger.py
propose.py
root_cause_analyzer.py
scope_analyzer.py
skill_analyzer.py
scripts/tests/
test_process_violation_clustering.py

Details

From the project README

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)

  1. COMMAND_FAILURE (Highest) - Non-zero exit, stderr patterns
  2. USER_CORRECTION (High) - Explicit correction language
  3. SKILL_SUPPLEMENT (High) - Additional guidance for a skill
  4. VERSION_ISSUE (Medium-High) - Deprecated/outdated warnings
  5. REPETITION (Medium) - Semantically similar instruction repeated
  6. TONE_ESCALATION (Low) - Frustration indicators

Candidate Types

TypeDescriptionExample
ruleStable constraint"Never edit generated files"
checklistWorkflow step"Run tests after code change"
snippetRepeatable command"Preflight check script"
skillSkill update suggestion"Add X guidance to Y skill"
antipatternThings to never do"Never assume tool exists"

Workflow Summary

  1. Detection — hooks capture events → ~/.claude-coach/events.sqlite
  2. Generation — aggregate signals into proposals (fingerprints dedupe)
  3. Scope — project vs global per path/language
  4. Review — /coach review approves/rejects/edits
  5. Apply — approved rules → ~/.claude/CLAUDE.md (global) or repo AGENTS.md (project)
  6. Retro — /coach retro maps 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/:

ScriptPurpose
init_coach.pyInitialize coach system
detect_signals.pyPattern detection for friction
aggregate.pyTurn signals into candidates
skill_analyzer.pyAnalyze skills and scan for outdated tools
apply.pyApply 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.

Comments

Markdown supported