Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/iamk77/skill/keelnpx skills add IamK77/Skill --skill keelgit clone --depth 1 https://github.com/IamK77/SkillWrote 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/iamk77/skill/keel)<a href="https://agentmods.dev/skills/iamk77/skill/keel"><img src="https://agentmods.dev/badge/skills/iamk77/skill/keel.svg" alt="Measured on agentmods" 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 | $0.00220 | $0.03675 |
| Opus 5 | $0.00110 | $0.01837 |
| Sonnet 5 | $0.00044 | $0.00735 |
| Haiku 4.5 | $0.00022 | $0.00367 |
Grade A, and why
keel 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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
keel
!checklist init ${CLAUDE_SKILL_DIR} --force
The keel is the first timber laid and the spine every other timber joins to — lay it crooked and the whole hull is wrong. The walking skeleton is the keel of a frontend build: keel is the second skill of the surface suite, the lens you hold the moment code first meets reality, and its whole job is one thing — pierce every seam between systems, prove it runs end to end, before you build anything expensive on top. Its product is a deployed, CI-green, real-but-trivial vertical slice that has passed through every real integration point once. It runs across gated stages and will not advance past a GATE until the checklist tool clears it — order enforced, substance yours.
The governing rule: real, but trivial. Build deep first, not wide: one real page → one real fetch from a real (even stub) backend → render → deployed to a real environment → CI green — even if the feature is trivial enough to show one line of text from the server. The reason is structural: the seams are the death zone. A project rarely dies because a component was hard to write; it dies where two systems meet — the front-end/back-end contract that doesn't line up, the SSR hydration that mismatches, the auth edge case, the env config that's different in prod, the "last 10%" that turns into a cliff. Prove the whole pipeline end to end with the simplest feature and those risks surface on day one and get dismantled while fixing them is free. Build wide on mocks first and they all detonate together at the deadline.
This is where the agent era bites:
- The agent builds wide on mock data, and mock completeness is fake. It will happily stand up every page's static UI against
mockdata — "looks 90% done!" — because that turns green fast, and it feels none of the future cliff. But the part it skipped (real auth, real deploy, the real contract) is exactly the part that kills projects, now pushed to the moment you have the least time. A "done" measured on mocks is a lie about how much risk remains. - A stub implementation is fine; a stub contract is not. When the backend isn't ready, the agent will mock it — and will cheerfully mock a shape that doesn't match reality, the single most dangerous kind of mock (green test, broken prod). The stub may fake the logic; it must speak the true contract — real types, real auth shape, real error shape.
- The agent skips the seams that earn no green. CI, preview deploys, error tracking, config parity, rollback — each is invisible to "the feature works," so the agent defers them, and deferred seams are the ones that leak in production. They are part of the skeleton, not a later chore.
Read references/the-membrane.md first — the heart, here read through one axis above all: the medium (the document-vs-application impedance) and the network/trust boundary, because every seam is a place where two systems with different assumptions meet, and the membrane is thinnest — and breaks easiest — exactly there. Load it at the start, re-check at every gate. If $ARGUMENTS is a throwaway that will never deploy, this machinery is overkill — say so.
Speak the user's language. The calls here are the user's — is a stub backend acceptable for now, is this seam real in our setup, is the contract source of truth the API or hand-written types. Read their fluency and gloss a term on first use (a seam / integration point, a walking skeleton, hydration, a contract generated from OpenAPI/GraphQL/tRPC, preview deploy, config parity, MSW). A seam the user can't see named is a risk you carried silently.
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 129 lines · 220 tokens per session scan A 5a489dda3842
keel is a skill published in the GitHub repository IamK77/Skill (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 220 tokens to every session and 3,675 once invoked, about $0.0011 per session on Opus 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-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…