← ClaudeAtlas

done-gatelisted

A completion-boundary gate that distinguishes built-done (tests pass) from useful-done (a real consumer gets real value) at the moment work is declared finished. Manually triggered via `/done-gate` only — never auto-invoked. Use when the user types `/done-gate` after declaring work done.
Moonweave-Systems/decision-kernel · ★ 0 · AI & Automation · score 76
Install: claude install-skill Moonweave-Systems/decision-kernel
# /done-gate — Built-Done vs Useful-Done A read-only gate for the completion boundary: "I just said this is done — is it built-done or useful-done?" Diagnosis only; it never fixes. ## 1. When to run Only when the user types `/done-gate`. Never auto-invoke. Run it at the completion boundary — right after the user declares work "done." Not during work, not on a hunch, not on a timer. The trigger is the user's own declaration. ## 2. Separation from compass compass and done-gate are siblings, not duplicates. Conflating them removes the value of both. - **compass** = mid-session audit: "have I drifted from intent? is the codebase rotting?" Backward/sideways during work. Baseline = original session intent. General repo health sweep. - **done-gate** = completion-boundary gate: "I just said this is done — is it built-done or useful-done?" Forward at the finish line. Baseline = what this specific piece of work was supposed to deliver. Git read scoped to the declared change only — NOT a whole-repo health sweep. Different trigger moment, different question, different baseline. done-gate must not re-implement compass's rot scan. ## 3. Baseline (draft → confirm) + refusal floor Before any check, establish what this work was supposed to deliver. **Draft the baseline** from recent `git diff`/commits plus any spec or plan file present. Show the inferred baseline to the user; ask them to confirm, correct, or narrow it. Do not silently lock in a model-drafted scope. **Mandatory sco