From 2b36394f35ef786c23150da0576afbf9d450343e Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Mon, 19 Jan 2026 15:26:02 -0600 Subject: [PATCH] feat(01-01): create quick.md command file with structure - Add frontmatter with name, description, allowed-tools - Include objective explaining quick mode purpose - Add process section with steps 1-7 (orchestration deferred to Plan 02) - Include success criteria for full quick task flow Co-Authored-By: Claude Opus 4.5 --- .planning/ROADMAP.md | 19 ++---- commands/gsd/quick.md | 145 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 12 deletions(-) create mode 100644 commands/gsd/quick.md diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 8c7d01a3f..ad2221a44 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -2,7 +2,7 @@ ## Overview -Quick mode adds a fast-path command (`/gsd:quick`) that executes small tasks with full GSD guarantees (atomic commits, STATE.md tracking, ROADMAP.md integration) but skips optional verification agents. The roadmap delivers the command, integrates it with resume-work, and documents the feature. +Quick mode adds a fast-path command (`/gsd:quick`) that executes small tasks with full GSD guarantees (atomic commits, STATE.md tracking) but skips optional verification agents. Quick tasks live in `.planning/quick/` separate from planned phases. ## Phases @@ -17,19 +17,14 @@ Quick mode adds a fast-path command (`/gsd:quick`) that executes small tasks wit ## Phase Details ### Phase 1: Core Command -**Goal**: User can run `/gsd:quick "description"` and have it execute with full state tracking +**Goal**: User can run `/gsd:quick` (with interactive prompt) and have it execute with full state tracking **Depends on**: Nothing (first phase) -**Requirements**: CMD-01, CMD-02, CMD-03, CMD-04, CMD-05, EXEC-01, EXEC-02, EXEC-03, EXEC-04, STATE-01, STATE-02, STATE-03 -**Success Criteria** (what must be TRUE): - 1. User can run `/gsd:quick "fix button spacing"` and it parses the description - 2. Command fails with clear error if no ROADMAP.md exists - 3. Decimal phase directory created (e.g., `.planning/phases/1.1-fix-button-spacing/`) - 4. ROADMAP.md contains new decimal phase entry after command completes - 5. STATE.md "Last activity" and "Quick Tasks Completed" table updated after execution -**Plans**: TBD +**Requirements**: CMD-01, CMD-02, CMD-03, CMD-04, EXEC-01, EXEC-02, EXEC-03, EXEC-04, STATE-01, STATE-02 +**Plans:** 2 plans Plans: -- [ ] 01-01: TBD +- [ ] 01-01-PLAN.md — Quick command file with pre-flight validation and directory setup +- [ ] 01-02-PLAN.md — Quick orchestration (planner spawn, executor spawn, state update) ### Phase 2: Resume Integration **Goal**: User can resume failed quick tasks using existing `/gsd:resume-work` @@ -63,6 +58,6 @@ Phases execute in numeric order: 1 -> 2 -> 3 | Phase | Plans Complete | Status | Completed | |-------|----------------|--------|-----------| -| 1. Core Command | 0/? | Not started | - | +| 1. Core Command | 0/2 | Ready to execute | - | | 2. Resume Integration | 0/? | Not started | - | | 3. Documentation | 0/? | Not started | - | diff --git a/commands/gsd/quick.md b/commands/gsd/quick.md new file mode 100644 index 000000000..e7a4b02a4 --- /dev/null +++ b/commands/gsd/quick.md @@ -0,0 +1,145 @@ +--- +name: gsd:quick +description: Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents +argument-hint: "" +allowed-tools: + - Read + - Write + - Edit + - Glob + - Grep + - Bash + - Task + - AskUserQuestion +--- + + +Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking) while skipping optional agents (research, plan-checker, verifier). + +Quick mode is the same system with a shorter path: +- Spawns gsd-planner (quick mode) + gsd-executor(s) +- Skips gsd-phase-researcher, gsd-plan-checker, gsd-verifier +- Quick tasks live in `.planning/quick/` separate from planned phases +- Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md) + +Use when: You know exactly what to do and the task is small enough to not need research or verification. + + + + + + + +@.planning/STATE.md + + + +**Step 1: Pre-flight validation** + +Check that an active GSD project exists: + +```bash +if [ ! -f .planning/ROADMAP.md ]; then + echo "Quick mode requires an active project with ROADMAP.md." + echo "Run /gsd:new-project first." + exit 1 +fi +``` + +If validation fails, stop immediately with the error message. + +Quick tasks can run mid-phase - validation only checks ROADMAP.md exists, not phase status. + +--- + +**Step 2: Get task description** + +Prompt user interactively for the task description: + +``` +AskUserQuestion( + header: "Quick Task", + question: "What do you want to do?", + followUp: null +) +``` + +Store response as `$DESCRIPTION`. + +If empty, re-prompt: "Please provide a task description." + +Generate slug from description: +```bash +slug=$(echo "$DESCRIPTION" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//' | cut -c1-40) +``` + +--- + +**Step 3: Calculate next quick task number** + +Ensure `.planning/quick/` directory exists and find the next sequential number: + +```bash +# Ensure .planning/quick/ exists +mkdir -p .planning/quick + +# Find highest existing number and increment +last=$(ls -1d .planning/quick/[0-9][0-9][0-9]-* 2>/dev/null | sort -r | head -1 | xargs -I{} basename {} | grep -oE '^[0-9]+') + +if [ -z "$last" ]; then + next_num="001" +else + next_num=$(printf "%03d" $((10#$last + 1))) +fi +``` + +--- + +**Step 4: Create quick task directory** + +Create the directory for this quick task: + +```bash +QUICK_DIR=".planning/quick/${next_num}-${slug}" +mkdir -p "$QUICK_DIR" +``` + +Report to user: +``` +Creating quick task ${next_num}: ${DESCRIPTION} +Directory: ${QUICK_DIR} +``` + +Store `$QUICK_DIR` for use in orchestration. + +--- + +**Step 5: Orchestration (spawn planner and executor)** + + + +--- + +**Step 6: Update STATE.md** + + + +--- + +**Step 7: Commit artifacts** + + + + + + +- [ ] ROADMAP.md validation passes +- [ ] User provides task description +- [ ] Slug generated (lowercase, hyphens, max 40 chars) +- [ ] Next number calculated (001, 002, 003...) +- [ ] Directory created at `.planning/quick/NNN-slug/` +- [ ] PLAN.md created by planner +- [ ] SUMMARY.md created by executor +- [ ] STATE.md updated with quick task row +- [ ] Artifacts committed +