Skip to content

feat: smarter subtask completion with user verification#2

Open
jcbmrrs wants to merge 1 commit into
endlessblink:masterfrom
jcbmrrs:improve-subtask-completion
Open

feat: smarter subtask completion with user verification#2
jcbmrrs wants to merge 1 commit into
endlessblink:masterfrom
jcbmrrs:improve-subtask-completion

Conversation

@jcbmrrs

@jcbmrrs jcbmrrs commented Jun 30, 2026

Copy link
Copy Markdown

Summary

The current /done skill marks all unchecked subtask bullets as [x] unconditionally when completing a task. This PR replaces that with a verification-driven approach where completion is earned, not assumed.

Changes

skills/done/SKILL.md

  • Test-scoped auto-check: passing tests only auto-complete bullets that are explicitly covered by a related test. All other unchecked bullets trigger a per-bullet user interview ("was this subtask completed?")
  • Incomplete tasks stay IN PROGRESS: if any - [ ] bullet remains after verification, the task is NOT marked done — it keeps its IN PROGRESS status, stays in ## Active Work, and commits as wip(TASK-XXX): with a progress report listing what's left
  • ## Completed is a guarantee: a task only moves to ## Completed when every subtask bullet is [x]. No section with open bullets can land there
  • **Status**: line is always updated with today's date, reflecting either ✅ DONE or IN PROGRESS depending on outcome
  • Two distinct completion reports: ✅ Task Complete vs 🔄 Progress Saved — Task Still In Progress, with the latter listing incomplete subtasks and prompting a follow-up via /master-plan:next

skills/next/SKILL.md

  • When marking a task IN PROGRESS, also update the **Status**: line to IN PROGRESS (YYYY-MM-DD) so the date of last activity is always recorded

Motivation

The previous behavior silently marked work done regardless of whether it was. This made ## Completed untrustworthy and lost track of partially finished tasks. With these changes, the MASTER_PLAN.md becomes an accurate record: IN PROGRESS means there's real work left, DONE means it's actually done.

🤖 Generated with Claude Code

- done: only auto-check bullets with an explicitly related passing test;
  interview user for all others (one question per unchecked bullet)
- done: block DONE status if any subtask remains unchecked — task stays
  IN PROGRESS in Active Work until all bullets are [x]
- done: move ### section to ## Completed only when fully complete;
  never move a section with open [ ] bullets
- done: update **Status** line to reflect outcome (✅ DONE or IN PROGRESS)
  with today's date in both cases
- done: distinguish completion report (✅ Task Complete) from partial
  progress report (🔄 Progress Saved) with incomplete subtask list
- next: update **Status**: line to IN PROGRESS (date) when starting a task

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant