From plangate
Phase lifecycle management. Use 'start N [description]' to begin a phase (branch + PLAN.md update) or 'finish [N]' to complete it (gate + PR creation).
How this skill is triggered — by the user, by Claude, or both
Slash command
/plangate:phaseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manages the lifecycle of PLAN.md phases: starting a phase (creating a branch, updating status) and finishing it (running gates, creating PRs). Enforces the branch-per-phase convention and ensures PRs are never created without validation.
Manages the lifecycle of PLAN.md phases: starting a phase (creating a branch, updating status) and finishing it (running gates, creating PRs). Enforces the branch-per-phase convention and ensures PRs are never created without validation.
/plangate:phase start N [description] — Start phase N with optional description/plangate:phase finish [N] — Finish current or specified phasegit status
Verify:
main or a base branchIf working tree is dirty, warn the user and ask whether to stash or commit first.
Read PLAN.md and find Phase {N}. Extract:
If the argument doesn't include a description, derive one from the phase title in PLAN.md.
Generate branch name following convention:
feat/phase-{N}-{kebab-case-description}
Examples:
feat/phase-1-foundation-and-setupfeat/phase-2-core-api-endpointsfeat/phase-3-auth-and-permissionsgit checkout -b feat/phase-{N}-{description}
Check if .plangate/ is in .gitignore. If not, add it:
grep -q '\.plangate/' .gitignore 2>/dev/null || echo -e '\n# Plangate orchestration state\n.plangate/' >> .gitignore
This prevents checkpoint files from being committed. Stage the .gitignore change if modified.
Change the phase status to "In Progress":
**Status: In Progress**)git commit -m "chore: start phase {N} — {description}"Phase {N} started.
Branch: feat/phase-{N}-{description}
Tasks: {count} tasks to complete
Ready to implement. Use /plangate:orchestrate {N} to begin task execution.
If phase number is provided, use it. Otherwise, detect from current branch name:
git branch --show-current
Parse feat/phase-{N}-... to extract N.
Read PLAN.md and check that ALL tasks for this phase are checked off (- [x]).
If any tasks are unchecked (- [ ]), warn:
Phase {N} has {count} uncompleted tasks:
- [ ] {task 1}
- [ ] {task 2}
Complete all tasks before finishing the phase.
STOP — do not proceed with incomplete tasks.
Invoke the plangate:gate skill. This runs typecheck + lint + build + tests.
If the gate fails, STOP. Report the failures and do not proceed to PR creation.
Update the phase status to "Complete":
**Status: Complete**git commit -m "chore: complete phase {N}"First, verify a remote exists:
git remote get-url origin 2>/dev/null
If no remote is configured:
gh repo create, or skip the PR step?"gh repo create {project-name} --private --source=. --push, then push main separately (git push origin main)If remote exists, push:
git push -u origin feat/phase-{N}-{description}
Create PR using the user's template:
gh pr create --base main --head feat/phase-{N}-{description} \
--title "feat(phase-{N}): {phase title}" \
--body "$(cat <<'EOF'
## Summary
{2-3 bullet points summarizing what this phase implemented}
## Implementation
{Key technical decisions and approaches}
## Testing
{What was tested and how}
## Technical Details
{Architecture notes, migration details, etc.}
## Next Phase
{What Phase N+1 will cover, if applicable}
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Phase {N} complete!
PR: {PR_URL}
Branch: feat/phase-{N}-{description}
Summary:
- {count} tasks completed
- All gates passed (typecheck, lint, build, tests)
- PR created and ready for review
The pre-PR gate is mandatory. Even if you "just ran it" during orchestration, run it again. Code may have changed.
Phase start and finish get their own clean commits (chore: prefix). Implementation commits use feat: or fix: prefixes.
Each phase gets its own branch. Never mix phases on a single branch.
plangate:orchestrate for task execution within a phaseplangate:gate for validation before PR creationnpx claudepluginhub bishnubista/plangate --plugin plangateImplements the next incomplete phase of a plan by reading a plan file, finding unchecked items, implementing them, running feedback loops, and offering to commit. One phase per invocation.
Executes implementation plans by dispatching tasks to implementer and reviewer subagents. Tracks progress per-task and coordinates sequential phases.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.