[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SWYXV00J8K4GX6MZH3ABA":3,"skill-same:01M71SWYXV00J8K4GX6MZH3ABA":61},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":14,"repositoryHtmlUrl":35,"repositoryHomepageUrl":6,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":50},"01M71SWYXV00J8K4GX6MZH3ABA","usage-guard",null,"Arm a background watchdog on the account's 5-hour usage window","rnortman\u002Fclaude-plugins","rnortman","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6696883?v=4","01M71SWK8WWGC18QBBAZXEE58G","Randall Nortman","01M71SWK9MR2T328ZWX1BETDZV",0,"MIT","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fusage-guard\u002FSKILL.md",[],[19,20,21,22,23,24,25],"guard","usage","usage guard","watchdog","true","window","background","2026-11-10 13:02:02",false,"---\nname: usage-guard\ndescription: Arm a background watchdog on the account's 5-hour usage window\ndisable-model-invocation: true\n---\n\nArm a usage watchdog for this session. The watchdog is a long-running script that polls the account's 5-hour usage window and, once utilization reaches 90%, emits one alarm line for every integer-percent increase; run under the Monitor tool, each line wakes this session — even when fully idle — so you can watch usage tick up and react. It polls adaptively ((99 − utilization) minutes, clamped to 60s–480s) and costs nothing meaningful.\n\n## Arming\n\n1. Resolve the absolute path of `references\u002Fusage-watchdog.sh` from this skill's directory.\n2. Take a baseline reading first: `bash \u003Cskill-dir>\u002Freferences\u002Fusage-check.sh`. If it fails (no OAuth credentials — e.g. an API-key session), report that to the user and stop; the watchdog cannot work here.\n3. Arm via the Monitor tool:\n   - `command`: `bash \u003Cabs-path>\u002Fusage-watchdog.sh`\n   - `description`: `5h usage watchdog`\n   - `persistent`: `true`\n4. Confirm to the user: armed, current utilization, and the window's reset time.\n\nIf the Monitor tool is not available in this session, fall back to `Bash` with `run_in_background: true` and env `WATCHDOG_EXIT_ON_ALERT=1` on the command. In that mode the watchdog exits at the first alarm (background shells only notify on exit) — after handling each alarm, re-arm it the same way.\n\n## Responding to watchdog events\n\nEach event arrives as a task notification whose line tells you most of what to do. Alarm lines are `USAGE-\u003Cpct>` (e.g. `USAGE-92`), one per integer-percent increase from 90% up, so you see usage ticking toward the wall; the instruction in each line is tier-based. Full doctrine by tier:\n\n- **90–93% — mild.** Schedule the post-reset wakeup NOW as insurance (one-shot cron\u002Fscheduled wakeup for 1 minute after the `resets` time in the message), then keep working normally, but prefer running subagents serially rather than in parallel from here on.\n- **94–96% — escalation.** If the wakeup somehow isn't scheduled yet, that is now the first priority. Only launch further subagent work that is strictly bounded and small; checkpoint anything in flight.\n- **97%+ — stop.** Commit\u002Fcheckpoint current state, confirm the wakeup is scheduled, tell the user you're pausing for the usage window, and end your turn. Do not start anything new. Under the Monitor tool the watchdog keeps running past this point — it will wake you with `USAGE-RESET` itself once the window actually rolls over, so the scheduled wakeup is only backup insurance.\n- **`USAGE-RESET`** — the 5-hour window has rolled over into a fresh one (the watchdog waited until ~45s past the nominal reset time and confirmed the drop with the API before sending this). Normal operation may resume; cancel a now-pointless wakeup if one is pending. The watchdog is still running and now silently guards the new window.\n- **`WATCHDOG-DEGRADED`** — the watchdog has been unable to read usage for a sustained stretch (API outage, expired token, network). It does NOT give up: it keeps retrying indefinitely and rate-limits these notices (at most one per 30 minutes). While degraded, monitoring is blind — do not assume headroom. No action needed beyond caution; if you no longer need monitoring, kill the monitor (see below).\n- **`WATCHDOG-RECOVERED`** — readings resumed after a degraded stretch; the message includes current utilization. Normal monitoring is restored.\n- **`WATCHDOG-DISARMED`** — fired only at startup when no OAuth credentials exist (API-key session, or logged out); the watchdog exits. Tell the user monitoring is unavailable.\n- **Monitor stream ended** with none of the above: the watchdog died unexpectedly — monitoring is DOWN; re-invoke this skill to re-arm if still needed.\n\nPercentages can be skipped: a single burst can jump from 89% to 96%, in which case one alarm fires at 96%. Treat any alarm as also implying everything the lower tiers ask for.\n\nOn waking after the scheduled post-reset wakeup: under the Monitor tool the watchdog is already running and guarding the new window, so no re-arm is needed. Only re-invoke this skill to re-arm if the watchdog has stopped (`WATCHDOG-DISARMED`, Monitor stream ended, or the `WATCHDOG_EXIT_ON_ALERT=1` background fallback, which does exit at each alarm).\n\n## Killing the watchdog\n\nThe watchdog never gives up on its own — you own the kill switch. **Kill the monitor when your task is done or you are blocked waiting on the user.** Every watchdog line wakes this session, and waking an idle session is particularly expensive (prompt-cache miss on the whole context) — an unattended watchdog burning wake-ups on a session with nothing to do wastes exactly the tokens it exists to protect. Re-arm by re-invoking this skill when active work resumes.\n\n## Manual check\n\n`bash \u003Cskill-dir>\u002Freferences\u002Fusage-check.sh` prints the current 5-hour and 7-day utilization and reset times (in local time, ready to schedule against) any time — plus any model-scoped weekly caps the API reports (e.g. a Fable-specific weekly limit) — useful before deciding to launch a large parallel fan-out. Anyone (user or agent) may run it; only arming the watchdog is gated behind this skill.\n","Arm a usage watchdog for this session. The watchdog is a long-running script that polls the account's 5-hour usage window and, once utilization reaches 90%, emits one alarm line for every integer-percent increase; run under the Monitor tool, each line wakes this session — even when fully idle — so you can watch usage tick up and react. It polls adaptively ((99 − utilization) minutes, clamped to 60s–480s) and costs nothing meaningful.\n\n## Arming\n\n1. Resolve the absolute path of `references\u002Fusage-watchdog.sh` from this skill's directory.\n2. Take a baseline reading first: `bash \u003Cskill-dir>\u002Freferences\u002Fusage-check.sh`. If it fails (no OAuth credentials — e.g. an API-key session), report that to the user and stop; the watchdog cannot work here.\n3. Arm via the Monitor tool:\n   - `command`: `bash \u003Cabs-path>\u002Fusage-watchdog.sh`\n   - `description`: `5h usage watchdog`\n   - `persistent`: `true`\n4. Confirm to the user: armed, current utilization, and the window's reset time.\n\nIf the Monitor tool is not available in this session, fall back to `Bash` with `run_in_background: true` and env `WATCHDOG_EXIT_ON_ALERT=1` on the command. In that mode the watchdog exits at the first alarm (background shells only notify on exit) — after handling each alarm, re-arm it the same way.\n\n## Responding to watchdog events\n\nEach event arrives as a task notification whose line tells you most of what to do. Alarm lines are `USAGE-\u003Cpct>` (e.g. `USAGE-92`), one per integer-percent increase from 90% up, so you see usage ticking toward the wall; the instruction in each line is tier-based. Full doctrine by tier:\n\n- **90–93% — mild.** Schedule the post-reset wakeup NOW as insurance (one-shot cron\u002Fscheduled wakeup for 1 minute after the `resets` time in the message), then keep working normally, but prefer running subagents serially rather than in parallel from here on.\n- **94–96% — escalation.** If the wakeup somehow isn't scheduled yet, that is now the first priority. Only launch further subagent work that is strictly bounded and small; checkpoint anything in flight.\n- **97%+ — stop.** Commit\u002Fcheckpoint current state, confirm the wakeup is scheduled, tell the user you're pausing for the usage window, and end your turn. Do not start anything new. Under the Monitor tool the watchdog keeps running past this point — it will wake you with `USAGE-RESET` itself once the window actually rolls over, so the scheduled wakeup is only backup insurance.\n- **`USAGE-RESET`** — the 5-hour window has rolled over into a fresh one (the watchdog waited until ~45s past the nominal reset time and confirmed the drop with the API before sending this). Normal operation may resume; cancel a now-pointless wakeup if one is pending. The watchdog is still running and now silently guards the new window.\n- **`WATCHDOG-DEGRADED`** — the watchdog has been unable to read usage for a sustained stretch (API outage, expired token, network). It does NOT give up: it keeps retrying indefinitely and rate-limits these notices (at most one per 30 minutes). While degraded, monitoring is blind — do not assume headroom. No action needed beyond caution; if you no longer need monitoring, kill the monitor (see below).\n- **`WATCHDOG-RECOVERED`** — readings resumed after a degraded stretch; the message includes current utilization. Normal monitoring is restored.\n- **`WATCHDOG-DISARMED`** — fired only at startup when no OAuth credentials exist (API-key session, or logged out); the watchdog exits. Tell the user monitoring is unavailable.\n- **Monitor stream ended** with none of the above: the watchdog died unexpectedly — monitoring is DOWN; re-invoke this skill to re-arm if still needed.\n\nPercentages can be skipped: a single burst can jump from 89% to 96%, in which case one alarm fires at 96%. Treat any alarm as also implying everything the lower tiers ask for.\n\nOn waking after the scheduled post-reset wakeup: under the Monitor tool the watchdog is already running and guarding the new window, so no re-arm is needed. Only re-invoke this skill to re-arm if the watchdog has stopped (`WATCHDOG-DISARMED`, Monitor stream ended, or the `WATCHDOG_EXIT_ON_ALERT=1` background fallback, which does exit at each alarm).\n\n## Killing the watchdog\n\nThe watchdog never gives up on its own — you own the kill switch. **Kill the monitor when your task is done or you are blocked waiting on the user.** Every watchdog line wakes this session, and waking an idle session is particularly expensive (prompt-cache miss on the whole context) — an unattended watchdog burning wake-ups on a session with nothing to do wastes exactly the tokens it exists to protect. Re-arm by re-invoking this skill when active work resumes.\n\n## Manual check\n\n`bash \u003Cskill-dir>\u002Freferences\u002Fusage-check.sh` prints the current 5-hour and 7-day utilization and reset times (in local time, ready to schedule against) any time — plus any model-scoped weekly caps the API reports (e.g. a Fable-specific weekly limit) — useful before deciding to launch a large parallel fan-out. Anyone (user or agent) may run it; only arming the watchdog is gated behind this skill.\n",{"name":5,"description":7,"disable-model-invocation":31},true,"main","8af8a1248b8b0aabe0e7f836de08d844b5fd6d0f","plugins\u002Freview-chain\u002Fskills\u002Fusage-guard","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Frnortman","2026-09-16 18:21:03",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":31},[40,43,46],{"tool":41,"command":42},"npx","npx skills add rnortman\u002Fclaude-plugins --skill usage-guard",{"tool":44,"command":45},"bunx","bunx skills add rnortman\u002Fclaude-plugins --skill usage-guard",{"tool":47,"command":48},"pnpm","pnpm dlx skills add rnortman\u002Fclaude-plugins --skill usage-guard","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fusage-guard\u002FSKILL.md",[51,57],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fusage-check.sh","SCRIPT","脚本",2622,"https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fusage-guard\u002Freferences\u002Fusage-check.sh",{"path":58,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fusage-watchdog.sh",13876,"https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fusage-guard\u002Freferences\u002Fusage-watchdog.sh",[62,94,110,123,144,160],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":73,"publishedAt":26},"01M71SX1ZBSPB9CEM1ANWJAMGW","setup-project","Bootstrap a project for the review-chain workflow — set the orchestrator as default agent, add a \"Working With Claude Code\" section to CLAUDE.md, install the TODO.md + TODO(slug) tracking convention, and optionally wire an auto-format hook. Take it or leave it; the review-chain agents work without any of this.","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fsetup-project\u002Fskills\u002Fsetup-project\u002FSKILL.md",[68],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],"setup","setup project","project","as","workflow","format","orchestrator","work","todo","with","review","bootstrap","code","SET","auto","default","section","for","chain","working with claude code",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":26},"01M71SWZYBZRDX66X7RTFJNHZV","usage-wall","Ride the 5-hour usage window into the wall — schedule a post-reset wakeup, then resume stalled subagents. No watchdog, no throttling.","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fusage-wall\u002FSKILL.md",[],[20,101,102,103,104,24,105,106,107,108,23,22,109],"wall","usage wall","throttling","schedule","post","reset","ride","subagents","resume",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":26},"01M71SWX43FHC2G18TRSEC2EHN","simplify","Review changed code for reuse, quality, efficiency; fix issues found.","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fsimplify\u002FSKILL.md",[],[112,117,118,119,84,86,91,120,121,122],"quality","fix","efficiency","reuse","fix issues","issues",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":26},"01M71SWTWTABSQVE4NFYWKWF8J","configure-models","Generate or edit local per-agent model overrides for review-chain agents (.claude\u002Freview-chain-models.conf) — re-pin a model without editing agent files or publishing.","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fconfigure-models\u002FSKILL.md",[],[130,131,132,133,134,92,135,91,136,84,137,138,139,140,141,142,143],"configure","configure models","models","model","generate","overrides","conf","pin","files","publishing","local","edit","re","editing",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":26},"01M71SWS4QFMMTR9P5GS9N0582","cleanup-editor","Self-edit a draft for clarity, contradictions, answerable open questions. Use after initial draft.","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fcleanup-editor\u002FSKILL.md",[],[151,152,153,154,155,141,156,157,158,159,91],"editor","cleanup","cleanup editor","draft","clarity","questions","self","use","open",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":26},"01M71SWQSBCWKN9CR6GE4KZW6M","clarify","Restate your most recent response more clearly and concisely","https:\u002F\u002Fgithub.com\u002Frnortman\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Freview-chain\u002Fskills\u002Fclarify\u002FSKILL.md",[],[162,167,168,169,23],"restate","more","concisely"]