From 7918b048fead122676e960fa780ed1b6faf0a12a Mon Sep 17 00:00:00 2001 From: DevAbdullah90 Date: Sun, 12 Apr 2026 03:03:55 +0500 Subject: [PATCH 1/5] feat: implement read-only what-if analysis command --- README.md | 12 +++- src/specify_cli/__init__.py | 2 + templates/commands/whatif.md | 127 +++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 templates/commands/whatif.md diff --git a/README.md b/README.md index 0fb388a840..4546321074 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,15 @@ Use the **`/speckit.plan`** command to provide your tech stack and architecture /speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database. ``` -### 5. Break down into tasks +### 5. Preview changes with what-if analysis (Optional) + +Use **`/speckit.whatif`** to preview the impact of requirement changes on complexity, effort, and task breakdown without modifying any files. + +```bash +/speckit.whatif Change the database from SQLite to PostgreSQL +``` + +### 6. Break down into tasks Use **`/speckit.tasks`** to create an actionable task list from your implementation plan. @@ -142,7 +150,7 @@ Use **`/speckit.tasks`** to create an actionable task list from your implementat /speckit.tasks ``` -### 6. Execute implementation +### 7. Execute implementation Use **`/speckit.implement`** to execute all tasks and build your feature according to the plan. diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index 0bbf42ad5a..234d91194e 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -863,6 +863,7 @@ def _get_skills_dir(project_path: Path, selected_ai: str) -> Path: "tasks": "Break down implementation plans into actionable task lists.", "implement": "Execute all tasks from the task breakdown to build the feature.", "analyze": "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md.", + "whatif": "Preview the downstream impact of requirement changes (complexity, effort, tasks) without modifying files.", "clarify": "Structured clarification workflow for underspecified requirements.", "constitution": "Create or update project governing principles and development guidelines.", "checklist": "Generate custom quality checklists for validating requirements completeness and clarity.", @@ -1436,6 +1437,7 @@ def _display_cmd(name: str) -> str: enhancement_intro, "", f"○ [cyan]{_display_cmd('clarify')}[/] [bright_black](optional)[/bright_black] - Ask structured questions to de-risk ambiguous areas before planning (run before [cyan]{_display_cmd('plan')}[/] if used)", + f"○ [cyan]{_display_cmd('whatif')}[/] [bright_black](optional)[/bright_black] - Preview the footprint of requirement changes (complexity, effort, tasks) before applying them", f"○ [cyan]{_display_cmd('analyze')}[/] [bright_black](optional)[/bright_black] - Cross-artifact consistency & alignment report (after [cyan]{_display_cmd('tasks')}[/], before [cyan]{_display_cmd('implement')}[/])", f"○ [cyan]{_display_cmd('checklist')}[/] [bright_black](optional)[/bright_black] - Generate quality checklists to validate requirements completeness, clarity, and consistency (after [cyan]{_display_cmd('plan')}[/])" ] diff --git a/templates/commands/whatif.md b/templates/commands/whatif.md new file mode 100644 index 0000000000..2db200dd87 --- /dev/null +++ b/templates/commands/whatif.md @@ -0,0 +1,127 @@ +--- +description: Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them. +scripts: + sh: scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks + ps: scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks +--- + +## User Input + +```text +$ARGUMENTS +``` + +You **MUST** use this input as the "What-if Scenario" to analyze. If empty, prompt the user for a scenario. + +## Goal + +Provide a detailed, read-only simulation of how the proposed requirement change would impact the project's specification, implementation plan, and task breakdown. Help the team make data-driven decisions about whether to proceed with the change. + +## Operating Constraints + +**STRICTLY READ-ONLY**: Do **not** modify any files. This is a pure in-memory simulation. + +## Execution Steps + +### 1. Initialize Simulation Context + +Run `{SCRIPT}` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. +Load core artifacts from FEATURE_DIR: +- **spec.md**: Current requirements and priorities. +- **plan.md**: Current architecture and technical choices. +- **tasks.md**: Current task list and effort markers. +- **constitution**: Project principles (from `/memory/constitution.md`). + +### 2. Formulate Simulated State + +In your context, model the project as it would look *after* the proposed change: +- **Requirements**: Which are added, removed, or modified? +- **Architecture**: What technical changes are required (new libraries, DB schema changes, API updates)? +- **Tasks**: What is the delta in the task list? + +### 3. Calculate Impact Metrics + +Derive the following deltas based on your assessment: + +#### A. Complexity Score (1-100) +- **Current Score**: Based on requirement count, dependency depth, and technical risk. +- **Simulated Score**: Based on the project state after the change. +- **Delta**: (Simulated - Current). + +#### B. Effort Delta (Hours) +- Estimate the total person-hours required to implement the change. +- Breakdown: Research, Development, Testing, Refactoring. + +#### C. Task Count Delta +- Number of tasks to be added, removed, or significantly altered. + +### 4. Risk Assessment + +Identify potential pitfalls: +- **Breaking Changes**: Impact on existing APIs or data. +- **Architecture Drift**: Does the change move the project away from its original goal? +- **Constitution Conflicts**: Does the change violate any project principles? +- **Integration Debt**: New dependencies or maintenance overhead. + +### 5. Generate Simulation Report + +Output a structured Markdown report (no file writes) with the following structure: + +# "What-if" Analysis: [Scenario Summary] + +## Executive Summary + +| Metric | Current | Simulated | Delta | +|--------|---------|-----------|-------| +| Complexity Score | [Score] | [Score] | [+/- Delta] | +| Total Tasks | [Count] | [Count] | [+/- Delta] | +| Estimated Effort | [Hours] | [Hours] | [+/- Hours] | + +**Risk Level**: [LOW | MEDIUM | HIGH | CRITICAL] + +--- + +## 🏗️ Impacted Artifacts + +### 📋 Specification (spec.md) +- **Changes**: [Briefly list requirement alterations] +- **Impact**: [High-level impact on user value] + +### 📐 Implementation Plan (plan.md) +- **Changes**: [Briefly list architectural updates] +- **Impact**: [Technological implications] + +### ✅ Task Breakdown (tasks.md) +- **[ADDED]**: [T-NEW-1] Description... +- **[REMOVED]**: [T-OLD-4] Description... +- **[CHANGED]**: [T-MOD-12] Description... + +--- + +## 🚦 Risk Assessment + +| Potential Risk | Severity | Mitigation Suggestion | +|----------------|----------|-----------------------| +| [Risk Title] | [Severity] | [Strategy] | + +--- + +## 📊 Side-by-Side Preview (Simulated) + +Show a diff-like preview for the most significant file change (typically spec.md or plan.md). + +```markdown +<<<< CURRENT +[Original Content Snippet] +==== SIMULATED +[New Content Snippet] +>>>> +``` + +## 🏁 Recommendation + +Provide a clear "Go / No-Go" recommendation based on the data. Suggest follow-up commands (e.g., "/speckit.specify" to apply these changes) if the user decides to proceed. + +## Context + +{ARGS} From 434a4e93028fd1790b2379cdcd16162163f957e1 Mon Sep 17 00:00:00 2001 From: DevAbdullah90 Date: Sun, 12 Apr 2026 03:12:18 +0500 Subject: [PATCH 2/5] chore: polish what-if analysis (Claude hints + optional tasks) --- src/specify_cli/integrations/claude/__init__.py | 1 + templates/commands/whatif.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/specify_cli/integrations/claude/__init__.py b/src/specify_cli/integrations/claude/__init__.py index 31972c4b0e..d6858bb0c2 100644 --- a/src/specify_cli/integrations/claude/__init__.py +++ b/src/specify_cli/integrations/claude/__init__.py @@ -19,6 +19,7 @@ "implement": "Optional implementation guidance or task filter", "analyze": "Optional focus areas for analysis", "clarify": "Optional areas to clarify in the spec", + "whatif": "A hypothetical scenario (e.g., 'Add OAuth', 'Drop feature X')", "constitution": "Principles or values for the project constitution", "checklist": "Domain or focus area for the checklist", "taskstoissues": "Optional filter or label for GitHub issues", diff --git a/templates/commands/whatif.md b/templates/commands/whatif.md index 2db200dd87..7da699a115 100644 --- a/templates/commands/whatif.md +++ b/templates/commands/whatif.md @@ -1,8 +1,8 @@ --- description: Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them. scripts: - sh: scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks - ps: scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks + sh: scripts/bash/check-prerequisites.sh --json --include-tasks + ps: scripts/powershell/check-prerequisites.ps1 -Json -IncludeTasks --- ## User Input From b3118bcea106cea3e135e26dff53f564107235d7 Mon Sep 17 00:00:00 2001 From: DevAbdullah90 Date: Mon, 13 Apr 2026 17:35:06 +0500 Subject: [PATCH 3/5] refactor: deliver what-if analysis as a standalone extension --- README.md | 12 +----- extensions/whatif/README.md | 42 +++++++++++++++++++ .../whatif/commands/analyze.md | 10 +++-- extensions/whatif/extension.yml | 24 +++++++++++ src/specify_cli/__init__.py | 2 - .../integrations/claude/__init__.py | 1 - 6 files changed, 75 insertions(+), 16 deletions(-) create mode 100644 extensions/whatif/README.md rename templates/commands/whatif.md => extensions/whatif/commands/analyze.md (92%) create mode 100644 extensions/whatif/extension.yml diff --git a/README.md b/README.md index 4546321074..0fb388a840 100644 --- a/README.md +++ b/README.md @@ -134,15 +134,7 @@ Use the **`/speckit.plan`** command to provide your tech stack and architecture /speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database. ``` -### 5. Preview changes with what-if analysis (Optional) - -Use **`/speckit.whatif`** to preview the impact of requirement changes on complexity, effort, and task breakdown without modifying any files. - -```bash -/speckit.whatif Change the database from SQLite to PostgreSQL -``` - -### 6. Break down into tasks +### 5. Break down into tasks Use **`/speckit.tasks`** to create an actionable task list from your implementation plan. @@ -150,7 +142,7 @@ Use **`/speckit.tasks`** to create an actionable task list from your implementat /speckit.tasks ``` -### 7. Execute implementation +### 6. Execute implementation Use **`/speckit.implement`** to execute all tasks and build your feature according to the plan. diff --git a/extensions/whatif/README.md b/extensions/whatif/README.md new file mode 100644 index 0000000000..2ddad828cb --- /dev/null +++ b/extensions/whatif/README.md @@ -0,0 +1,42 @@ +# What-if Analysis Extension + +Preview the downstream impact of requirement changes before committing to them. + +## Overview + +The What-if Analysis extension provides a read-only simulation tool for spec-driven development. It allows teams to preview how a proposed change will affect: + +- **Complexity**: Heuristic scoring of project difficulty. +- **Effort**: Estimated person-hours for implementation. +- **Tasks**: Delta in the task list (added, removed, changed). +- **Risks**: Potential technical debt, breaking changes, or conflicts. + +## Installation + +```bash +specify extension add whatif +``` + +Or for development: + +```bash +specify extension add --dev path/to/whatif +``` + +## Usage + +Invoke the command through your AI assistant: + +```bash +/speckit.whatif.analyze "Change the database from SQLite to PostgreSQL" +``` + +The agent will analyze your current artifacts (`spec.md`, `plan.md`, `tasks.md`, `constitution.md`) and generate a detailed impact report without modifying any files. + +## Commands + +### `speckit.whatif.analyze` + +Performs the simulation and generates the report. + +**Arguments**: The hypothetical scenario or requirement change to analyze. diff --git a/templates/commands/whatif.md b/extensions/whatif/commands/analyze.md similarity index 92% rename from templates/commands/whatif.md rename to extensions/whatif/commands/analyze.md index 7da699a115..f863db93bd 100644 --- a/templates/commands/whatif.md +++ b/extensions/whatif/commands/analyze.md @@ -1,10 +1,14 @@ --- description: Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them. scripts: - sh: scripts/bash/check-prerequisites.sh --json --include-tasks - ps: scripts/powershell/check-prerequisites.ps1 -Json -IncludeTasks + sh: ../../scripts/bash/check-prerequisites.sh --json --include-tasks + ps: ../../scripts/powershell/check-prerequisites.ps1 -Json -IncludeTasks --- +# What-if Analysis + +Use this command to preview the impact of requirement changes on complexity, effort, and task breakdown without modifying any files. + ## User Input ```text @@ -124,4 +128,4 @@ Provide a clear "Go / No-Go" recommendation based on the data. Suggest follow-up ## Context -{ARGS} +$ARGUMENTS diff --git a/extensions/whatif/extension.yml b/extensions/whatif/extension.yml new file mode 100644 index 0000000000..66704db418 --- /dev/null +++ b/extensions/whatif/extension.yml @@ -0,0 +1,24 @@ +schema_version: "1.0" + +extension: + id: whatif + name: "What-if Analysis" + version: "1.0.0" + description: "Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them." + author: "DevAbdullah90" + repository: "https://github.com/github/spec-kit" + license: "MIT" + +requires: + speckit_version: ">=0.6.0" + +provides: + commands: + - name: speckit.whatif.analyze + file: commands/analyze.md + description: "Analyze the impact of requirement changes" + +tags: + - "analysis" + - "planning" + - "simulation" diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index 234d91194e..0bbf42ad5a 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -863,7 +863,6 @@ def _get_skills_dir(project_path: Path, selected_ai: str) -> Path: "tasks": "Break down implementation plans into actionable task lists.", "implement": "Execute all tasks from the task breakdown to build the feature.", "analyze": "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md.", - "whatif": "Preview the downstream impact of requirement changes (complexity, effort, tasks) without modifying files.", "clarify": "Structured clarification workflow for underspecified requirements.", "constitution": "Create or update project governing principles and development guidelines.", "checklist": "Generate custom quality checklists for validating requirements completeness and clarity.", @@ -1437,7 +1436,6 @@ def _display_cmd(name: str) -> str: enhancement_intro, "", f"○ [cyan]{_display_cmd('clarify')}[/] [bright_black](optional)[/bright_black] - Ask structured questions to de-risk ambiguous areas before planning (run before [cyan]{_display_cmd('plan')}[/] if used)", - f"○ [cyan]{_display_cmd('whatif')}[/] [bright_black](optional)[/bright_black] - Preview the footprint of requirement changes (complexity, effort, tasks) before applying them", f"○ [cyan]{_display_cmd('analyze')}[/] [bright_black](optional)[/bright_black] - Cross-artifact consistency & alignment report (after [cyan]{_display_cmd('tasks')}[/], before [cyan]{_display_cmd('implement')}[/])", f"○ [cyan]{_display_cmd('checklist')}[/] [bright_black](optional)[/bright_black] - Generate quality checklists to validate requirements completeness, clarity, and consistency (after [cyan]{_display_cmd('plan')}[/])" ] diff --git a/src/specify_cli/integrations/claude/__init__.py b/src/specify_cli/integrations/claude/__init__.py index d6858bb0c2..31972c4b0e 100644 --- a/src/specify_cli/integrations/claude/__init__.py +++ b/src/specify_cli/integrations/claude/__init__.py @@ -19,7 +19,6 @@ "implement": "Optional implementation guidance or task filter", "analyze": "Optional focus areas for analysis", "clarify": "Optional areas to clarify in the spec", - "whatif": "A hypothetical scenario (e.g., 'Add OAuth', 'Drop feature X')", "constitution": "Principles or values for the project constitution", "checklist": "Domain or focus area for the checklist", "taskstoissues": "Optional filter or label for GitHub issues", From 107c2e2a125da8df0fec0a48fddc1a15793c6f72 Mon Sep 17 00:00:00 2001 From: DevAbdullah90 Date: Mon, 13 Apr 2026 20:45:24 +0500 Subject: [PATCH 4/5] Move What-if extension to standalone repo and update community catalog --- README.md | 1 + extensions/catalog.community.json | 28 ++++++ extensions/whatif/README.md | 42 --------- extensions/whatif/commands/analyze.md | 131 -------------------------- extensions/whatif/extension.yml | 24 ----- 5 files changed, 29 insertions(+), 197 deletions(-) delete mode 100644 extensions/whatif/README.md delete mode 100644 extensions/whatif/commands/analyze.md delete mode 100644 extensions/whatif/extension.yml diff --git a/README.md b/README.md index 0fb388a840..730d21b18a 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,7 @@ The following community-contributed extensions are available in [`catalog.commun | V-Model Extension Pack | Enforces V-Model paired generation of development specs and test specs with full traceability | `docs` | Read+Write | [spec-kit-v-model](https://github.com/leocamello/spec-kit-v-model) | | Verify Extension | Post-implementation quality gate that validates implemented code against specification artifacts | `code` | Read-only | [spec-kit-verify](https://github.com/ismaelJimenez/spec-kit-verify) | | Verify Tasks Extension | Detect phantom completions: tasks marked [X] in tasks.md with no real implementation | `code` | Read-only | [spec-kit-verify-tasks](https://github.com/datastone-inc/spec-kit-verify-tasks) | +| What-if Analysis | Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them | `visibility` | Read-only | [spec-kit-whatif](https://github.com/DevAbdullah90/spec-kit-whatif) | | Worktree Isolation | Spawn isolated git worktrees for parallel feature development without checkout switching | `process` | Read+Write | [spec-kit-worktree](https://github.com/Quratulain-bilal/spec-kit-worktree) | To submit your own extension, see the [Extension Publishing Guide](extensions/EXTENSION-PUBLISHING-GUIDE.md). diff --git a/extensions/catalog.community.json b/extensions/catalog.community.json index c4312d5412..c057b0ed23 100644 --- a/extensions/catalog.community.json +++ b/extensions/catalog.community.json @@ -1909,6 +1909,34 @@ "stars": 0, "created_at": "2026-04-09T00:00:00Z", "updated_at": "2026-04-09T00:00:00Z" + }, + "whatif": { + "name": "What-if Analysis", + "id": "whatif", + "description": "Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them.", + "author": "DevAbdullah90", + "version": "1.0.0", + "repository": "https://github.com/DevAbdullah90/spec-kit-whatif", + "homepage": "https://github.com/DevAbdullah90/spec-kit-whatif", + "documentation": "https://github.com/DevAbdullah90/spec-kit-whatif/blob/main/README.md", + "license": "MIT", + "requires": { + "speckit_version": ">=0.6.0" + }, + "provides": { + "commands": 1, + "hooks": 0 + }, + "tags": [ + "analysis", + "planning", + "simulation" + ], + "verified": false, + "downloads": 0, + "stars": 0, + "created_at": "2026-04-13T00:00:00Z", + "updated_at": "2026-04-13T00:00:00Z" } } } \ No newline at end of file diff --git a/extensions/whatif/README.md b/extensions/whatif/README.md deleted file mode 100644 index 2ddad828cb..0000000000 --- a/extensions/whatif/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# What-if Analysis Extension - -Preview the downstream impact of requirement changes before committing to them. - -## Overview - -The What-if Analysis extension provides a read-only simulation tool for spec-driven development. It allows teams to preview how a proposed change will affect: - -- **Complexity**: Heuristic scoring of project difficulty. -- **Effort**: Estimated person-hours for implementation. -- **Tasks**: Delta in the task list (added, removed, changed). -- **Risks**: Potential technical debt, breaking changes, or conflicts. - -## Installation - -```bash -specify extension add whatif -``` - -Or for development: - -```bash -specify extension add --dev path/to/whatif -``` - -## Usage - -Invoke the command through your AI assistant: - -```bash -/speckit.whatif.analyze "Change the database from SQLite to PostgreSQL" -``` - -The agent will analyze your current artifacts (`spec.md`, `plan.md`, `tasks.md`, `constitution.md`) and generate a detailed impact report without modifying any files. - -## Commands - -### `speckit.whatif.analyze` - -Performs the simulation and generates the report. - -**Arguments**: The hypothetical scenario or requirement change to analyze. diff --git a/extensions/whatif/commands/analyze.md b/extensions/whatif/commands/analyze.md deleted file mode 100644 index f863db93bd..0000000000 --- a/extensions/whatif/commands/analyze.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -description: Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them. -scripts: - sh: ../../scripts/bash/check-prerequisites.sh --json --include-tasks - ps: ../../scripts/powershell/check-prerequisites.ps1 -Json -IncludeTasks ---- - -# What-if Analysis - -Use this command to preview the impact of requirement changes on complexity, effort, and task breakdown without modifying any files. - -## User Input - -```text -$ARGUMENTS -``` - -You **MUST** use this input as the "What-if Scenario" to analyze. If empty, prompt the user for a scenario. - -## Goal - -Provide a detailed, read-only simulation of how the proposed requirement change would impact the project's specification, implementation plan, and task breakdown. Help the team make data-driven decisions about whether to proceed with the change. - -## Operating Constraints - -**STRICTLY READ-ONLY**: Do **not** modify any files. This is a pure in-memory simulation. - -## Execution Steps - -### 1. Initialize Simulation Context - -Run `{SCRIPT}` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. -Load core artifacts from FEATURE_DIR: -- **spec.md**: Current requirements and priorities. -- **plan.md**: Current architecture and technical choices. -- **tasks.md**: Current task list and effort markers. -- **constitution**: Project principles (from `/memory/constitution.md`). - -### 2. Formulate Simulated State - -In your context, model the project as it would look *after* the proposed change: -- **Requirements**: Which are added, removed, or modified? -- **Architecture**: What technical changes are required (new libraries, DB schema changes, API updates)? -- **Tasks**: What is the delta in the task list? - -### 3. Calculate Impact Metrics - -Derive the following deltas based on your assessment: - -#### A. Complexity Score (1-100) -- **Current Score**: Based on requirement count, dependency depth, and technical risk. -- **Simulated Score**: Based on the project state after the change. -- **Delta**: (Simulated - Current). - -#### B. Effort Delta (Hours) -- Estimate the total person-hours required to implement the change. -- Breakdown: Research, Development, Testing, Refactoring. - -#### C. Task Count Delta -- Number of tasks to be added, removed, or significantly altered. - -### 4. Risk Assessment - -Identify potential pitfalls: -- **Breaking Changes**: Impact on existing APIs or data. -- **Architecture Drift**: Does the change move the project away from its original goal? -- **Constitution Conflicts**: Does the change violate any project principles? -- **Integration Debt**: New dependencies or maintenance overhead. - -### 5. Generate Simulation Report - -Output a structured Markdown report (no file writes) with the following structure: - -# "What-if" Analysis: [Scenario Summary] - -## Executive Summary - -| Metric | Current | Simulated | Delta | -|--------|---------|-----------|-------| -| Complexity Score | [Score] | [Score] | [+/- Delta] | -| Total Tasks | [Count] | [Count] | [+/- Delta] | -| Estimated Effort | [Hours] | [Hours] | [+/- Hours] | - -**Risk Level**: [LOW | MEDIUM | HIGH | CRITICAL] - ---- - -## 🏗️ Impacted Artifacts - -### 📋 Specification (spec.md) -- **Changes**: [Briefly list requirement alterations] -- **Impact**: [High-level impact on user value] - -### 📐 Implementation Plan (plan.md) -- **Changes**: [Briefly list architectural updates] -- **Impact**: [Technological implications] - -### ✅ Task Breakdown (tasks.md) -- **[ADDED]**: [T-NEW-1] Description... -- **[REMOVED]**: [T-OLD-4] Description... -- **[CHANGED]**: [T-MOD-12] Description... - ---- - -## 🚦 Risk Assessment - -| Potential Risk | Severity | Mitigation Suggestion | -|----------------|----------|-----------------------| -| [Risk Title] | [Severity] | [Strategy] | - ---- - -## 📊 Side-by-Side Preview (Simulated) - -Show a diff-like preview for the most significant file change (typically spec.md or plan.md). - -```markdown -<<<< CURRENT -[Original Content Snippet] -==== SIMULATED -[New Content Snippet] ->>>> -``` - -## 🏁 Recommendation - -Provide a clear "Go / No-Go" recommendation based on the data. Suggest follow-up commands (e.g., "/speckit.specify" to apply these changes) if the user decides to proceed. - -## Context - -$ARGUMENTS diff --git a/extensions/whatif/extension.yml b/extensions/whatif/extension.yml deleted file mode 100644 index 66704db418..0000000000 --- a/extensions/whatif/extension.yml +++ /dev/null @@ -1,24 +0,0 @@ -schema_version: "1.0" - -extension: - id: whatif - name: "What-if Analysis" - version: "1.0.0" - description: "Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them." - author: "DevAbdullah90" - repository: "https://github.com/github/spec-kit" - license: "MIT" - -requires: - speckit_version: ">=0.6.0" - -provides: - commands: - - name: speckit.whatif.analyze - file: commands/analyze.md - description: "Analyze the impact of requirement changes" - -tags: - - "analysis" - - "planning" - - "simulation" From 0e20ac2c3a7af078c8e0b60d1d33d220a385933d Mon Sep 17 00:00:00 2001 From: DevAbdullah90 Date: Mon, 13 Apr 2026 21:29:48 +0500 Subject: [PATCH 5/5] Fix: Reorder whatif extension alphabetically in community catalog --- extensions/catalog.community.json | 56 +++++++++++++++---------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/extensions/catalog.community.json b/extensions/catalog.community.json index c057b0ed23..9b86409c4f 100644 --- a/extensions/catalog.community.json +++ b/extensions/catalog.community.json @@ -1878,6 +1878,34 @@ "created_at": "2026-03-16T00:00:00Z", "updated_at": "2026-03-16T00:00:00Z" }, + "whatif": { + "name": "What-if Analysis", + "id": "whatif", + "description": "Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them.", + "author": "DevAbdullah90", + "version": "1.0.0", + "repository": "https://github.com/DevAbdullah90/spec-kit-whatif", + "homepage": "https://github.com/DevAbdullah90/spec-kit-whatif", + "documentation": "https://github.com/DevAbdullah90/spec-kit-whatif/blob/main/README.md", + "license": "MIT", + "requires": { + "speckit_version": ">=0.6.0" + }, + "provides": { + "commands": 1, + "hooks": 0 + }, + "tags": [ + "analysis", + "planning", + "simulation" + ], + "verified": false, + "downloads": 0, + "stars": 0, + "created_at": "2026-04-13T00:00:00Z", + "updated_at": "2026-04-13T00:00:00Z" + }, "worktree": { "name": "Worktree Isolation", "id": "worktree", @@ -1909,34 +1937,6 @@ "stars": 0, "created_at": "2026-04-09T00:00:00Z", "updated_at": "2026-04-09T00:00:00Z" - }, - "whatif": { - "name": "What-if Analysis", - "id": "whatif", - "description": "Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them.", - "author": "DevAbdullah90", - "version": "1.0.0", - "repository": "https://github.com/DevAbdullah90/spec-kit-whatif", - "homepage": "https://github.com/DevAbdullah90/spec-kit-whatif", - "documentation": "https://github.com/DevAbdullah90/spec-kit-whatif/blob/main/README.md", - "license": "MIT", - "requires": { - "speckit_version": ">=0.6.0" - }, - "provides": { - "commands": 1, - "hooks": 0 - }, - "tags": [ - "analysis", - "planning", - "simulation" - ], - "verified": false, - "downloads": 0, - "stars": 0, - "created_at": "2026-04-13T00:00:00Z", - "updated_at": "2026-04-13T00:00:00Z" } } } \ No newline at end of file