From de7d9dba97d701ae1e972d18f20500733b3a39b4 Mon Sep 17 00:00:00 2001 From: RchrdHndrcks Date: Wed, 25 Mar 2026 22:24:04 -0300 Subject: [PATCH] feat(extensions): add pipeline extension for end-to-end SDD workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moves the pipeline command from templates/commands/ to extensions/ as requested in PR #1967 review. Provides automatic progression through specify → clarify → plan → tasks → analyze → implement. Co-Authored-By: Claude Opus 4.6 (1M context) --- extensions/pipeline/commands/pipeline.md | 58 ++++++++++++++++++++++++ extensions/pipeline/extension.yml | 26 +++++++++++ 2 files changed, 84 insertions(+) create mode 100644 extensions/pipeline/commands/pipeline.md create mode 100644 extensions/pipeline/extension.yml diff --git a/extensions/pipeline/commands/pipeline.md b/extensions/pipeline/commands/pipeline.md new file mode 100644 index 000000000..91745439a --- /dev/null +++ b/extensions/pipeline/commands/pipeline.md @@ -0,0 +1,58 @@ +--- +description: "Run the full speckit workflow end-to-end (specify → clarify → plan → tasks → analyze → implement) with automatic progression between steps." +--- + +## User Input + +```text +$ARGUMENTS +``` + +You **MUST** consider the user input before proceeding (if not empty). + +## Pipeline Overview + +This command orchestrates the full Spec-Driven Development workflow automatically. You MUST execute each step in sequence by invoking the corresponding `/speckit.*` command. After each step completes, proceed immediately to the next one WITHOUT returning control to the user, UNLESS a step explicitly requires user input (e.g., clarification questions). + +**Pipeline Steps:** + +1. `/speckit.specify` — Create feature specification +2. `/speckit.clarify` — Resolve ambiguities (interactive: user answers questions) +3. `/speckit.plan` — Generate technical plan +4. `/speckit.tasks` — Break plan into actionable tasks +5. `/speckit.analyze` — Cross-artifact consistency analysis +6. `/speckit.implement` — Execute all tasks + +## Execution Rules + +### Auto-Progression (CRITICAL) + +- After each step completes successfully, **immediately invoke the next step**. Do NOT ask the user "shall I proceed?" or "ready for the next step?". Just do it. +- The ONLY reasons to pause are: + - A step requires user input (e.g., `/speckit.clarify` asking clarification questions, or `/speckit.implement` asking about incomplete checklists) + - `/speckit.analyze` reports CRITICAL issues (ask user whether to proceed or fix first) + - A step fails with an error +- When user input is received and the step completes, resume auto-progression to the next step. + +### Step Invocation + +- Use the agent's native mechanism to invoke each slash command (e.g., Claude Code's Skill tool, Copilot's chat commands). +- Step 1 (`/speckit.specify`): Pass the full `$ARGUMENTS` as the feature description. +- Steps 2-6: Invoke with no arguments (they auto-detect the feature context from the current branch and feature directory). + +### Error Handling + +- If any step fails, report the error and suggest the corrective action. Do NOT auto-proceed past a failed step. +- If `/speckit.analyze` reports CRITICAL issues, pause and present the user with two options: + 1. Fix the issues before proceeding to implementation + 2. Proceed to implementation despite the issues + +### Progress Reporting + +- Before each step, output a single line: `## Pipeline Step N/6: [step name]` +- After each step completes, output: `Step N/6 complete. Proceeding to next step...` +- Keep progress reporting minimal — the individual commands already produce their own output. + +## Start + +Begin by invoking `/speckit.specify` with the feature description from `$ARGUMENTS`. If `$ARGUMENTS` is empty, ask the user for a feature description before starting. diff --git a/extensions/pipeline/extension.yml b/extensions/pipeline/extension.yml new file mode 100644 index 000000000..6e5f6dee8 --- /dev/null +++ b/extensions/pipeline/extension.yml @@ -0,0 +1,26 @@ +schema_version: "1.0" + +extension: + id: pipeline + name: Spec Kit Pipeline + version: 1.0.0 + description: End-to-end SDD workflow orchestration — runs specify, clarify, plan, tasks, analyze, and implement in sequence with automatic progression. + author: RchrdHndrcks + repository: https://github.com/github/spec-kit + license: MIT + +requires: + speckit_version: ">=0.1.0" + +provides: + commands: + - name: speckit.pipeline.run + file: commands/pipeline.md + description: Run the full speckit workflow end-to-end (specify → clarify → plan → tasks → analyze → implement) with automatic progression between steps. + aliases: + - speckit.pipeline + +tags: + - workflow + - automation + - pipeline