close-spec SKILL.md skillA
This file is byte-identical to the first copy the registry indexed. Same content hash, so the same checks give both the same grade.
close-spec from dzhng/duet-agent is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add dzhng/duet-agent/close-spec@git:20260721.6692189Pins git:20260721.6692189 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- dzhng/duet-agent
- Path
.agents/skills/close-spec/SKILL.md- Versions recorded
- 2
- Latest version
- git:20260721.6692189, committed Jul 21, 2026
- First version recorded
- Jul 17, 2026
- Size
- 6,512 bytes
- Repository stars
- 50
- License
- Apache-2.0
When a spec under specs/<feature>/ is done shipping (a write-spec build, or any planned task that produced a spec), archive it to specs/done/ and rewrite it from a build-plan into a durable rationale — the why, the principles, the invariants — pointing back to the real code for the how. Use when implementation has landed and the plan no longer matches what shipped, or the user says a feature/spec is finished. Pairs with [write-spec](../write-spec/SKILL.md) (the plan this closes) and…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Close Spec A spec is a **build plan** while you're building and a **rationale record** once you've shipped. Closing flips it from one to the other. The plan was a ladder of slices and predictions; the record is the layer of meaning the code can't hold — why this exists, what it must never break, what you tried that failed. The code is the single source of truth for *how*; the closed spec is the source of truth for *why*, and a map into the code. Do not summarize the implementation. Anyone can read the code. If a paragraph restates what a function does, cut it and point at the function instead. ## Workflow 1. **Confirm it shipped.** The feature is merged or working in-tree and its tests/screenshot gates are green. If slices remain unverified, it isn't done — finish or [review](../review/SKILL.md) first. 2. **Diff plan against reality.** Read the spec's README and slices, then read what actually landed. Note every place the build diverged from the plan: dropped slices, renamed seams, a mechanic that turned out different, an assumption that broke. The divergences are the most valuable thing to …
Read the whole file at its exact version.
How to install
mdr add dzhng/duet-agent/close-spec@sha256:1037876ce3e240acThe line at the top of this page pins the label git:20260721.6692189, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_fyowji4lzrkjkzbt)
4 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 2 versions of this file, between Jul 17, 2026 and Jul 21, 2026, about one every 4 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260721.6692189 latest | 2026-07-21 | 6692189 | 6,512 B | A | view · diff |
| git:20260717.934babf | 2026-07-17 | 934babf | 6,436 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (6512 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
dzhng/duet-agent · 50 stars · license Apache-2.0 · pushed 2026-10-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_fyowji4lzrkjkzbt GET https://markdownregistry.com/api/v1/resolve?ref=dzhng/duet-agent/close-spec GET https://markdownregistry.com/api/v1/blob/1037876ce3e240ace93e6632587d21c2edf31b36e43cf12e11663a1157147aa8
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from dzhng/duet-agent
Every file in dzhng/duet-agent