Trellis finish-work
Pre-commit quality checklist covering lint, typecheck, tests, code-spec sync, API changes, database migrations, cross-layer verification, and manual testing. Blocks commit if infra or cross-layer specs lack executable depth. Use when code is written and tested but not yet committed, before submitting changes, or as a final review before git commit.
git clone https://github.com/mindfold-ai/Trellis
T=$(mktemp -d) && git clone --depth=1 https://github.com/mindfold-ai/Trellis "$T" && mkdir -p ~/.claude/skills && cp -r "$T/packages/cli/src/templates/codex/skills/finish-work" ~/.claude/skills/mindfold-ai-trellis-finish-work-4ebb02 && rm -rf "$T"
packages/cli/src/templates/codex/skills/finish-work/SKILL.mdFinish Work - Pre-Commit Checklist
Before submitting or committing, use this checklist to ensure work completeness.
Timing: After code is written and tested, before commit
Checklist
1. Code Quality
# Must pass pnpm lint pnpm type-check pnpm test
-
passes with 0 errors?pnpm lint -
passes with no type errors?pnpm type-check - Tests pass?
- No
statements (use logger)?console.log - No non-null assertions (the
operator)?x! - No
types?any
2. Code-Spec Sync
Code-Spec Docs:
- Does
need updates?.trellis/spec/backend/- New patterns, new modules, new conventions
- Does
need updates?.trellis/spec/frontend/- New components, new hooks, new patterns
- Does
need updates?.trellis/spec/guides/- New cross-layer flows, lessons from bugs
Key Question:
"If I fixed a bug or discovered something non-obvious, should I document it so future me (or others) won't hit the same issue?"
If YES -> Update the relevant code-spec doc.
2.5. Code-Spec Hard Block (Infra/Cross-Layer)
If this change touches infra or cross-layer contracts, this is a blocking checklist:
- Spec content is executable (real signatures/contracts), not principle-only text
- Includes file path + command/API name + payload field names
- Includes validation and error matrix
- Includes Good/Base/Bad cases
- Includes required tests and assertion points
Block Rule: If infra/cross-layer changed but the related spec is still abstract, do NOT finish. Run
$update-spec manually first.
3. API Changes
If you modified API endpoints:
- Input schema updated?
- Output schema updated?
- API documentation updated?
- Client code updated to match?
4. Database Changes
If you modified database schema:
- Migration file created?
- Schema file updated?
- Related queries updated?
- Seed data updated (if applicable)?
5. Cross-Layer Verification
If the change spans multiple layers:
- Data flows correctly through all layers?
- Error handling works at each boundary?
- Types are consistent across layers?
- Loading states handled?
6. Manual Testing
- Feature works in browser/app?
- Edge cases tested?
- Error states tested?
- Works after page refresh?
Quick Check Flow
# 1. Code checks pnpm lint && pnpm type-check # 2. View changes git status git diff --name-only # 3. Based on changed files, check relevant items above
Common Oversights
| Oversight | Consequence | Check |
|---|---|---|
| Code-spec docs not updated | Others don't know the change | Check .trellis/spec/ |
| Spec text is abstract only | Easy regressions in infra/cross-layer changes | Require signature/contract/matrix/cases/tests |
| Migration not created | Schema out of sync | Check db/migrations/ |
| Types not synced | Runtime errors | Check shared types |
| Tests not updated | False confidence | Run full test suite |
| Console.log left in | Noisy production logs | Search for console.log |
Relationship to Other Commands
Development Flow: Write code -> Test -> $finish-work -> git commit -> $record-session | | Ensure completeness Record progress Debug Flow: Hit bug -> Fix -> $break-loop -> Knowledge capture | Deep analysis
- Check work completeness (this skill)$finish-work
- Record session and commits$record-session
- Deep analysis after debugging$break-loop
Core Principle
Delivery includes not just code, but also documentation, verification, and knowledge capture.
Complete work = Code + Docs + Tests + Verification