Get the FREE Ultimate OpenClaw Setup Guide →

done

Scanned
npx machina-cli add skill endlessblink/master-plan/done --openclaw
Files (1)
SKILL.md
4.3 KB

Task Completion Workflow

Finalize a completed task: verify tests pass, commit changes, update MASTER_PLAN.md, and push.

Triggers

  • /master-plan:done - Main command
  • "mark done", "task complete", "finish task", "ship it"

Workflow

Step 1: Check What Changed

Run git status to see what files were modified:

git status
git diff --stat

Output immediately:

Files changed:
- [list of modified files]

Step 2: Get Task Information

Use AskUserQuestion to collect:

  1. Task ID (header: "Task ID")

    • Options: "Tracked task (enter ID)" or "Quick fix (no task ID)"
  2. Run tests? (header: "Tests")

    • Options: "Yes — run test suite (Recommended)" or "Skip tests"

Then ask in plain text: "What's a brief summary of the changes? (1-2 sentences)"

IMPORTANT: Wait for user to provide the summary before proceeding.

Step 3: Run Tests (unless skipped)

Detect and run the project's test command. Check in order:

  1. If package.json exists → npm test
  2. If Cargo.toml exists → cargo test
  3. If pyproject.toml or setup.py exists → pytest
  4. If Makefile with test target → make test
  5. If go.mod exists → go test ./...

If tests fail: STOP immediately. Report failures. Do NOT proceed. If tests pass: Continue. If no test command found: Warn user and continue.

Step 4: Update MASTER_PLAN.md (if tracked task)

Skip this step if user selected "Quick fix (no task ID)".

CRITICAL: Tasks may appear in multiple locations. Update ALL of them:

4a. Summary/Roadmap Table

Find the task row and update:

# Before:
| **TASK-XXX** | **Title** | **P2** | PLANNED | ... |

# After:
| ~~**TASK-XXX**~~ | ✅ **Title** | **P2** | ✅ DONE (YYYY-MM-DD) | ... |

4b. Subtask/Bullet Lists

# Before:
- TASK-XXX: Description

# After:
- ~~TASK-XXX~~: ✅ Description

4c. Detailed Section Header

# Before:
### TASK-XXX: Title (IN PROGRESS)

# After:
### ~~TASK-XXX~~: Title (✅ DONE)

4d. Verify All Updated

Search for the task ID and confirm all occurrences show strikethrough or ✅ DONE:

grep "TASK-XXX" docs/MASTER_PLAN.md

Step 5: Commit and Push

Stage all relevant files. NEVER commit:

  • .env* files
  • credentials*.json or files containing secrets
  • node_modules/, __pycache__/, target/, .venv/
  • Backup files, generated stats, lock files (unless intentional)

Prefer staging specific files by name over git add -A.

# Stage code files
git add <changed-files>
git add docs/MASTER_PLAN.md  # if tracked task

# Commit
git commit -m "$(cat <<'EOF'
feat(TASK-XXX): Brief summary from user

- Key change 1
- Key change 2

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

# Push
git push

For quick fixes (no task ID):

git commit -m "$(cat <<'EOF'
fix: Brief summary from user

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
git push

Commit prefix conventions:

  • feat(TASK-XXX): — New feature
  • fix(BUG-XXX): — Bug fix
  • chore(TASK-XXX): — Maintenance
  • refactor(TASK-XXX): — Code refactoring
  • docs(TASK-XXX): — Documentation only

Step 6: Report Completion

Output this summary:

## Task Complete

- **Task**: TASK-XXX (or "Quick fix")
- **Summary**: [user's summary]
- **Tests**: ✅ Passed (or ⏭️ Skipped)
- **Commit**: [short hash] — [message]
- **Push**: ✅ Pushed to origin
- **MASTER_PLAN.md**: Updated / N/A

Important Rules

  1. NEVER skip commit/push — Changes must be pushed to the remote
  2. ALWAYS collect summary — Don't proceed without knowing what changed
  3. Update ALL locations in MASTER_PLAN.md for tracked tasks
  4. Verify with grep after updating MASTER_PLAN.md
  5. Wait for user input — Don't assume or skip questions
  6. Test failures block completion — If tests fail, stop and report

Files to NEVER Commit

  • .env* files (secrets)
  • credentials*.json
  • Private keys, tokens
  • Generated/cached files (node_modules/, dist/, __pycache__/)
  • OS files (.DS_Store, Thumbs.db)

Source

git clone https://github.com/endlessblink/master-plan/blob/master/skills/done/SKILL.mdView on GitHub

Overview

The done skill automates shipping a finished task by running tests, committing changes, pushing to the repo, and updating MASTER_PLAN.md across all tracked locations. It activates when you say /master-plan:done or phrases like 'mark done', 'task complete', 'finish task', or 'ship it'.

How This Skill Works

Technically, the workflow surfaces changes with git status and git diff, then prompts for Task ID (or Quick fix) and whether to run tests. It auto-detects and runs the project's test command in order (npm test, cargo test, pytest, make test, go test) and stops on failure. For tracked tasks, it updates MASTER_PLAN.md in all locations, then commits and pushes with conventional prefixes, and finally outputs a Task Complete summary.

When to Use It

  • After finishing a feature or bug fix and it is ready to ship.
  • When a tracked TASK-XXX is completed and MASTER_PLAN.md needs updates in all locations.
  • For a quick fix (no task ID) where you still want a fast commit and push.
  • When you want to verify repository status with git status and git diff before committing.
  • When summarizing the change in 1-2 sentences and pushing the updates to origin.

Quick Start

  1. Step 1: Trigger with /master-plan:done (or one of the phrases) and provide Task ID (if tracked) plus a 1-2 sentence summary.
  2. Step 2: Inspect changes with git status and git diff to see what changed.
  3. Step 3: Run tests if requested, update MASTER_PLAN.md for tracked tasks, then commit and push with proper prefixes.

Best Practices

  • Always collect a 1-2 sentence summary before proceeding.
  • Let tests guide you; run the project’s standard test command in order.
  • Update all MASTER_PLAN.md locations for tracked tasks.
  • Never commit or push sensitive files; avoid secret and lock files.
  • Use conventional commit prefixes (feat, fix, docs, chore) for TASK-XXX.

Example Use Cases

  • TASK-123: Implement user authentication flow
  • TASK-452: Fix memory leak in data loader
  • TASK-789: Update onboarding docs
  • Quick fix (no task ID): adjust config for debug mode
  • TASK-999: Refactor API error handling

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers