Summary

Find out whether the session is actually done — tests run, commit audited, tracker checked — before you close the tab. Verifies freely; never commits, fixes, or updates anything without an explicit yes to that exact action.

When to use

You've been coding for hours and something nags: did we finish? Did the tests pass? Did we commit? Use /wrap-up at the end of any work session to get an honest answer — "done and clean", "blocked by a defect", or "clean but N steps left" — before you stop.

Trigger phrases (from SKILL.md):

The non-negotiable rule: tests and devil's-advocate run every time — "it was a small change" and "I'm confident it's fine" are not valid skips. The only acceptable non-run is a hard block (e.g. Docker not up), which is reported as ❓, never silently omitted.

Invocation

Say the trigger phrase or invoke the skill directly:

/wrap-up

No parameters. The skill reads session state, git status, and the relevant tracker item itself.

What it runs automatically (no asking): test suite + /da-review on this session's diff.

What it asks before doing: committing, fixing code, updating the tracker — any write. One yes per action.

Example 1 — Clean session, one step left

Input:

wrap up

Output / Result:

Session summary
───────────────
What was done: Added rate-limiting middleware (src/middleware/rate_limit.py,
  tests/test_rate_limit.py). Two commits: a3f1c9b, 9e2d04a.
What it was for: NIM-47 — prevent API abuse on the /auth endpoint.

Verification
───────────────
✅ Tests — 42 passed, 0 failed (pytest tests/)
✅ Devil's advocate — no issues found
✅ Commit hygiene — all session work committed, no pre-existing dirty files mixed in
✅ Acceptance criteria — both ACs from NIM-47 met (rate limit enforced; 429 returned on breach)
⚠️  Tracker — NIM-47 still marked "In Progress"

Done and clean — one close-out step left.
Want me to flip NIM-47 to In Review? [ ] yes · [ ] not now

Example 2 — Blocker found

Input:

are we done

Output / Result:

Session summary
───────────────
What was done: Refactored token validation in src/auth/token.py.
What it was for: NIM-52 — remove deprecated jwt library.

Verification
───────────────
✅ Tests — 38 passed, 0 failed
❌ Devil's advocate — 1 issue:
   The new validator skips expiry check when `iat` claim is missing.
   An attacker supplying a token without `iat` gets through.

Defects found — must fix before this can be wrapped up.
Want me to fix the expiry-check issue now?
[ ] fix it · [ ] not now

Related tools