Borrowing it
Nothing to install: this file belongs to PostOakLabs/ainumbers. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/PostOakLabs/ainumbers/main/.claude/skills/wave-checklist/SKILL.mdgit clone --depth 1 https://github.com/PostOakLabs/ainumbersWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/postoaklabs/ainumbers/wave-checklist)<a href="https://agentmods.dev/skills/postoaklabs/ainumbers/wave-checklist"><img src="https://agentmods.dev/badge/skills/postoaklabs/ainumbers/wave-checklist/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/postoaklabs/ainumbers/wave-checklist"><img src="https://agentmods.dev/badge/skills/postoaklabs/ainumbers/wave-checklist.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.01613 |
| Opus 5.5 | $0.00015 | $0.00645 |
| Sonnet 5.5 | $0.00008 | $0.00323 |
| Haiku 4.5 | $0.00004 | $0.00161 |
Grade A, and why
wave-checklist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Build workflow and wave completion checklist
Moved here from repo/CLAUDE.md so it loads only when invoked. CONTRACT.md stays the SSOT.
Build Workflow
- Read
CONTRACT.md§0-§6 (normative rules).CONTRACT-RATIONALE.mdcarries the same sections' explanatory prose and audit history and is optional. - Generate a single
.htmlfile and place it intools/. - Validate Policy Mandate schema (
CONTRACT.md§3.1), storage, and export contracts before output. - Run the pre-flight checklist from
CONTRACT.md§6.1. - Add a card entry to the
index.htmltool grid (correctdata-cat,data-tags,data-name). - Update the category tool count in
index.htmlcat-heading<span class="cat-n">. sitemap.xml: SKIP. It is a shared derived artifact with a single writer:derived-artifacts-regen.ymlregenerates and commits it onmainafter every merge. A PR never edits it (two branches editing the same generated file independently caused the merge-ref skew this convention exists to prevent).
Wave Completion Checklist
BEFORE EVERY PUSH: node scripts/preflight.mjs. It runs every hard CI gate locally, in CI order (JS syntax, hash gates, index-sync, dead-link, count-drift, hub freshness, SSOT conformance, verify_repo, mfstSec). Green here means green in CI. Never push on a red preflight. The numbered items below are the individual remediation steps when a gate fails.
Mechanical enforcement: a committed pre-push hook (.githooks/pre-push) runs preflight.mjs on every push. Enable it once per clone with node scripts/setup-hooks.mjs (sets core.hooksPath = .githooks; worktrees inherit it). Emergency bypass: git push --no-verify. CI stays the real backstop.
Run after every batch of new tools/chains, before committing:
- JS syntax gate (BLOCKING) -
node scripts/check_tools.jsMUST print0 ... syntax errorand exit 0. If red,node scripts/locate_errors.jsto find the break, fix, re-run. Never commit tool HTML on a red gate. (CONTRACT §6.2.) 0b. Hub freshness -chaingraph/chaingraph-hub.htmlis a shared derived artifact with a single writer. Do NOT rungen-chain-index.mjsand commit it in your PR;derived-artifacts-regen.ymlregenerates it onmainafter merge.node scripts/gen-chain-index.mjs --checkdowngrades to advisory on apull_requestand stays blocking onmainand onmerge_group(the queue's CI job assembles the derived tree ephemerally intoDERIVED_ROOT). A red PR-side result means main has not caught up, not that you owe a fix. - Manifests - one per new tool:
manifests/{number}-{slug}.manifest.json. No short-form{number}-manifest.jsonvariants. - Catalog -
mcp/catalog.json,mcp/server.json,.well-known/mcp.json,llms.txt,tools.html, andindex.htmlare shared derived artifacts with a single writer. Do NOT run or commitregen_catalog.pyin your PR;derived-artifacts-regen.ymlruns it onmainafter merge.docs/catalog.jsonis a copy ofmcp/catalog.jsonwritten later byscripts/gen-openapi.mjs(also main-side). The freshness gatepython scripts/check_index_sync.py --strict --no-colordowngrades to advisory on apull_requestand stays blocking onmainand onmerge_group. - Sitemap -
sitemap.xmlis a shared derived artifact with a single writer. Do NOT run or commitnode scripts/regen-sitemap.mjsin your PR;derived-artifacts-regen.ymlruns it onmainafter merge, scanning every directory inscripts/published-dirs.json(shared withscripts/verify_repo.py'scheck_sitemap). Gatenode scripts/regen-sitemap.mjs --checkdowngrades to advisory on apull_request, stays blocking onmainand onmerge_group. Notscripts/regen_sitemap.py(quarantined as.DEPRECATED: it knew onlytools/,guides/,chaingraph/plus seven hardcoded root pages and turned the freshness gate red). - PII banners - every new tool must carry the exact CONTRACT §1.3 sentence in its rendered text. Verify:
node scripts/check-pii-banner.mjs(also in preflight; a CSS/JS-only mention of the class name does not satisfy it, the check reads rendered text). - Policy Mandate export - tools whose title/function involves policy, rule, mandate, routing, compliance, risk, AML, or KYC must have the Policy Mandate export button, element id
ap2ExportBtn(retained legacy id, §3.1, do not rename). Check each new in-scope tool. - index.html - card entry present with correct
data-cat,data-tags,data-name, and updated<span class="cat-n">count. - Stat sync -
mcp.html/chaingraph/chaingraph-hub.htmlworkflow/tool-count fallbacks are shared derived artifacts with a single writer. Do NOT run--fixand commit it in your PR;derived-artifacts-regen.ymlruns it onmainafter merge.node scripts/sync-stats.mjs(no flag) downgrades to advisory on apull_request, stays blocking onmainand onmerge_group. - Count-drift gate - every published count sentinel (
<!--COUNT:key-->N<!--/COUNT-->,data-count="key") is a shared derived artifact with a single writer. Do NOT run--fixand commit it in your PR;derived-artifacts-regen.ymlruns it onmainafter merge.node scripts/verify-counts.mjs --checkdowngrades to advisory on apull_request, stays blocking onmainand onmerge_group. Never hardcode a count to make this pass: fix the sentinel or the source.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 54 lines · 38 tokens per session scan A 44f2608071cd
wave-checklist is a skill published in the GitHub repository PostOakLabs/ainumbers (11 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 1,613 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-20.
Other skills, from other repositories
gsd-quick-batch
Batch several /skill:gsd-quick-shaped tasks together — planned, dispatched, and merged as one run.
gsd-pause-work
Create context handoff when pausing work mid-phase.
mcore-split-pr
Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.
engineer-bot-ops
A workflow for carrying an engineering task from scope through implementation and reviewable delivery. It works with a repository's branch, existing changes, rules, checks, and permissions while separating completed, unverified, and next-step work.
close-task-commit-push-pr
Close the active backlog task (detected from branch name), commit all changes, push to remote, and open a pull request. Use when the user says "close task and ship it", "close task commit push pr", or invokes /close-task-commit-push-pr.
gait-session-tracking
GAIT session lifecycle management - branch creation, turn recording, audit logging for every NetClaw operation. Use when starting a new NetClaw session, recording a health check or config change, pinning a pre-change baseline, or viewing the audit trail for a troubleshooting session.