Imported from IgorGanapolsky/Random-Timer (
.cursor/skills/gsd-plan-phase/SKILL.md). Install upstream withnpx skills add IgorGanapolsky/Random-Timer --skill gsd-plan-phase. Copyright stays with the author.
<cursor_skill_adapter>
A. Skill Invocation
- This skill is invoked when the user mentions
gsd-plan-phaseor describes a task matching this skill. - Treat all user text after the skill mention as
{{GSD_ARGS}}. - If no arguments are present, treat
{{GSD_ARGS}}as empty.
B. User Prompting
When the workflow needs user input, prompt the user conversationally:
- Present options as a numbered list in your response text
- Ask the user to reply with their choice
- For multi-select, ask for comma-separated numbers
C. Tool Usage
Use these Cursor tools when executing GSD workflows:
Shellfor running commands (terminal operations)StrReplacefor editing existing filesRead,Write,Glob,Grep,Task,WebSearch,WebFetch,TodoWriteas needed
D. Subagent Spawning
When the workflow needs to spawn a subagent:
- Use
Task(subagent_type="generalPurpose", ...) - The
modelparameter maps to Cursor's model options (e.g., "fast") </cursor_skill_adapter>
Default flow: Research (if needed) → Plan → Verify → Done
Research-only mode (--research-phase <N>): Spawn gsd-phase-researcher for phase N, write RESEARCH.md, then exit before the planner runs. Useful for cross-phase research, doc review before committing to a planning approach, and correction-without-replanning loops where iterating on research alone is dramatically cheaper than re-spawning the planner. Replaces the deleted research-phase command (#3042).
Research-only modifiers:
- No flag — when
RESEARCH.mdalready exists, auto-uses it: emits a one-line notice and exits cleanly, no prompt. --research— force-refresh: re-spawn the researcher unconditionally, no prompt. Bypasses the existing-RESEARCH.md auto-use path.--view— view-only: print existingRESEARCH.mdto stdout. Does not spawn the researcher. Cheapest mode for the correction-without-replanning loop. If noRESEARCH.mdexists yet, errors with a hint to drop--view.
Orchestrator role: Parse arguments, validate phase, research domain (unless skipped), spawn gsd-planner, verify with gsd-plan-checker, iterate until pass or max iterations, present results.
<execution_context> @/Users/igorganapolsky/workspace/git/igor/Random-Timer/.claude/worktrees/opengsd-gsd-core/.cursor/gsd-core/workflows/plan-phase.md @/Users/igorganapolsky/workspace/git/igor/Random-Timer/.claude/worktrees/opengsd-gsd-core/.cursor/gsd-core/references/ui-brand.md </execution_context>
Flags:
--research— Force re-research even if RESEARCH.md exists--skip-research— Skip research, go straight to planning--gaps— Gap closure mode (reads VERIFICATION.md, skips research)--skip-verify— Skip verification loop--prd <file>— Use a PRD/acceptance criteria file instead of discuss-phase. Parses requirements into CONTEXT.md automatically. Skips discuss-phase entirely.--ingest <path-or-glob>— Use one or more ADR files instead of discuss-phase. Parses locked decisions + scope fences into CONTEXT.md automatically. Skips discuss-phase entirely.--ingest-format <auto|nygard|madr|narrative>— Optional ADR parser format override (autodefault).--reviews— Replan incorporating cross-AI review feedback from REVIEWS.md (produced by/gsd-review)--text— Use plain-text numbered lists instead of TUI menus (required for/rcremote sessions)--mvp— MVP enrichment on top of the default tracer-first ordering: frames the phase goal as a user story and, on Phase 1 of a new project, also emitsSKELETON.md(Walking Skeleton). Vertical slicing itself is now the default (see--no-tracer);--mvpno longer turns it on. Can be persisted on a phase via**Mode:** mvpin ROADMAP.md.--no-tracer— Opt out of the default tracer-first decomposition and plan horizontal layers (the legacy default). By default every plan LEADS with one production-quality end-to-endtracerslice that is verified before any expansion task.--no-reversibility-gates— Suppress the human checkpoint that a one-way-door decision normally earns, for runs you intend to leave unattended. By default a decision ratedone-way(undo needs a migration, breaks a published contract, or is impossible) gets acheckpoint:decisionbefore the task implementing it. Ratings are still recorded on tasks andcostlyitems still flagged — the flag changes what stops the run, not what the plan remembers.
Normalize phase input in step 2 before any directory lookups.