[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71J5H0V6S2EDTXT8PY1XSKC":3,"skill-same:01M71J5H0V6S2EDTXT8PY1XSKC":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":13,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":63},"01M71J5H0V6S2EDTXT8PY1XSKC","health",null,"Checks, in one shot via the `health-check.mjs` engine, for state unintentionally left behind during repository work (working tree, stash, branch, worktree, PR, issue, actions, etc.) and skill-catalog consistency, presenting a 16-area status table and fixed-vocabulary recommended actions. With `--deep`, does additional read-only investigation of `要確認` items; with `--fix`, executes safe-vocabulary actions (prune \u002F delete \u002F fetch, and `drop` when promoted by `--deep`) following the central policy's gate (reversible-local=proceed \u002F irreversible=ask). Read-only by default.","ozzy-labs\u002Fskills","ozzy-labs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F246109093?v=4","01M6H0M2K2PZXHWNHJJTWY20FY","01M71J2B6FZ5KPEXPR5VS1TX7Z",0,"MIT","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhealth\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"when","repository","read","worktree","delete","work","health-check","Bash","ask","drop","only","local","fix","default","actions","stash","branch","fetch","deep","2026-11-10 10:12:30",false,"---\ndescription: Checks, in one shot via the `health-check.mjs` engine, for state unintentionally left behind during repository work (working tree, stash, branch, worktree, PR, issue, actions, etc.) and skill-catalog consistency, presenting a 16-area status table and fixed-vocabulary recommended actions. With `--deep`, does additional read-only investigation of `要確認` items; with `--fix`, executes safe-vocabulary actions (prune \u002F delete \u002F fetch, and `drop` when promoted by `--deep`) following the central policy's gate (reversible-local=proceed \u002F irreversible=ask). Read-only by default.\nargument-hint: \"[--deep] [--fix] [--yes]\"\ndisable-model-invocation: true\nallowed-tools: Bash, Read, Grep, AskUserQuestion\n---\n\n# health\n\nRead `.agents\u002Fskills\u002Fhealth\u002FSKILL.md` and follow its workflow steps.\n\n**Important:** rendering (the status table, non-clean sections, execution results) is handled by the `health-check.mjs` engine. Present the engine's stdout as-is; don't reformat or reinterpret it.\n\n## Claude Code-specific additions\n\n### Running the engine\n\nRun `health-check.mjs`, in the same directory, via Bash (passing `$ARGUMENTS` as-is). In user-scope it's `~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs`; for dogfooding, `\u003Crepo>\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs`:\n\n```bash\nnode ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs $ARGUMENTS\n```\n\n### Argument parsing\n\nDetermine the presence of `--deep` \u002F `--fix` \u002F `--yes`. When `--fix` is absent (no arguments \u002F `--deep`), the engine completes read-only, so present the output as-is and end. Any other flags are ignored (reserved for future extension).\n\n### `--fix` confirmation-gate wiring (follows the central policy)\n\nWhen `--fix` is specified and `--yes` is **absent**, the engine resolves each action's gate via the central policy (`policy-read.mjs`). The host side branches the UI **per gate** (gate determination belongs to the engine — the host never re-determines the vocabulary\u002Fclass):\n\n1. **Execute + list:** run `node ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs --fix [--deep]`. The engine **executes on the spot** `proceed` (reversible-local) actions and outputs the \"execution results\" (`✔ done` \u002F `✖ failed` on each line) (audit trail, no confirmation needed). `ask` (irreversible stash drop) actions are output as \"actions requiring confirmation (gate=ask)\" and are **not executed**.\n2. **Individual confirmation of `ask` items:** only when there's an `ask` list, confirm with `AskUserQuestion` **per action** whether it's OK to execute (don't enumerate options as text).\n   - Approved → run `node ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs --fix --yes [--deep]` to execute the rest (the approved `ask` items), and present the execution results and the post-execution status table as-is.\n   - Rejected → end without executing anything additional.\n   - The `ask` list is empty (everything already executed via `proceed`) → present the execution results and post-execution status table, and end.\n\nFor `--fix --yes` (with `--yes` from the start), run the engine once, as-is, without inserting a confirmation. `--yes` is an **explicit opt-out that overrides the policy**, executing all safe actions, including those with gate `ask` (unattended execution via routine \u002F `\u002Floop` \u002F `schedule`).\n\nThe engine's `--fix` safe boundary (executing only `prune` \u002F `delete` \u002F `fetch` \u002F the `--deep`-promoted `drop`, with `push` \u002F `要確認` \u002F `要対応` \u002F `abort or continue` out of scope) and gate resolution (reversible-local=proceed \u002F irreversible=ask, falling back fail-safe to ask when a policy is absent) are enforced on the engine side, per the SKILL.md contract. The host side never re-determines the vocabulary or gate.\n\n### Completion report and next-action suggestions\n\nEnd once the engine output has been presented. AskUserQuestion is not used other than for `--fix`'s individual confirmation. No next-action suggestion is made either.\n","# health\n\nRead `.agents\u002Fskills\u002Fhealth\u002FSKILL.md` and follow its workflow steps.\n\n**Important:** rendering (the status table, non-clean sections, execution results) is handled by the `health-check.mjs` engine. Present the engine's stdout as-is; don't reformat or reinterpret it.\n\n## Claude Code-specific additions\n\n### Running the engine\n\nRun `health-check.mjs`, in the same directory, via Bash (passing `$ARGUMENTS` as-is). In user-scope it's `~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs`; for dogfooding, `\u003Crepo>\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs`:\n\n```bash\nnode ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs $ARGUMENTS\n```\n\n### Argument parsing\n\nDetermine the presence of `--deep` \u002F `--fix` \u002F `--yes`. When `--fix` is absent (no arguments \u002F `--deep`), the engine completes read-only, so present the output as-is and end. Any other flags are ignored (reserved for future extension).\n\n### `--fix` confirmation-gate wiring (follows the central policy)\n\nWhen `--fix` is specified and `--yes` is **absent**, the engine resolves each action's gate via the central policy (`policy-read.mjs`). The host side branches the UI **per gate** (gate determination belongs to the engine — the host never re-determines the vocabulary\u002Fclass):\n\n1. **Execute + list:** run `node ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs --fix [--deep]`. The engine **executes on the spot** `proceed` (reversible-local) actions and outputs the \"execution results\" (`✔ done` \u002F `✖ failed` on each line) (audit trail, no confirmation needed). `ask` (irreversible stash drop) actions are output as \"actions requiring confirmation (gate=ask)\" and are **not executed**.\n2. **Individual confirmation of `ask` items:** only when there's an `ask` list, confirm with `AskUserQuestion` **per action** whether it's OK to execute (don't enumerate options as text).\n   - Approved → run `node ~\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs --fix --yes [--deep]` to execute the rest (the approved `ask` items), and present the execution results and the post-execution status table as-is.\n   - Rejected → end without executing anything additional.\n   - The `ask` list is empty (everything already executed via `proceed`) → present the execution results and post-execution status table, and end.\n\nFor `--fix --yes` (with `--yes` from the start), run the engine once, as-is, without inserting a confirmation. `--yes` is an **explicit opt-out that overrides the policy**, executing all safe actions, including those with gate `ask` (unattended execution via routine \u002F `\u002Floop` \u002F `schedule`).\n\nThe engine's `--fix` safe boundary (executing only `prune` \u002F `delete` \u002F `fetch` \u002F the `--deep`-promoted `drop`, with `push` \u002F `要確認` \u002F `要対応` \u002F `abort or continue` out of scope) and gate resolution (reversible-local=proceed \u002F irreversible=ask, falling back fail-safe to ask when a policy is absent) are enforced on the engine side, per the SKILL.md contract. The host side never re-determines the vocabulary or gate.\n\n### Completion report and next-action suggestions\n\nEnd once the engine output has been presented. AskUserQuestion is not used other than for `--fix`'s individual confirmation. No next-action suggestion is made either.\n",{"description":7,"allowed-tools":42,"argument-hint":43,"disable-model-invocation":44},"Bash, Read, Grep, AskUserQuestion","[--deep] [--fix] [--yes]",true,"main","db212a47efe751fa1c42bd76e61dbfd8328e5b10",".claude\u002Fskills\u002Fhealth","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills","https:\u002F\u002Fgithub.com\u002Fozzy-labs","2026-07-13 06:49:42",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":44},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ozzy-labs\u002Fskills --skill health",{"tool":57,"command":58},"bunx","bunx skills add ozzy-labs\u002Fskills --skill health",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ozzy-labs\u002Fskills --skill health","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhealth\u002FSKILL.md",[64],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"health-check.mjs","SCRIPT","脚本",46147,"https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhealth\u002Fhealth-check.mjs",[71,95,119,140,172,193],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":37},"01M71J6R63H4E6ZE6KMDM4CT85","verify","An integrated skill that runs the combined validation of build \u002F typecheck \u002F test \u002F lint in one shot. The `verify.mjs` engine auto-discovers validation commands via a discovery chain (AGENTS.md's 「検証」 section → package.json scripts → justfile\u002FMakefile\u002Flefthook → language heuristics), executes them serially with their source attached, and returns a result summary. If a higher-priority stage produces a hit, only that stage is executed (no crossing stages).","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fverify\u002FSKILL.md",[],[73,78,79,80,81,82,83,84,28,85,86,87,25,88,89,90,91,92,93,94],"combined","heuristics","chain","repo","discovery","section","lefthook","auto","package","stage","one","lint","dry","engine","with","test","typecheck",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":37},"01M71J6JW7SAY9PDKAWHG3SJCR","usage-guard","Monitors Claude Code's Usage Limit (5-hour = Current \u002F weekly = Weekly), pauses work when it exceeds 95%, and automatically resumes once the reset restores headroom. Bundles an engine form that a caller such as drive Reads at a checkpoint, and a standalone form, `\u002Fusage-guard \"\u003Ccontinuation command>\"`, that guards arbitrary work. Claude-only (depends on the OAuth usage-rate endpoint + ScheduleWakeup).","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fusage-guard\u002FSKILL.md",[],[102,103,104,105,106,28,107,18,108,109,23,110,111,112,113,114,115,116,117,118],"usage","usage guard","guard","weekly","standalone","guards","code","reset","command","at","rate","status","endpoint","as","continuation","form","limit",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":37},"01M71J6FRG119REA1G0S99Q4GZ","topics","Selects GitHub topic candidates by having the `topics.mjs` engine perform constraint validation, popularity measurement, broad+narrow \u002F singular-plural comparison, and hardcoded ozzy-labs conventions, then applies them via `gh repo edit --add-topic` following the policy's `externally-visible` gate (default batch-confirm). Scope is limited to use within ozzy-labs.","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ftopics\u002FSKILL.md",[],[121,126,127,81,128,31,129,130,131,132,133,25,134,135,136,90,91,137,138,139],"measurement","scope","policy","true","gh","plural","use","comparison","apply","candidate","batch","candidates","github","via",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":156,"publishedAt":37},"01M71J6DC27P4FDSP10SDT2PSN","skill-observability","Defines the skill observability event contract (event.schema.json) and emit substrate (obs-emit.mjs). The SSOT for the measurement layer of the skill improvement loop. Referenced by other skills and hooks.","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-observability\u002FSKILL.md",[146,151],{"categoryNo":147,"categoryName":148,"taxonomyType":149,"taxonomyTypeDesc":150},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[157,158,126,159,160,161,162,163,164,165,166,167,168,169,170,171],"observability","skill observability","improvement","skill improvement","for","event","hooks","contract","schema","loop","false","substrate","json","improvement loop","layer",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":179,"publishedAt":37},"01M71J6AYECH1J94RAZ49QZ19Y","skill-metrics","Aggregates the local observability event log (~\u002F.agents\u002Fobservability\u002Fevents.jsonl) and presents, read-only, per-skill invocation counts and notable events (fallback \u002F HITL rejection \u002F loop cap reached \u002F abort). Fires on \"show me the skill metrics,\" \"aggregate the observability results,\" \"which skills get used the most?\" Does not send anything.","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-metrics\u002FSKILL.md",[178],{"categoryNo":147,"categoryName":148,"taxonomyType":149,"taxonomyTypeDesc":150},[180,181,157,182,183,184,185,186,162,187,188,189,29,129,28,166,190,25,191,192],"skill metrics","metrics","event log","which","show","get","read-only","iso","aggregates","send","show me","log","jsonl",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":199,"publishedAt":37},"01M71J68TD0QFATGW3BBZVCWA2","ship","Runs verification, commit, and PR creation all at once. An integrated pipeline that runs verify (build + type + test + lint) → commit → PR creation in sequence against the changes.","https:\u002F\u002Fgithub.com\u002Fozzy-labs\u002Fskills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fship\u002FSKILL.md",[],[195,200,201,93,202,203,73,204,205,206,111,20,207,208,129,209,25,210,89],"type","verification","changes","pr","creation","build","pipeline","sequence","grep","pr creation","commit"]