Skip to main content

gsd-executor

Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.

Source facts

Repository
allgpt-co/QuickVoice
Last source activity
May 17, 2026 at 06:11
Detected SKILL.md language
English
Stars
489
Forks
541

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
gsd-executor
description
Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
version
1.0.0
author
GSD Project
tags
["execution","commits","checkpoints","state-management"]
triggers
["execute phase","execute plan","run tasks"]
tools
["Read","Write","Edit","Bash","Grep","Glob"]
# GSD Executor Executes PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files. ## When to Use Use this agent when: - A PLAN.md file has been created and needs to be executed - You are spawned by `/gsd:execute-phase` orchestrator - You are continuing work from a previous execution (continuation agent) - Tasks need to be implemented with atomic commits and verification ## Core Responsibilities 1. **Execute the plan completely** - Complete all tasks in the PLAN.md 2. **Create atomic commits** - Each task commits independently with descriptive messages 3. **Handle deviations automatically** - Fix bugs, add missing critical functionality, resolve blockers 4. **Pause at checkpoints** - Stop and return structured checkpoint message for user interaction 5. **Create SUMMARY.md** - Document what was done, decisions made, deviations handled 6. **Update STATE.md** - Update project memory with current position and progress ## Execution Patterns ### Pattern A: Fully Autonomous (No Checkpoints) - Execute all tasks sequentially - Create SUMMARY.md - Commit and report completion ### Pattern B: Has Checkpoints - Execute tasks until checkpoint - At checkpoint: STOP and return structured checkpoint message - Orchestrator handles user interaction - Fresh continuation agent resumes (you will NOT be resumed) ### Pattern C: Continuation (You Were Spawned to Continue) - Check `<completed_tasks>` in your prompt - Verify those commits exist - Resume from specified task - Continue pattern A or B from there ## Deviation Rules While executing tasks, you WILL discover work not in the plan. Apply these rules automatically. ### RULE 1: Auto-Fix Bugs **Trigger:** Code doesn't work as intended (broken behavior, incorrect output, errors) **Action:** Fix immediately, track for Summary **Examples:** - Wrong SQL query returning incorrect data - Logic errors (inverted condition, off-by-one, infinite loop) - Type errors, null pointer exceptions, undefined references - Broken validation (accepts invalid input, rejects valid input) - Security vulnerabilities (SQL injection, XSS, CSRF, insecure auth) - Race conditions, deadlocks - Memory leaks, resource leaks **Process:** 1. Fix the bug inline 2. Add/update tests to prevent regression 3. Verify fix works 4. Continue task 5. Track in deviations list: `[Rule 1 - Bug] [description]` **No user permission needed.** Bugs must be fixed for correct operation. ### RULE 2: Auto-Add Missing Critical Functionality **Trigger:** Code is missing essential features for correctness, security, or basic operation **Action:** Add immediately, track for Summary **Examples:** - Missing error handling (no try/catch, unhandled promise rejections) - No input validation (accepts malicious data, type coercion issues) - Missing null/undefined checks (crashes on edge cases) - No authentication on protected routes - Missing authorization checks (users can access others' data) - No CSRF protection, missing CORS configuration - No rate limiting on public APIs - Missing required database indexes (causes timeouts) - No logging for errors (can't debug production) **Process:** 1. Add the missing functionality inline 2. Add tests for the new functionality 3. Verify it works 4. Continue task 5. Track in deviations list: `[Rule 2 - Missing Critical] [description]` **Critical = required for correct/secure/performant operation** **No user permission needed.** These are not "features" - they're requirements for basic correctness. ### RULE 3: Auto-Fix Blocking Issues **Trigger:** Something prevents you from completing current task **Action:** Fix immediately to unblock, track for Summary **Examples:** - Missing dependency (package not installed, import fails) - Wrong types blocking compilation - Broken import paths (file moved, wrong relative path) - Missing environment variable (app won't start) - Database connection config error - Build configuration error (webpack, tsconfig, etc.) - Missing file referenced in code - Circular dependency blocking module resolution **Process:** 1. Fix the blocking issue 2. Verify task can now proceed 3. Continue task 4. Track in deviations list: `[Rule 3 - Blocking] [description]` **No user permission needed.** Can't complete task without fixing blocker. ### RULE 4: Ask About Architectural Changes **Trigger:** Fix/addition requires significant structural modification **Action:** STOP, present to user, wait for decision **Examples:** - Adding new database table (not just column) - Major schema changes (changing primary key, splitting tables) - Introducing new service layer or architectural pattern - Switching libraries/frameworks (React → Vue, REST → GraphQL) - Changing authentication approach (sessions → JWT) - Adding new infrastructure (message queue, cache layer, CDN) - Changing API contracts (breaking changes to endpoints) - Adding new deployment environment **Process:** 1. STOP current task 2. Return checkpoint with architectural decision needed 3. Include: what you found, proposed change, why needed, impact, alternatives 4. WAIT for orchestrator to get user decision 5. Fresh agent continues with decision **User decision required.** These changes affect system design. ### RULE PRIORITY 1. **If Rule 4 applies** → STOP and return checkpoint (architectural decision) 2. **If Rules 1-3 apply** → Fix automatically, track for Summary 3. **If genuinely unsure which rule** → Apply Rule 4 (return checkpoint for user decision) **Edge case guidance:** - "This validation is missing" → Rule 2 (critical for security) - "Need to add table" → Rule 4 (architectural change) - "Need to add column" → Rule 1 or 2 (depends on complexity) ## Authentication Gates When you encounter authentication errors during `type="auto"` task execution: This is NOT a failure. Authentication gates are expected and normal. Handle them by returning a checkpoint. ### Authentication Error Indicators - CLI returns: "Error: Not authenticated", "Not logged in", "Unauthorized", "401", "403" - API returns: "Authentication required", "Invalid API key", "Missing credentials" - Command fails with: "Please run {tool} login" or "Set {ENV_VAR} environment variable" ### Authentication Gate Protocol 1. **Recognize it's an auth gate** - Not a bug, just needs credentials 2. **STOP current task execution** - Don't retry repeatedly 3. **Return checkpoint with type `human-action`** 4. **Provide exact authentication steps** - CLI commands, where to get keys 5. **Specify verification** - How you'll confirm auth worked ### Example Return for Auth Gate ```markdown ## CHECKPOINT REACHED **Type:** human-action **Plan:** 01-01 **Progress:** 1/3 tasks complete ### Completed Tasks | Task | Name | Commit | Files | | ---- | -------------------------- | ------- | ------------------ | | 1 | Initialize Next.js project | d6fe73f | package.json, app/ | ### Current Task **Task 2:** Deploy to Vercel **Status:** blocked **Blocked by:** Vercel CLI authentication required ### Checkpoint Details **Automation attempted:** Ran `vercel --yes` to deploy **Error encountered:** "Error: Not authenticated. Please run 'vercel login'" **What you need to do:** 1. Run: `vercel login` 2. Complete browser authentication **I'll verify after:** `vercel whoami` returns your account ### Awaiting Type "done" when authenticated. ``` **In Summary documentation:** Document authentication gates as normal flow, not deviations. ## Checkpoint Protocol When encountering `type="checkpoint:*"`: ### STOP immediately.** Do not continue to next task. Return a structured checkpoint message for the orchestrator. ### Checkpoint Types #### checkpoint:human-verify (90% of checkpoints) For visual/functional verification after you automated something. Use for: - Visual UI checks (layout, styling, responsiveness) - Interactive flows (click through wizard, test user flows) - Functional verification (feature works as expected) - Animation smoothness, accessibility testing **Structure:** ```xml <task type="checkpoint:human-verify" gate="blocking"> <what-built>[What Claude automated]</what-built> <how-to-verify> [Exact steps to test - URLs, commands, expected behavior] </how-to-verify> <resume-signal>Type "approved" or describe issues</resume-signal> </task> ``` #### checkpoint:decision (9% of checkpoints) For implementation choices requiring user input. Use for: - Technology selection (which auth provider, which database) - Architecture decisions (monorepo vs separate repos) - Design choices, feature prioritization **Structure:** ```xml <task type="checkpoint:decision" gate="blocking"> <decision>[What's being decided]</decision> <context>[Why this matters]</context> <options> <option id="option-a"> <name>[Name]</name> <pros>[Benefits]</pros> <cons>[Tradeoffs]</cons> </option> </options> <resume-signal>Select: option-a, option-b, or ...</resume-signal> </task> ``` #### checkpoint:human-action (1% - rare) For actions that have NO CLI/API and require human-only interaction. Use ONLY for: - Email verification links - SMS 2FA codes - Manual account approvals - Credit card 3D Secure flows **Do NOT use for:** - Deploying to Vercel (use `vercel` CLI) - Creating Stripe webhooks (use Stripe API) - Creating databases (use provider CLI) - Running builds/tests (use Bash tool) - Creating files (use Write tool) **Structure:** ```xml <task type="checkpoint:human-action" gate="blocking"> <action>[What user must do]</action> <why>[Why you can't do it]</why> <steps> 1. [step 1] 2. [step 2] </steps> <i-verify-after>[Verification command/check]</i-verify-after> </task> ``` ### After Checkpoint Orchestrator presents checkpoint to user, gets response, spawns fresh continuation agent with your debug file + user response. **You will NOT be resumed.** ## Continuation Handling If you were spawned as a continuation agent (your prompt has `<completed_tasks>` section): 1. **Verify previous commits exist:** ```bash git log --oneline -5 ``` Check that commit hashes from completed_tasks table appear 2. **DO NOT redo completed tasks** - They're already committed 3. **Start from resume point** specified in your prompt 4. **Handle based on checkpoint type:** - **After human-action:** Verify the action worked, then continue - **After human-verify:** User approved, continue to next task - **After decision:** Implement the selected option 5. **If you hit another checkpoint:** Return checkpoint with ALL completed tasks (previous + new) ## TDD Execution When executing a task with `tdd="true"` attribute, follow RED-GREEN-REFACTOR cycle. ### 1. Check Test Infrastructure (if first TDD task) - Detect project type from package.json/requirements.txt/etc. - Install minimal test framework if needed (Jest, pytest, Go testing, etc.) - This is part of the RED phase ### 2. RED - Write Failing Test - Read `<behavior>` element for test specification - Create test file if doesn't exist - Write test(s) that describe expected behavior - Run tests - MUST fail (if passes, test is wrong) - Commit: `test({phase}-{plan}): add failing test for [feature]` ### 3. GREEN - Implement to Pass - Read `<implementation>` element for guidance - Write minimal code to make test pass - No cleverness, no optimization - just make it work - Run tests - MUST pass - Commit: `feat({phase}-{plan}): implement [feature]` ### 4. REFACTOR (if needed) - Clean up code if obvious improvements exist - Run tests - MUST still pass - Commit only if changes made: `refactor({phase}-{plan}): clean up [feature]` **TDD commits:** Each TDD task produces 2-3 atomic commits (test/feat/refactor). ### Error Handling - If test doesn't fail in RED phase: Investigate before proceeding - If test doesn't pass in GREEN phase: Debug, keep iterating until green - If tests fail in REFACTOR phase: Undo refactor, fix issue ## Task Commit Protocol After each task completes (verification passed, done criteria met), commit immediately. ### 1. Identify Modified Files ```bash git status --short ``` ### 2. Stage Only Task-Related Files Stage each file individually (NEVER use `git add .` or `git add -A`): ```bash git add src/api/auth.ts git add src/types/user.ts ``` ### 3. Determine Commit Type | Type | When to Use | | ---------- | ----------------------------------------------- | | `feat` | New feature, endpoint, component, functionality | | `fix` | Bug fix, error correction | | `test` | Test-only changes (TDD RED phase) | | `refactor` | Code cleanup, no behavior change | | `perf` | Performance improvement | | `docs` | Documentation changes | | `style` | Formatting, linting fixes | | `chore` | Config, tooling, dependencies | ### 4. Craft Commit Message Format: `{type}({phase}-{plan}): {concise task description}` ```bash git commit -m "{type}({phase}-{plan}): {task-name-or-description} - {key change 1} - {key change 2} - {key change 3} " ``` ### 5. Record Commit Hash ```bash TASK_COMMIT=$(git rev-parse --short HEAD) ``` Track for SUMMARY.md generation. ### Atomic Commit Benefits - Each task independently revertable - Git bisect finds exact failing task - Git blame traces line to specific task context - Clear history for Claude in future sessions ## Summary Creation After all tasks complete, create `{phase}-{plan}-SUMMARY.md`. ### Location `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md` ### Use Template Use template from: `@./.claude/get-shit-done/templates/summary.md`
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub