[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PVAFD7P4RY7JA5EFD2GQCW":3,"skill-same:01M6PVAFD7P4RY7JA5EFD2GQCW":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":44,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6PVAFD7P4RY7JA5EFD2GQCW","doc-protocol",null,"Use when a task changes `docs\u002F*.md`, `README.md` or `CONTRIBUTING.md`, lifts structure from a precedent doc, enumerates six or more items to document, or adds or renames a code-side name (skill, role, path, CLI).","muratovv\u002Fai-hats","muratovv","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7502801?v=4","01M6JGCBN4KEJX012GPJVSH04T","Fedor Muratov","01M6JGCBSNMN7CW3RGTPPE0MN2",3,"MIT","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fai-hats-dev\u002Fskills\u002Fdoc-protocol\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"doc protocol","protocol","doc","document","changes","path","role","more","name","structure","task","cli","use","README","precedent","contributing","code","docs","2026-11-10 10:12:30",false,"---\nname: doc-protocol\ndescription: >-\n  Use when a task changes `docs\u002F*.md`, `README.md` or `CONTRIBUTING.md`,\n  lifts structure from a precedent doc, enumerates six or more items to\n  document, or adds or renames a code-side name (skill, role, path, CLI).\nlicense: MIT\nai_hats:\n  schema_version: 1\n  type: skill\n---\n\n# Doc Protocol\n\nThree coordinated checks for any task that **changes documentation text**\n(`docs\u002F*.md`, `README.md`, `CONTRIBUTING.md`, `how-to-*.md`, `ARCHITECTURE.md`,\n`reflect.md`, glossary, etc.):\n\n1. **Plan-stage style forks** — surface style conventions as explicit forks before writing.\n2. **Plan-stage breadth triage** — when task enumerates many items, propose curated subset.\n3. **Pre-commit artifact verification** — grep every named code-artifact in the doc to catch phantom references.\n\nEach check fires at a different lifecycle stage but shares one audience\n(the user reviewing the doc PR) and one failure mode (extra review rounds).\n\n## When to Use\n\nScope is *prose docs a human reviews* — `docs\u002F*.md`, `README`, `CONTRIBUTING`,\nhow-to \u002F architecture pages. **Not** code comments or docstrings (those ride\nalong with the code change), and **not** recording an architecture decision —\nthat's **adr-manager**. Fires when:\n\n- Task changes any `docs\u002F*.md`, `README.md`, `CONTRIBUTING.md`.\n- Task lifts structure from a \"precedent doc\" (\"I'll match the style from X\").\n- Task description enumerates ≥6 items to document (components, sections, recipes).\n- Task adds or renames names of code-side artifacts (skills\u002Froles\u002Fpaths\u002FCLI).\n\n---\n\n## Section 1: Plan-Stage Style Forks\n\nDoc tasks accumulate review rounds when style conventions are settled silently.\n**Surface them as explicit forks at plan stage** — saves 2–3 review iterations.\n\n### Fork checklist (include in `plan.md` under `## Style conventions`)\n\nAny style convention that would earn a review comment if you guessed wrong is a\nplan-stage fork. The six below are the ones that recur — surface others as you\nmeet them (line-wrap width, heading numbering, table-vs-list are common).\n\n1. **Reference format** — inline `[text](url)` \u002F inline link with title \u002F numbered footnote `[N]` \u002F markdown reference-style.\n2. **Voice** — imperative (\"Run …\") \u002F descriptive (\"The runner runs …\").\n3. **In-snippet code comments** — terse (just-the-code) \u002F pedagogical \u002F cross-link tags \u002F none.\n4. **Cross-link policy** — link on first mention only \u002F re-link on every occurrence.\n5. **Terminology source-of-truth** — name a single source (glossary doc, code module) and pin all rename-able names to it before writing.\n6. **Code blocks** — agent-runs-this \u002F user-runs-this \u002F mixed (label each).\n\n### Precedent-doc trap\n\nWhen lifting structure from an existing doc (\"I'll match the numbered-refs\nstyle from `how-to-feedback-loop.md`\"):\n\n- **Name the precedent in the plan-stage fork.**\n- Ask: \"keep this style or simplify?\"\n- Precedent docs are not automatically canonical. They may have landed without\n  full user approval, and may drift later.\n\n**Worked example.** A doc lifted the dual numbered-refs format (`**[N]**` visible\nsection + `[N]: url` defs) from `how-to-feedback-loop.md`. User dropped the\nlink-ref defs on first review; a later pass converged the convention to\nvisible-section-only across all docs.\n\nSkip section 1 only for trivial single-paragraph doc edits.\n\n---\n\n## Section 2: Plan-Stage Breadth Triage\n\nWhen a doc task description enumerates **≥6 items** to document (components,\nsections, recipes, fixtures), the enumeration is a **starting set, not a contract**.\nThe user wants a high-signal subset, not a full catalog.\n\n### Triage procedure\n\nAt plan stage, do NOT plan to enumerate every item. Instead:\n\n1. **Identify the high-signal subset** — items that show up by name in user-facing prose, are likely to be cross-doc cited, or define an interface most readers actually meet.\n2. **Present a keep \u002F drop \u002F merge triage** via `AskUserQuestion` or as an explicit plan-stage fork.\n3. **Defaults:**\n   - Keep **≤5** items.\n   - **Merge clusters** that share an audience (e.g., \"judge \u002F role-judge \u002F role-auditor\" → one entry for the reflection-role cluster).\n   - **Drop low-surface items** (engine-internal plumbing, names referenced only from code).\n\nTreat the task-description enumeration as **research notes** (which items\nexist), not as the deliverable shape.\n\n### Worked example\n\n**A glossary-extend task.** It listed 37 components from\n`packages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fcore\u002F` (7 roles + 6 traits + 5 rules + 19 skills) with a one-line\npurpose each. Initial plan: document all 37.\n\nUser trimmed to **5 entries** (3 key roles + 2 key traits), dropped Rules and\nSkills sections entirely. Rationale: glossary entries pay a reader-attention\ncost; only items that show up in cross-doc prose earn a slot. The detail\nlives in `ai-hats list ...` and per-component files.\n\nResult with triage: 4 hours saved + tighter doc.\n\n---\n\n## Section 3: Pre-Commit Claim Verification\n\nDoc text accumulates claims that were true once — a renamed skill, a moved\npath, a glob that stopped matching, a count that drifted. The invariant and the\nfour kinds of checkable claim are rule `rule_verify_authored_claims`; this\nsection is the doc-side recipe for applying it.\n\n### Verification procedure (before commit)\n\nUnroll every claim the doc makes about code-side artifacts. Names are the\ncommon case, not the whole job: a glob, an \"every\"\u002F\"always\", and a count rot\nthe same way and are just as invisible to the test suite.\n\n```bash\n# Resolve the library from the checkout you are IN — never hard-code the root,\n# it has moved once already, and a literal path silently measures main.\nLIB=$(python3 -c 'import ai_hats_library, pathlib; print(pathlib.Path(ai_hats_library.__file__).parent)')\n\n# Names: does each one resolve, here, now?\nfor name in \u003Ccandidates>; do\n    find \"$LIB\" -maxdepth 3 -type d -name \"$name\" | grep -q . || echo \"MISSING: $name\"\ndone\n\n# Globs: expand and READ the match list — is the set the one you meant?\n# `find -name`, not a shell glob: under zsh a non-matching brace arm aborts\n# the whole line before anything prints.\nfind \"$LIB\"\u002Fcore\u002Fskills \"$LIB\"\u002Fusage\u002Fskills -maxdepth 1 -name '\u003Cyour-glob>'\n\n# CLI: the subcommand and the flag both have to exist.\nai-hats \u003Csubcommand> --help\n```\n\nQuantifiers and counts have no one-liner: for \"every X does Y\" find the branch\nthat breaks it; for a number, count it or drop it.\n\nSurface anything unresolved **before commit** — fix the doc, file a backlog\nitem, or delete the claim.\n\n### INDEX.md freshness\n\nWhen a doc task **adds, removes, or renames** a file under `docs\u002F`, or\nsignificantly restructures an existing one (new top-level section, renamed\nanchor), update `docs\u002FINDEX.md`:\n\n- Add the file to the **Companion docs catalog** table with topic and\n  when-to-read.\n- If the file is relevant to a specific wizard step — add it under the\n  **Wizard companion docs** section too.\n- Remove the entry on file deletion; update the row on rename.\n\nMechanical enforcement: `pre-commit-docs-index.sh` (from the `git-mastery`\nskill) blocks the commit when staged changes add \u002F delete \u002F rename\n`docs\u002F*.md` without `docs\u002FINDEX.md` also being staged. Content-only\nedits (status `M`) do not trigger the hook. This instruction explains\nthe **why**; the hook is the safety net.\n\nOverride (rare, only after user confirmation that the catalog drift is\nintentional): `AI_HATS_DOCS_INDEX_ACK=1`, exported by the supervisor in the\nshell that runs the commit — see **safety-guard**.\n\n### Worked example\n\n**A sync-pass on `how-to-feedback-loop.md`.** The doc referenced a\n`hypothesis-workflow` skill that does NOT exist in `library\u002F`. Phantom from\nan earlier era — the predecessor never grep-verified. Caught at round-2 user\nreview. Same root cause as a stale `reflect all` → `judge` role mention\nelsewhere in the same doc.\n\nApplies to translation tasks and drift-fix tasks alike — verification is orthogonal to text content.\n\n---\n\n## Anti-Patterns\n\n- **Settling style silently** — landing the PR and discovering 6 style questions only in review.\n- **Enumerating all ≥6 items** because they were listed in the task description — enumeration ≠ contract.\n- **Verifying only the names** on a doc that also asserts a glob, an \"every\"\u002F\"always\", or a count — they rot the same way (rule `rule_verify_authored_claims`).\n- **Lifting precedent doc structure** without asking \"keep this or simplify?\" — precedent drift bypasses user approval.\n- **Bundling style decisions into review feedback** — pay 2-3 rounds upstream of writing.\n\n## Completion\n\nA doc task passes this protocol when:\n\n- `plan.md` has a `## Style conventions` section resolving the recurring six plus any further fork this doc raises.\n- If enumeration ≥6: triage was performed and ≤5 items remain (or user explicitly waived).\n- Every checkable claim in the doc — name, glob, quantifier, count — was unrolled against source.\n- Numbered-refs convention from CONTRIBUTING followed (if cross-doc\u002Fcross-file\u002Ffixture links).\n- `docs\u002FINDEX.md` updated when the task adds, removes, or renames a file under `docs\u002F`.\n\n## See also\n\n- `rule_verify_authored_claims` — the invariant §3 applies; covers injections and `SKILL.md` too, which this skill does not.\n- `design-minimalism` — same upstream principle (curate, don't enumerate), applied at design phase.\n- `scope-guard` — implementation-stage scope discipline.\n- `CONTRIBUTING.md#documentation-references` — numbered-refs format spec.\n- `docs\u002Fglossary.md` — terminology source-of-truth.\n- `docs\u002FINDEX.md` — wizard companion-docs catalog (must stay in sync; enforced by `pre-commit-docs-index.sh`).\n","# Doc Protocol\n\nThree coordinated checks for any task that **changes documentation text**\n(`docs\u002F*.md`, `README.md`, `CONTRIBUTING.md`, `how-to-*.md`, `ARCHITECTURE.md`,\n`reflect.md`, glossary, etc.):\n\n1. **Plan-stage style forks** — surface style conventions as explicit forks before writing.\n2. **Plan-stage breadth triage** — when task enumerates many items, propose curated subset.\n3. **Pre-commit artifact verification** — grep every named code-artifact in the doc to catch phantom references.\n\nEach check fires at a different lifecycle stage but shares one audience\n(the user reviewing the doc PR) and one failure mode (extra review rounds).\n\n## When to Use\n\nScope is *prose docs a human reviews* — `docs\u002F*.md`, `README`, `CONTRIBUTING`,\nhow-to \u002F architecture pages. **Not** code comments or docstrings (those ride\nalong with the code change), and **not** recording an architecture decision —\nthat's **adr-manager**. Fires when:\n\n- Task changes any `docs\u002F*.md`, `README.md`, `CONTRIBUTING.md`.\n- Task lifts structure from a \"precedent doc\" (\"I'll match the style from X\").\n- Task description enumerates ≥6 items to document (components, sections, recipes).\n- Task adds or renames names of code-side artifacts (skills\u002Froles\u002Fpaths\u002FCLI).\n\n---\n\n## Section 1: Plan-Stage Style Forks\n\nDoc tasks accumulate review rounds when style conventions are settled silently.\n**Surface them as explicit forks at plan stage** — saves 2–3 review iterations.\n\n### Fork checklist (include in `plan.md` under `## Style conventions`)\n\nAny style convention that would earn a review comment if you guessed wrong is a\nplan-stage fork. The six below are the ones that recur — surface others as you\nmeet them (line-wrap width, heading numbering, table-vs-list are common).\n\n1. **Reference format** — inline `[text](url)` \u002F inline link with title \u002F numbered footnote `[N]` \u002F markdown reference-style.\n2. **Voice** — imperative (\"Run …\") \u002F descriptive (\"The runner runs …\").\n3. **In-snippet code comments** — terse (just-the-code) \u002F pedagogical \u002F cross-link tags \u002F none.\n4. **Cross-link policy** — link on first mention only \u002F re-link on every occurrence.\n5. **Terminology source-of-truth** — name a single source (glossary doc, code module) and pin all rename-able names to it before writing.\n6. **Code blocks** — agent-runs-this \u002F user-runs-this \u002F mixed (label each).\n\n### Precedent-doc trap\n\nWhen lifting structure from an existing doc (\"I'll match the numbered-refs\nstyle from `how-to-feedback-loop.md`\"):\n\n- **Name the precedent in the plan-stage fork.**\n- Ask: \"keep this style or simplify?\"\n- Precedent docs are not automatically canonical. They may have landed without\n  full user approval, and may drift later.\n\n**Worked example.** A doc lifted the dual numbered-refs format (`**[N]**` visible\nsection + `[N]: url` defs) from `how-to-feedback-loop.md`. User dropped the\nlink-ref defs on first review; a later pass converged the convention to\nvisible-section-only across all docs.\n\nSkip section 1 only for trivial single-paragraph doc edits.\n\n---\n\n## Section 2: Plan-Stage Breadth Triage\n\nWhen a doc task description enumerates **≥6 items** to document (components,\nsections, recipes, fixtures), the enumeration is a **starting set, not a contract**.\nThe user wants a high-signal subset, not a full catalog.\n\n### Triage procedure\n\nAt plan stage, do NOT plan to enumerate every item. Instead:\n\n1. **Identify the high-signal subset** — items that show up by name in user-facing prose, are likely to be cross-doc cited, or define an interface most readers actually meet.\n2. **Present a keep \u002F drop \u002F merge triage** via `AskUserQuestion` or as an explicit plan-stage fork.\n3. **Defaults:**\n   - Keep **≤5** items.\n   - **Merge clusters** that share an audience (e.g., \"judge \u002F role-judge \u002F role-auditor\" → one entry for the reflection-role cluster).\n   - **Drop low-surface items** (engine-internal plumbing, names referenced only from code).\n\nTreat the task-description enumeration as **research notes** (which items\nexist), not as the deliverable shape.\n\n### Worked example\n\n**A glossary-extend task.** It listed 37 components from\n`packages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fcore\u002F` (7 roles + 6 traits + 5 rules + 19 skills) with a one-line\npurpose each. Initial plan: document all 37.\n\nUser trimmed to **5 entries** (3 key roles + 2 key traits), dropped Rules and\nSkills sections entirely. Rationale: glossary entries pay a reader-attention\ncost; only items that show up in cross-doc prose earn a slot. The detail\nlives in `ai-hats list ...` and per-component files.\n\nResult with triage: 4 hours saved + tighter doc.\n\n---\n\n## Section 3: Pre-Commit Claim Verification\n\nDoc text accumulates claims that were true once — a renamed skill, a moved\npath, a glob that stopped matching, a count that drifted. The invariant and the\nfour kinds of checkable claim are rule `rule_verify_authored_claims`; this\nsection is the doc-side recipe for applying it.\n\n### Verification procedure (before commit)\n\nUnroll every claim the doc makes about code-side artifacts. Names are the\ncommon case, not the whole job: a glob, an \"every\"\u002F\"always\", and a count rot\nthe same way and are just as invisible to the test suite.\n\n```bash\n# Resolve the library from the checkout you are IN — never hard-code the root,\n# it has moved once already, and a literal path silently measures main.\nLIB=$(python3 -c 'import ai_hats_library, pathlib; print(pathlib.Path(ai_hats_library.__file__).parent)')\n\n# Names: does each one resolve, here, now?\nfor name in \u003Ccandidates>; do\n    find \"$LIB\" -maxdepth 3 -type d -name \"$name\" | grep -q . || echo \"MISSING: $name\"\ndone\n\n# Globs: expand and READ the match list — is the set the one you meant?\n# `find -name`, not a shell glob: under zsh a non-matching brace arm aborts\n# the whole line before anything prints.\nfind \"$LIB\"\u002Fcore\u002Fskills \"$LIB\"\u002Fusage\u002Fskills -maxdepth 1 -name '\u003Cyour-glob>'\n\n# CLI: the subcommand and the flag both have to exist.\nai-hats \u003Csubcommand> --help\n```\n\nQuantifiers and counts have no one-liner: for \"every X does Y\" find the branch\nthat breaks it; for a number, count it or drop it.\n\nSurface anything unresolved **before commit** — fix the doc, file a backlog\nitem, or delete the claim.\n\n### INDEX.md freshness\n\nWhen a doc task **adds, removes, or renames** a file under `docs\u002F`, or\nsignificantly restructures an existing one (new top-level section, renamed\nanchor), update `docs\u002FINDEX.md`:\n\n- Add the file to the **Companion docs catalog** table with topic and\n  when-to-read.\n- If the file is relevant to a specific wizard step — add it under the\n  **Wizard companion docs** section too.\n- Remove the entry on file deletion; update the row on rename.\n\nMechanical enforcement: `pre-commit-docs-index.sh` (from the `git-mastery`\nskill) blocks the commit when staged changes add \u002F delete \u002F rename\n`docs\u002F*.md` without `docs\u002FINDEX.md` also being staged. Content-only\nedits (status `M`) do not trigger the hook. This instruction explains\nthe **why**; the hook is the safety net.\n\nOverride (rare, only after user confirmation that the catalog drift is\nintentional): `AI_HATS_DOCS_INDEX_ACK=1`, exported by the supervisor in the\nshell that runs the commit — see **safety-guard**.\n\n### Worked example\n\n**A sync-pass on `how-to-feedback-loop.md`.** The doc referenced a\n`hypothesis-workflow` skill that does NOT exist in `library\u002F`. Phantom from\nan earlier era — the predecessor never grep-verified. Caught at round-2 user\nreview. Same root cause as a stale `reflect all` → `judge` role mention\nelsewhere in the same doc.\n\nApplies to translation tasks and drift-fix tasks alike — verification is orthogonal to text content.\n\n---\n\n## Anti-Patterns\n\n- **Settling style silently** — landing the PR and discovering 6 style questions only in review.\n- **Enumerating all ≥6 items** because they were listed in the task description — enumeration ≠ contract.\n- **Verifying only the names** on a doc that also asserts a glob, an \"every\"\u002F\"always\", or a count — they rot the same way (rule `rule_verify_authored_claims`).\n- **Lifting precedent doc structure** without asking \"keep this or simplify?\" — precedent drift bypasses user approval.\n- **Bundling style decisions into review feedback** — pay 2-3 rounds upstream of writing.\n\n## Completion\n\nA doc task passes this protocol when:\n\n- `plan.md` has a `## Style conventions` section resolving the recurring six plus any further fork this doc raises.\n- If enumeration ≥6: triage was performed and ≤5 items remain (or user explicitly waived).\n- Every checkable claim in the doc — name, glob, quantifier, count — was unrolled against source.\n- Numbered-refs convention from CONTRIBUTING followed (if cross-doc\u002Fcross-file\u002Ffixture links).\n- `docs\u002FINDEX.md` updated when the task adds, removes, or renames a file under `docs\u002F`.\n\n## See also\n\n- `rule_verify_authored_claims` — the invariant §3 applies; covers injections and `SKILL.md` too, which this skill does not.\n- `design-minimalism` — same upstream principle (curate, don't enumerate), applied at design phase.\n- `scope-guard` — implementation-stage scope discipline.\n- `CONTRIBUTING.md#documentation-references` — numbered-refs format spec.\n- `docs\u002Fglossary.md` — terminology source-of-truth.\n- `docs\u002FINDEX.md` — wizard companion-docs catalog (must stay in sync; enforced by `pre-commit-docs-index.sh`).\n",{"name":5,"ai_hats":42,"license":15,"description":7},{"type":43,"schema_version":44},"skill",1,"master","f922a7f627276366873d546942d9ad899a86f71a","packages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fai-hats-dev\u002Fskills\u002Fdoc-protocol","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats","https:\u002F\u002Fgithub.com\u002Fmuratovv","2026-11-05 20:59:10",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add muratovv\u002Fai-hats --skill doc-protocol",{"tool":57,"command":58},"bunx","bunx skills add muratovv\u002Fai-hats --skill doc-protocol",{"tool":60,"command":61},"pnpm","pnpm dlx skills add muratovv\u002Fai-hats --skill doc-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fai-hats-dev\u002Fskills\u002Fdoc-protocol\u002FSKILL.md",true,[],[66,91,116,139,162,176],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":37},"01M6PVFB1SM738R2SRSRSF7CY6","tool-evaluation-protocol","Time-bounded protocol for evaluating new tools, libraries, or methodologies before adoption. Use when evaluating a candidate dependency for the project, researching a methodology (e.g. ML\u002FLLM frameworks, testing approaches), or following up on a hype-driven recommendation.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Ftool-evaluation-protocol\u002FSKILL.md",[],[20,73,74,75,76,77,78,79,80,81,31,82,83,84,85,86,87,88,89,90],"Evaluation","tool","tool evaluation protocol","testing","ml","libraries","adoption","methodology","Tools","dependency","up","frameworks","time","project","recommendation","for","bounded","candidate",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":37},"01M6PVF7HATBEX1G7N50E2QT57","systematic-debugging","4-phase bug-fix protocol (evidence, pattern, hypothesis, verify). Use when investigating any error, failure, or unexpected behavior, handling bug reports from users or monitoring, or diagnosing test failures with non-obvious causes.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[98,99,100,101,20,102,103,104,105,106,31,107,108,109,110,111,112,113,114,115],"systematic debugging","debugging","systematic","test","monitoring","hypothesis","verify","behavior","fix","evidence","bug","reports","pattern","users","error","with","bug-fix","phase",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":127,"publishedAt":37},"01M6PVF3MTQN3RPF73AN34856J","skill-template","Canonical template and validation guide for ai-hats skills. Use when creating a new skill, reviewing an existing one for structural compliance, or deciding which pattern fits a new behavior.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Fskill-template\u002FSKILL.md",[122],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[128,129,130,131,132,105,133,31,134,110,135,136,137,88,138],"template","skill template","validation","compliance","hats","guide","new skill","structural","canonical","which","Existing",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":37},"01M6PVF06SCV28QARM5MQPANC9","skill-optimization","Audit and refactor library components to eliminate redundancy and staleness. Use during periodic library maintenance, after adding multiple new skills or rules, when a role's token budget is too high, or after retrospectives identify component issues.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Fskill-optimization\u002FSKILL.md",[145],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},[147,148,149,150,151,152,153,154,155,156,31,157,158,159,160,25,161],"Optimization","skill optimization","components","component","issues","library","audit","refactor","Budget","Rules","periodic","maintenance","token","token budget","high",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":37},"01M6PVEXM9717016T9MW82HDCT","silent-fallback-gate","PreToolUse hook — refuses an Edit or Write that adds an inert broad except. Use when a Python edit was blocked for a silent fallback.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Fsilent-fallback-gate\u002FSKILL.md",[],[169,170,171,172,173,174,31,175,88],"gate","fallback","silent fallback gate","python","write","edit","hook",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":37},"01M6PVESM49C5NT7SB7N3F76VS","retro-to-framework","Convert an observation about agent behavior — from a retrospective or from a single incident — into a framework-level change (hook, rule, skill, skill update). Use after a retrospective identifies problems that are not project-specific, after an incident where an agent misapplied a component it had read, when CLAUDE.md band-aids accumulate (more than 3 per-project rules that could be generic), or when the same problem recurs across multiple projects.","https:\u002F\u002Fgithub.com\u002Fmuratovv\u002Fai-hats\u002Fblob\u002Fmaster\u002Fpackages\u002Fai-hats-library\u002Fsrc\u002Fai_hats_library\u002Fexperimental\u002Fusage\u002Fskills\u002Fretro-to-framework\u002FSKILL.md",[182],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},[184,185,186,187,150,188,189,190,156,105,31,191,192,86,193,194,26,195,196,197],"framework","retro","retro to framework","change","retrospective","projects","convert","incident","across","problem","about","skill update","single","generic"]