Borrowing it
Nothing to install: this file belongs to Jamie-BitFlight/git-project-xray-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Jamie-BitFlight/git-project-xray-mcp/main/.claude/commands/gsd/execute-phase.mdgit clone --depth 1 https://github.com/Jamie-BitFlight/git-project-xray-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/jamie-bitflight/git-project-xray-mcp/execute-phase)<a href="https://agentmods.dev/commands/jamie-bitflight/git-project-xray-mcp/execute-phase"><img src="https://agentmods.dev/badge/commands/jamie-bitflight/git-project-xray-mcp/execute-phase/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/jamie-bitflight/git-project-xray-mcp/execute-phase"><img src="https://agentmods.dev/badge/commands/jamie-bitflight/git-project-xray-mcp/execute-phase.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00017 | $0.02743 |
| Opus 5.5 | $0.00007 | $0.01097 |
| Sonnet 5.5 | $0.00003 | $0.00549 |
| Haiku 4.5 | $0.00002 | $0.00274 |
Grade A, and why
gsd:execute-phase scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
98% identical to gsd:execute-phase — 10 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 344 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Orchestrator stays lean: discover plans, analyze dependencies, group into waves, spawn subagents, collect results. Each subagent loads the full execute-plan context and handles its own plan.
Context budget: ~15% orchestrator, 100% fresh per subagent.
<execution_context> @./.claude/get-shit-done/references/ui-brand.md @./.claude/get-shit-done/workflows/execute-phase.md </execution_context>
Flags:
--gaps-only— Execute only gap closure plans (plans withgap_closure: truein frontmatter). Use after verify-work creates fix plans.
@.planning/ROADMAP.md @.planning/STATE.md
Read model profile for agent spawning:
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
Default to "balanced" if not set.
Model lookup table:
| Agent | quality | balanced | budget |
|---|---|---|---|
| gsd-executor | opus | sonnet | sonnet |
| gsd-verifier | sonnet | sonnet | haiku |
Store resolved models for use in Task calls below.
-
Validate phase exists
- Find phase directory matching argument
- Count PLAN.md files
- Error if no plans found
-
Discover plans
- List all *-PLAN.md files in phase directory
- Check which have *-SUMMARY.md (already complete)
- If
--gaps-only: filter to only plans withgap_closure: true - Build list of incomplete plans
-
Group by wave
- Read
wavefrom each plan's frontmatter - Group plans by wave number
- Report wave structure to user
- Read
-
Execute waves For each wave in order:
- Spawn
gsd-executorfor each plan in wave (parallel Task calls) - Wait for completion (Task blocks)
- Verify SUMMARYs created and spot-check claims
- Proceed to next wave
- Spawn
-
Aggregate results
- Collect summaries from all plans
- Report phase completion status
-
Commit any orchestrator corrections Check for uncommitted changes before verification:
git status --porcelainIf changes exist: Orchestrator made corrections between executor completions. Stage and commit them individually:
# Stage each modified file individually (never use git add -u, git add ., or git add -A) git status --porcelain | grep '^ M' | cut -c4- | while read file; do git add "$file" done git commit -m "fix({phase}): orchestrator corrections"If clean: Continue to verification.
-
Verify phase goal Check config:
WORKFLOW_VERIFIER=$(cat .planning/config.json 2>/dev/null | grep -o '"verifier"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")If
workflow.verifierisfalse: Skip to step 8 (treat as passed).Otherwise:
- Spawn
gsd-verifiersubagent with phase directory and goal - Verifier checks must_haves against actual codebase (not SUMMARY claims)
- Creates VERIFICATION.md with detailed report
- Route by status:
passed→ continue to step 8human_needed→ present items, get approval or feedbackgaps_found→ present gaps, offer/gsd:plan-phase {X} --gaps
- Spawn
-
Update roadmap and state
- Update ROADMAP.md, STATE.md
-
Update requirements Mark phase requirements as Complete:
- Read ROADMAP.md, find this phase's
Requirements:line (e.g., "AUTH-01, AUTH-02") - Read REQUIREMENTS.md traceability table
- For each REQ-ID in this phase: change Status from "Pending" to "Complete"
- Write updated REQUIREMENTS.md
- Skip if: REQUIREMENTS.md doesn't exist, or phase has no Requirements line
- Read ROADMAP.md, find this phase's
-
Commit phase completion Check
COMMIT_PLANNING_DOCSfrom config.json (default: true). If false: Skip git operations for .planning/ files. If true: Bundle all phase metadata updates in one commit:- Stage:
git add .planning/ROADMAP.md .planning/STATE.md - Stage REQUIREMENTS.md if updated:
git add .planning/REQUIREMENTS.md - Commit:
docs({phase}): complete {phase-name} phase
- Stage:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 344 lines · 17 tokens per session scan A ebc11d84621d
gsd:execute-phase is a command published in the GitHub repository Jamie-BitFlight/git-project-xray-mcp (0 stars, last pushed 8mo ago), licensed MIT. It adds 17 tokens to every session and 2,743 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 98% identical to gsd:execute-phase, differing in 10 lines, and is treated as a copy.
Other commands, from other repositories
template
Manage issue templates for streamlined issue creation.
fest-show
Show festival progression (in-progress tasks, roadmap, and dependency view).
add-note
Add an internal or external note to a ConnectWise PSA ticket.
dispatcher
Use when you want the orchestrator to pick the next repo to work on across your whole portfolio — it enumerates candidate repos below the confinement root, resolves free/busy from each repo's session.lock lease, ranks the FREE ones by backlog priority × staleness × readiness, recommends the single most worthwhile one…
sync-linear
Sync current work with Linear ticket status.
workpm
A project-management workflow for coordinating multiple AI workers through five stages. It includes task assignment, shared activity logs, worker replacement, and final checks.