{"id":"8707ce12-783f-4358-b7bc-e573e93a5ecc","shortId":"WTE5s5","kind":"skill","title":"coach","tagline":"Use when Claude makes repeated mistakes, users correct behavior, tool failures indicate missing knowledge, or managing learning via /coach commands.","description":"# Coach - Self-Improving Learning System\n\nCoach 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.\n\n**Core Principle**: No silent writes. All improvements require user approval via `/coach approve`.\n\n## Activation Triggers\n\nActivate 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.\n\n## Signal Categories (Priority Order)\n\n1. **COMMAND_FAILURE** (Highest) - Non-zero exit, stderr patterns\n2. **USER_CORRECTION** (High) - Explicit correction language\n3. **SKILL_SUPPLEMENT** (High) - Additional guidance for a skill\n4. **VERSION_ISSUE** (Medium-High) - Deprecated/outdated warnings\n5. **REPETITION** (Medium) - Semantically similar instruction repeated\n6. **TONE_ESCALATION** (Low) - Frustration indicators\n\n## Candidate Types\n\n| Type | Description | Example |\n|------|-------------|---------|\n| `rule` | Stable constraint | \"Never edit generated files\" |\n| `checklist` | Workflow step | \"Run tests after code change\" |\n| `snippet` | Repeatable command | \"Preflight check script\" |\n| `skill` | Skill update suggestion | \"Add X guidance to Y skill\" |\n| `antipattern` | Things to never do | \"Never assume tool exists\" |\n\n## Workflow Summary\n\n1. **Detection** — hooks capture events → `~/.claude-coach/events.sqlite`\n2. **Generation** — aggregate signals into proposals (fingerprints dedupe)\n3. **Scope** — project vs global per path/language\n4. **Review** — `/coach review` approves/rejects/edits\n5. **Apply** — approved rules → CLAUDE.md\n6. **Retro** — `/coach retro` maps manual work to skill gaps, opens PRs at source repos\n\n## File Locations\n\n```\n~/.claude-coach/\n├── events.sqlite      # Raw friction events\n├── candidates.json    # Pending proposals\n└── ledger.sqlite      # Cross-repo fingerprints\n\n~/.claude/ or <repo>/.claude/\n├── CLAUDE.md          # Rules destination\n├── checklists/        # Workflow checklists\n└── snippets/          # Reusable commands\n```\n\n## Scripts\n\nExecute from `${CLAUDE_PLUGIN_ROOT}/scripts/`:\n\n| Script | Purpose |\n|--------|---------|\n| `init_coach.py` | Initialize coach system |\n| `detect_signals.py` | Pattern detection for friction |\n| `aggregate.py` | Turn signals into candidates |\n| `skill_analyzer.py` | Analyze skills and scan for outdated tools |\n| `apply.py` | Apply approved proposals |\n\n## Proactive Commands\n\n- `/coach scan` — Check for outdated CLI tools and dependencies\n- `/coach retro` — Session retrospective: analyze manual work, create PRs to improve skills at source\n\nFor detailed architecture, schemas, and patterns, see `references/` directory.","tags":["coach","claude","plugin","netresearch","agent-skills","ai-agent","ai-assistant","automation","claude-code","open-standard","self-learning","skill"],"capabilities":["skill","source-netresearch","skill-coach","topic-agent-skills","topic-ai-agent","topic-ai-assistant","topic-automation","topic-claude","topic-claude-code","topic-open-standard","topic-self-learning","topic-skill"],"categories":["claude-coach-plugin"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/netresearch/claude-coach-plugin/coach","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add netresearch/claude-coach-plugin","source_repo":"https://github.com/netresearch/claude-coach-plugin","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (2,911 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:06.662Z","embedding":null,"createdAt":"2026-04-23T13:03:54.466Z","updatedAt":"2026-05-18T19:08:06.662Z","lastSeenAt":"2026-05-18T19:08:06.662Z","tsv":"'/.claude':266,268 '/.claude-coach':253 '/.claude-coach/events.sqlite':210 '/coach':20,73,102,228,238,315,324 '/scripts':284 '1':111,205 '2':121,211 '3':128,219 '4':137,226 '5':145,231 '6':152,236 'action':52 'activ':75,77 'add':188 'addit':132 'aggreg':213 'aggregate.py':296 'also':95 'analyz':302,328 'antipattern':194 'appli':232,310 'apply.py':309 'approv':61,71,74,233,311 'approves/rejects/edits':230 'architectur':340 'assum':200 'behavior':10 'candid':54,158,300 'candidates.json':258 'cap':92 'captur':208 'categori':108 'chang':57,177 'check':182,317 'checklist':170,272,274 'claud':4,30,281 'claude.md':235,269 'cli':320 'coach':1,22,28,289 'code':176 'command':21,103,112,180,277,314 'constraint':165 'core':62 'correct':9,44,80,123,126 'creat':331 'cross':263 'cross-repo':262 'dedup':218 'depend':323 'deprec':98 'deprecated-tool':97 'deprecated/outdated':143 'descript':161 'destin':271 'detail':339 'detect':40,206,293 'detect_signals.py':291 'directori':346 'edit':167 'enabl':29 'end':106 'escal':50,90,154 'event':209,257 'events.sqlite':254 'exampl':162 'execut':279 'exist':202 'exit':118 'explicit':59,101,125 'extract':51 'failur':12,48,88,113 'file':169,251 'fingerprint':217,265 'friction':34,256,295 'frustrat':156 'gap':245 'generat':168,212 'global':223 'guidanc':133,190 'high':124,131,142 'highest':114 'hook':207 'improv':25,36,53,68,334 'indic':13,157 'init_coach.py':287 'initi':288 'instruct':46,86,150 'issu':139 'knowledg':15 'languag':127 'learn':18,26,32,41 'ledger.sqlite':261 'locat':252 'low':155 'make':5 'manag':17 'manual':241,329 'map':240 'medium':141,147 'medium-high':140 'miss':14 'mistak':7 'never':166,197,199 'non':116 'non-zero':115 'open':246 'opportun':42 'order':110 'outdat':307,319 'path/language':225 'pattern':120,292,343 'pend':259 'per':224 'plugin':282 'preflight':181 'principl':63 'prioriti':109 'proactiv':313 'project':221 'propos':56,216,260,312 'prs':247,332 'purpos':286 'raw':255 'refer':345 'rememb':96 'repeat':6,45,85,151,179 'repetit':146 'repo':250,264 'requir':58,69 'retro':237,239,325 'retrospect':327 'reusabl':276 'review':227,229 'root':283 'rule':163,234,270 'run':173 'scan':305,316 'schema':341 'scope':220 'script':183,278,285 'see':344 'self':24 'self-improv':23 'semant':148 'session':105,326 'signal':107,214,298 'silent':65 'similar':149 'skill':93,129,136,184,185,193,244,303,335 'skill-coach' 'skill_analyzer.py':301 'snippet':178,275 'sourc':249,337 'source-netresearch' 'stabl':164 'stderr':119 'step':172 'stop':82 'suggest':187 'summari':204 'supplement':94,130 'system':27,290 'test':174 'thing':195 'time':38 'tone':49,89,153 'tool':11,47,99,201,308,321 'tool/command':87 'topic-agent-skills' 'topic-ai-agent' 'topic-ai-assistant' 'topic-automation' 'topic-claude' 'topic-claude-code' 'topic-open-standard' 'topic-self-learning' 'topic-skill' 'trigger':76 'turn':297 'type':159,160 'updat':186 'use':2 'user':8,43,60,70,79,122 'version':138 'via':19,72 'vs':222 'warn':100,144 'work':242,330 'workflow':171,203,273 'write':66 'x':189 'y':192 'zero':117","prices":[{"id":"939d0cf3-d398-41e8-91d2-1cc40b8029c0","listingId":"8707ce12-783f-4358-b7bc-e573e93a5ecc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"netresearch","category":"claude-coach-plugin","install_from":"skills.sh"},"createdAt":"2026-04-23T13:03:54.466Z"}],"sources":[{"listingId":"8707ce12-783f-4358-b7bc-e573e93a5ecc","source":"github","sourceId":"netresearch/claude-coach-plugin/coach","sourceUrl":"https://github.com/netresearch/claude-coach-plugin/tree/main/skills/coach","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:54.466Z","lastSeenAt":"2026-05-18T19:08:06.662Z"}],"details":{"listingId":"8707ce12-783f-4358-b7bc-e573e93a5ecc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"netresearch","slug":"coach","github":{"repo":"netresearch/claude-coach-plugin","stars":11,"topics":["agent-skills","ai-agent","ai-assistant","automation","claude","claude-code","open-standard","self-learning","skill"],"license":"other","html_url":"https://github.com/netresearch/claude-coach-plugin","pushed_at":"2026-04-30T08:05:01Z","description":"Agent Skill: Self-improving learning system - detects friction, proposes improvements | Claude Code compatible","skill_md_sha":"efc776a970220a7400cd5cebabf0d60cc676e605","skill_md_path":"skills/coach/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/netresearch/claude-coach-plugin/tree/main/skills/coach"},"layout":"multi","source":"github","category":"claude-coach-plugin","frontmatter":{"name":"coach","license":"(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0","description":"Use when Claude makes repeated mistakes, users correct behavior, tool failures indicate missing knowledge, or managing learning via /coach commands.","compatibility":"Requires python3 (for signal detection, aggregation, and analysis scripts)."},"skills_sh_url":"https://skills.sh/netresearch/claude-coach-plugin/coach"},"updatedAt":"2026-05-18T19:08:06.662Z"}}