Complete a change: confirm its tasks are done, then clean up the change artifacts and commit. If a name is given, complete that specific change. If omitted, auto-scan and batch-complete all fully finished changes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd:completeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Complete a change by confirming its tasks are done, deleting the change artifacts, and committing the cleanup.
Complete a change by confirming its tasks are done, deleting the change artifacts, and committing the cleanup.
This skill does not extract knowledge or maintain docs. Capturing what was learned and keeping project docs current is the project's own responsibility — use your own docs (CLAUDE.md, README, docs/) and whatever skills you prefer for that. /complete only finalizes and cleans up.
Input: Optionally specify a change name (e.g., /complete add-user-search). If omitted, auto-scan for all completed changes.
Steps
Detect repo topology (MANDATORY first)
Load plugins/sdd/references/repo-topology.md and run its Step 0 detection. It only affects Step 4 (the cleanup commit): in single-repo mode the feature-spec/ deletion is committed in the cwd repo; in multi-repo mode the code commits already landed per child repo during /apply, so /complete just deletes feature-spec/ and commits that deletion only if cwd is itself a git repo (otherwise plain rm).
Select change(s) to complete
If a name is provided: Use that single change. Go to step 2.
If no name is provided (batch mode):
feature-spec/changes/ (excluding archive/ if it exists)tasks.md and count - [ ] vs - [x]- [ ] remaining), or where tasks.md does not existadd-user-search: 3/5 tasks complete)IMPORTANT: Batch mode does NOT ask for confirmation — it completes all fully finished changes automatically.
Check task completion status
Read feature-spec/changes/<name>/tasks.md:
- [ ] (incomplete) vs - [x] (complete)If incomplete tasks found (only possible when name is explicitly provided):
If no tasks.md exists: Proceed without task-related warning.
Delete change artifacts
rm -rf feature-spec/changes/<name>
After deletion, check remaining state:
feature-spec/changes/ is now empty (no more active changes):
feature-spec/specs/ (main specs are no longer needed)feature-spec/changes/ directory itselffeature-spec/archive/ if it exists (legacy)feature-spec/config.yaml — it is reused by future /propose and /quick.Commit the cleanup
Stage the cleanup (deleted change files) and commit:
chore: complete <change-name>chore: complete <name1>, <name2>, .../apply — do not re-commit code here. This commit only records the feature-spec/ deletion, and only if cwd is itself a git repo. If cwd is not a repo (plain umbrella folder), skip the commit — the rm in Step 3 is enough.Display summary
Single change:
## Change Complete: <change-name>
**Tasks:** M/M complete ✓
**Cleaned up:** feature-spec/changes/<name>/ deleted
Batch mode:
## Batch Complete
Completed N change(s):
| Change | Tasks | Cleaned Up |
|--------|-------|------------|
| add-user-search | 5/5 ✓ | ✓ |
| fix-login-bug | 3/3 ✓ | ✓ |
Skipped M change(s) with incomplete tasks:
- refactor-auth: 2/4 tasks complete
/complete does not write knowledge.md, sync context.md, or edit CLAUDE.md / README. Those artifacts are not part of this workflow anymore — the project owns its own docs.feature-spec/config.yaml — never delete it.npx claudepluginhub bingeli1379/eli-marketplaceGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.