Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/MichelKerkmeester/skilled-agent-harness_spec-driven-loopsnpx agentmods add skills/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-docWrote 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/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-doc)<a href="https://agentmods.dev/skills/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-doc"><img src="https://agentmods.dev/badge/skills/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-doc/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/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-doc"><img src="https://agentmods.dev/badge/skills/michelkerkmeester/skilled-agent-harness_spec-driven-loops/sk-doc.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00034 | $0.03616 |
| Opus 5 | $0.00017 | $0.01808 |
| Sonnet 5 | $0.00007 | $0.00723 |
| Haiku 4.5 | $0.00003 | $0.00362 |
Grade A, and why
sk-doc 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 yesterday.
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 — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Documentation Authoring Hub (sk-doc)
One advisor identity, fourteen workflow modes across thirteen packets, one shared sk-create-quality-control backbone. sk-doc is the parent hub for documentation and OpenCode-component authoring. It holds NO per-packet logic: it routes by workflowMode through mode-registry.json, and each packet keeps its own contract in its nested folder. The cross-cutting sk-create-quality-control pipeline (validators, global standards, frontmatter/llms/template assets) lives once in shared/ and is consumed by every packet.
1. WHEN TO USE
Use this skill for documentation and OpenCode-component authoring, and for document-quality work. The hub classifies the request, resolves a workflowMode, and loads the matching nested packet.
| Mode | Use it for | Packet | Command |
|---|---|---|---|
| sk-create-skill | Scaffold an OpenCode skill (and, via sk-create-skill-parent, a parent hub with nested mode packets) |
sk-create-skill/ |
/create:skill, /create:skill-parent |
| sk-create-readme | Author a folder README or an install guide (install-guide is a folded variant) | sk-create-readme/ |
/create:readme |
| sk-create-agent | Scaffold an OpenCode agent (permission/authority frontmatter) | sk-create-agent/ |
/create:agent |
| sk-create-command | Scaffold an OpenCode slash command (argument-hint + allowed-tools + router/presentation split) | sk-create-command/ |
/create:command |
| sk-create-feature-catalog | Author a feature-catalog inventory package | sk-create-feature-catalog/ |
/create:feature-catalog |
| sk-create-manual-testing-playbook | Author a manual-testing-playbook package | sk-create-manual-testing-playbook/ |
/create:manual-testing-playbook |
| sk-create-benchmark | Author MCP-promotion, behavior, skill-benchmark, and model-benchmark packages or inputs | sk-create-benchmark/ |
/create:benchmark |
| sk-create-changelog | Author a global or packet-local changelog entry (version bump + topology-aware placement) | sk-create-changelog/ |
/create:changelog |
| sk-create-diff | Produce a local, Git-free before/after review of an edited document (text/Markdown/HTML/DOCX/text-PDF) as a self-contained HTML report | sk-create-diff/ |
/create:diff |
| sk-create-repo-rule | Create, revise or retire a repo-local rule under repo-rules/ and wire it into REPO RULES.md (four decision tests refuse most requests) |
sk-create-repo-rule/ |
/create:repo-rule |
| sk-create-with-human-voice | Apply the Human Voice Rules to prose, or score prose against them, with a scope gate and a re-scan | sk-create-with-human-voice/ |
/create:with-human-voice |
| sk-create-frontmatter | Own the YAML frontmatter contract: per-class field rules, the description budget, and the 4-part version derivation |
sk-create-frontmatter/ |
— (routes via aliases) |
| sk-create-quality-control | Validate / score / optimize an EXISTING document (extract → DQI → HVR → validate) | sk-create-quality-control/ |
(routes via aliases) |
What ships with it
60 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.
- benchmark/README.md 4.0 KB
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/failed-runs.md 221 B
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/findings-and-recommendations.md 269 B
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/README.md 1.4 KB
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/results.csv 251 B
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/skill-benchmark-report.json 80 KB
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/skill-benchmark-report.md 1.9 KB
- benchmark/reports/compiled-routing/2026-07-21--acceptance--luna-high/source.md 858 B
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/failed-runs.md 202 B
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/findings-and-recommendations.md 223 B
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/cli-external-orchestration.json 57 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/cli-external-orchestration.md 4.0 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/compiled-route-status-all.json 4.1 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/mcp-tooling.json 101 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/mcp-tooling.md 4.8 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-code.json 220 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-code.md 22 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-design.json 229 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-design.md 8.1 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-doc.json 245 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-doc.md 7.4 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-prompt.json 42 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/sk-prompt.md 3.4 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/system-deep-loop.json 142 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/hub-reports/system-deep-loop.md 6.1 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/README.md 1.2 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/report.json 22 KB
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/results.csv 150 B
- benchmark/reports/compiled-routing/2026-07-21--benchmark-sweep--r3/source.md 773 B
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/failed-runs.md 211 B
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/findings-and-recommendations.md 232 B
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/README.md 1.3 KB
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/report.json 79 KB
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/report.md 16 KB
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/results.csv 150 B
- benchmark/reports/compiled-routing/2026-07-21--playbook-verify--sonnet/source.md 782 B
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/failed-runs.md 221 B
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/findings-and-recommendations.md 269 B
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/README.md 1.4 KB
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/results.csv 352 B
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/serving-snapshot.json 1.1 KB
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/serving-snapshot.md 848 B
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/skill-benchmark-report.json 137 KB
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/skill-benchmark-report.md 2.3 KB
- benchmark/reports/compiled-routing/2026-07-21--real--luna-high/source.md 858 B
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/failed-runs.md 221 B
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/findings-and-recommendations.md 269 B
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/README.md 1.4 KB
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/results.csv 352 B
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/serving-snapshot.json 1.1 KB
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/serving-snapshot.md 850 B
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/skill-benchmark-report.json 117 KB
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/skill-benchmark-report.md 2.3 KB
- benchmark/reports/compiled-routing/2026-07-21--verify--luna-high/source.md 858 B
- changelog/v1.5.0.0.md 10 KB
- changelog/v1.6.0.0.md 6.4 KB
- changelog/v1.7.0.0.md 977 B
- changelog/v1.8.0.0.md 2.5 KB
- changelog/v1.8.1.0.md 3.1 KB
- changelog/v2.0.0.0.md 1.3 KB
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.
- yesterday Changed b30e3d211602
- 4d ago Changed · -2 lines · -99 tokens per session 5bba092fe204
- 6d ago Changed cd1e8f1d8e11
- 8d ago First seen · 186 lines · 133 tokens per session scan A 11ecdc4d107c
sk-doc is a skill published in the GitHub repository MichelKerkmeester/skilled-agent-harness_spec-driven-loops (35 stars, last pushed yesterday), licensed MIT. It adds 34 tokens to every session and 3,616 once invoked, about $0.0002 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-09-03.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…