done-check
Single-pass audit of the current diff against the applicable quality rule sets before declaring a task complete or requesting external review.
Skill by ultimatile
Chalk Labs
Need help deploying done-check?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ultimatile-done-check
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/done-check
What's inside
- Skill name
done-check- Description
- Single-pass audit of the current diff against the applicable quality rule sets before declaring a task complete or requesting external review.
- License
- MIT
- Instructions
- 229 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Done-Check
Post-hoc audit against the current diff. This skill is the **runner**; item definitions live in the rule-set SSOTs it applies — `quality-list` for universal code quality, and `authoritative-text-rules` for text the agent executes as instructions. Update the owning SSOT, not this file, when adding or modifying items.
## Procedure
0. **Resolve the active rule sets.** Resolve two absolute paths first, and use them everywhere below: `<SKILLS_DIR>`, the directory holding this skill's own directory, and `<TARGET_ROOT>`, the project under audit (cwd). Every read of a rule file — main context's as much as a subagent's — resolves against `<SKILLS_DIR>`, so both paths are resolved here and carried, never re-derived downstream.
`<SKILLS_DIR>` is `${CLAUDE_SKILL_DIR}/..`.
`quality-list` always applies: its base items live in `<SKILLS_DIR>/quality-list/SKILL.md`, and language-specific addenda at `<SKILLS_DIR>/quality-list/lang-<language>.md` realize them concretely. `authoritative-text-rules` applies conditionally, by the firing rule in Step 2.
Verify `<SKILLS_DIR>/quality-list/SKILL.md` is present here, before anything reads it. A rule set that is not there halts, reporting the file looked for and the directory looked in, so that whoever reads the halt can tell a wrong `<SKILLS_DIR>` from a rule set that is not installed. `authoritative-text-rules` gets the same check in Step 2, where its firing rule has been evaluated and its presence first matters.
Detect language from `<TARGET_ROOT>/CLAUDE.md`'s `Language:` declaration — the target's, never one found beside the rule files; otherwise auto-detect from diff file extensions (`.rs` → rust, `.cpp`/`.cc`/`.cxx`/`.h`/`.hpp` → cpp, `.py` → python, `.ts`/`.tsx` → typescript, `.go` → go, etc.). Multi-language projects detect every present language; each matching addendum applies. Missing addendum → base rules only for that language (not a concern). Step 0 only **detects** the language(s); it routes nothing. Each consumer that applies `quality-list` — the Step 2 mechanical subagent and the Step 3 contextual pass — loads every matching addendum file itself.
1. **Identify the diff under audit.** The caller supplies the **root** on `diff-root`'s consumer contract; apply it here, halt included, and build the committed half by that skill's per-command conversion.
Cover all four sources:
```bash
git log --oneline <root-rev>..HEAD # committed
git diff <root-rev>...HEAD # committed content
git diff --cached # staged
git diff # unstaged
git ls-files --others --exclude-standard # untracked paths
```
Read the contents of any untracked file relevant to the audit.
2. **Spawn the fresh-context auditors.** Authors read intent; a fresh-context subagent reads literal text — removes the doc-vs-code drift blindspot. One auditor always runs, for `quality-list`'s mechanical / literal items. A second runs conditionally, for `authoritative-text-rules`, per the firing rule at the end of this step.
**This audit MUST NOT load a purely-mechanical `quality-list` item body into main context, and MUST NOT load any `authoritative-text-rules` item body there** — whether or not an earlier phase of the same session already did. Each subagent reads its own SSOT's index and the bodies it needs in its own fresh context, deriving its item set from that index; main only composes the prompts (diff + resolved paths) and dispatches. Main reads the contextual-lane `quality-list` bodies it audits in Step 3, and may read either SSOT's index.
Both prompts below carry the two absolute paths Step 0 resolved.
**Auditor 1 — `quality-list` mechanical lane.** Always dispatched. Use the `Agent` tool with `subagent_type: "general-purpose"` and a prompt of the following shape:
```
You are auditing a diff under the `quality-list` quality rules.
You have NO access to the conversation history that produced this
diff and MUST NOT speculate about author intent. Judge purely from:
- the literal text of the diff (provided below)
- the literal text of the relevant `quality-list` item files (read
them yourself from the paths below)
- the literal text of the codebase at <TARGET_ROOT> you can read
with your tools
First read <SKILLS_DIR>/quality-list/SKILL.md and consult its
Items index. Select every item whose lane is `mechanical`,
including the mechanical half of any dual-lane item (an entry
tagged `mechanical (+ contextual half)`, e.g.
ported-code-attribution). Read each selected item's
<SKILLS_DIR>/quality-list/items/<slug>.md in full and audit
it.
Also load every language addendum at
<SKILLS_DIR>/quality-list/lang-<lang>.md that exists for a
detected project language — a multi-language diff has one per
present language, and you must load them all (see Step 0 of
done-check for the detection rule).
Where an item body or addendum spells a detection command
containing `<root-rev>`, substitute the revision form
`diff-root` derives from the root given below, not the root
itself.
Return one verdict per item, from the three defined in Step 4 of
<SKILLS_DIR>/done-check/SKILL.md; read that step's verdict
sentence, which states what backs each of the three. On a concern,
add one thing that sentence does not ask for: the clause of the
item you are applying, quoted. Whoever triages your rows may not
open a purely-mechanical item's body, so an unquoted rule leaves
the concern unjudgeable.
Pay particular attention to `paired-artifact-drift`'s "new-comment
claim sweep" and "cold-read pass" sub-rules: extract every numeric
literal, identifier, property claim, and behavioral guarantee
(never-raises / always-returns / totality) from new / modified
comments, and verify each against the code — for a guarantee, trace
every exception or non-conforming-return source in the function
body, not just one representative case. Do not assume an
inconsistency was "intended" — if the literal text says one thing
and the code does another, that is a ⚠.
For `ported-code-attribution`, grep the diff for textual signals —
"ported from", "derived from", "based on", "adapted from", "from
$project", and any external project name in new comments — and
verify that any such signal is matched by an attribution comment
naming source URL, upstream copyright, and license. If a NOTICE /
THIRD_PARTY-style file is added or modified, follow the upstream
URL it cites and confirm the upstream actually has the file the
derivative claims to mirror.
Report concisely, aiming under 600 words. Completeness of the row
set outranks that: never drop or merge a row to fit.
- one row per item, labelled with that item's slug exactly as the
Items index spells it, carrying Result + Evidence + Note
- a final list of any cross-cutting concerns spanning multiple
items
```
Embed only the diff, the root Step 1 was given, and the two resolved absolute paths in the prompt. The diff is all four sources Step 1 identified — committed, staged, unstaged, and the contents of every relevant untracked file. **Do not embed item body text.**
**Firing rule for auditor 2.** Dispatch the authoritative-text auditor when any path in the diff could be text an agent executes as instructions — markdown paths are the usual case. **Dispatch when unsure.**
The rule approximates because it has to: `authoritative-text-rules`' membership predicate is a property of a file's *content*, while a dispatch decision is available only over the diff's *paths*. No path-level test is exact, so the only real choice is which way it errs. It errs toward dispatching: a missed dispatch is an audit that silently did not happen, while a needless one costs one subagent that returns `⊘ N/A` rows. Deciding authoritatively which files qualify is that SSOT's Scope section, applied to file contents inside the subagent — main decides only whether to ask.
**Auditor 2 — `authoritative-text-rules`.** Dispatched only when the firing rule fires. Verify `<SKILLS_DIR>/authoritative-text-rules/SKILL.md` is present before dispatching, on the same terms Step 0 verified `quality-list`: absent halts the same way. Step 0 having found `quality-list` under this `<SKILLS_DIR>` narrows the cause — the directory is the right one, so what is missing is the rule set itself. Same tool and `subagent_type`, with a prompt of the following shape:
```
You are auditing a diff under the `authoritative-text-rules` rules.
You have NO access to the conversation history that produced this
diff and MUST NOT speculate about author intent. Judge purely from:
- the literal text of the diff (provided below)
- the literal text of the `authoritative-text-rules` item files
(read them yourself from the paths below)From ultimatile/development-skills, MIT.
More from ultimatile/development-skills
- 0.564score
copilot-review
ultimatile
Create a GitHub PR with Copilot as reviewer and poll until the review arrives.
SkillAFreshness: AClaude Code +9 - 0.561score
authoritative-text-rules
ultimatile
Single source of truth for audit items covering text that an agent executes as instructions.
SkillAFreshness: AClaude Code +9 - 0.561score
bug-to-contract
ultimatile
Promote a review finding or bug fix into a contract test that prevents the underlying invariant violation from recurring.
SkillAFreshness: AClaude Code +9 - 0.561score
code-review-gate
ultimatile
Run the built-in /code-review against the current diff through a fallback lane chain with lane-failure, retry, and exhaustion handling.
SkillAFreshness: AClaude Code +9 - 0.561score
codex-contract-test-review
ultimatile
Narrow Codex pass on a newly added contract test, verifying it is not tautological and would fail on the original buggy implementation.
SkillAFreshness: AClaude Code +9 - 0.561score
diff-root
ultimatile
Single source of truth for the diff root — the ref a change is measured from — covering the consumer contract, where the root comes from, and the per-command…
SkillAFreshness: AClaude Code +9 - 0.561score
file-pullreq
ultimatile
Draft and file a GitHub PR using gh-body-conventions and the PR body skeleton, via the gh-post wrapper.
SkillAFreshness: AClaude Code +9 - 0.561score
finding-to-audit
ultimatile
Promote a review finding into a pre-commit audit rule that catches the diff-inspectable issue class (import direction, pub widening, debug artifacts, dropped…
SkillAFreshness: AClaude Code +9 - 0.561score
finding-triage
ultimatile
Single source of truth for per-finding review-triage dispositions and response selection for actionable findings, which the review and audit skills apply by…
SkillAFreshness: AClaude Code +9 - 0.561score
gate-miss-to-issue
ultimatile
Promote a late-caught defect — one an earlier gate should have caught — into a development-skills issue proposing a fix to that gate's procedure.
SkillAFreshness: AClaude Code +9 - 0.558score
codex-plan-review
ultimatile
Review an implementation plan with OpenAI Codex before coding, getting a second opinion on assumptions and approach.
SkillAFreshness: AClaude Code +9 - 0.558score
codex-review
ultimatile
Pre-PR code review on the current branch using the OpenAI Codex CLI, with an iterative fix loop.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 71
- Last commit (this folder)
- Oct 12, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ultimatile/development-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ultimatile
- 0.564score
copilot-review
ultimatile
Create a GitHub PR with Copilot as reviewer and poll until the review arrives.
SkillAFreshness: AClaude Code +9 - 0.561score
codex-contract-test-review
ultimatile
Narrow Codex pass on a newly added contract test, verifying it is not tautological and would fail on the original buggy implementation.
SkillAFreshness: AClaude Code +9 - 0.561score
bug-to-contract
ultimatile
Promote a review finding or bug fix into a contract test that prevents the underlying invariant violation from recurring.
SkillAFreshness: AClaude Code +9 - 0.561score
code-review-gate
ultimatile
Run the built-in /code-review against the current diff through a fallback lane chain with lane-failure, retry, and exhaustion handling.
SkillAFreshness: AClaude Code +9 - 0.561score
authoritative-text-rules
ultimatile
Single source of truth for audit items covering text that an agent executes as instructions.
SkillAFreshness: AClaude Code +9 - 0.561score
diff-root
ultimatile
Single source of truth for the diff root — the ref a change is measured from — covering the consumer contract, where the root comes from, and the per-command…
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get done-check running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
done-check skill. Agent Mart. https://agentmart.dev/skills/ultimatile-done-check (last updated 2026-10-24)