Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/community-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:

grep -q "Change Scope Granularity" .claude/skills/speckit-constitution/SKILL.md
grep -q "Full-Spectrum Projection" .claude/skills/speckit-specify/SKILL.md
grep -q "Cross-Domain Ambiguity Map" .claude/skills/speckit-clarify/SKILL.md
grep -q "Shared-Root Ambiguity Map" .claude/skills/speckit-clarify/SKILL.md
grep -q "Cross-Command Consistency Gates" .claude/skills/speckit-analyze/SKILL.md
grep -q "X0 — Feature Plan Control" .claude/skills/speckit-plan/SKILL.md
grep -q "PLAN_OUTPUT_READY" .claude/skills/speckit-tasks/SKILL.md
Expand Down
8 changes: 4 additions & 4 deletions presets/catalog.community.json
Original file line number Diff line number Diff line change
Expand Up @@ -670,11 +670,11 @@
"workflow-preset": {
"name": "Workflow Preset",
"id": "workflow-preset",
"version": "3.2.0",
"version": "3.2.1",
"description": "Constitution-managed architecture, behavior-first specification, design artifacts, and execution-ready task mapping",
"author": "bigsmartben",
"repository": "https://github.com/bigsmartben/spec-kit-workflow-preset",
"download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v3.2.0/spec-kit-workflow-preset-v3.2.0.zip",
"download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v3.2.1/spec-kit-workflow-preset-v3.2.1.zip",
"homepage": "https://github.com/bigsmartben/spec-kit-workflow-preset",
"documentation": "https://github.com/bigsmartben/spec-kit-workflow-preset/blob/main/README.md",
"license": "MIT",
Expand All @@ -697,8 +697,8 @@
],
"created_at": "2026-05-27T00:00:00Z",
"updated_at": "2026-07-26T00:00:00Z",
"source_commit": "bf99bc24cbbf4d1462fabed90ac47bc6101e8ebb",
"sha256": "4215f409a81a017d9ecb3050623007c5d1d881920fc42a7777f94777ff1fb279"
"source_commit": "6e80f25d0334f9e71504b46223565a517b2dedb8",
"sha256": "6667df31c2828be89e6d2256c38e60d207749e783c38dd5efb3f3dbe2c15261b"
}
}
}
6 changes: 3 additions & 3 deletions presets/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"workflow-preset": {
"name": "Workflow Preset",
"id": "workflow-preset",
"version": "3.2.0",
"version": "3.2.1",
"description": "Constitution-managed architecture, behavior-first specification, design artifacts, and execution-ready task mapping",
"author": "bigsmartben",
"repository": "https://github.com/bigsmartben/spec-kit-workflow-preset",
Expand All @@ -52,8 +52,8 @@
"planning",
"implementation"
],
"source_commit": "bf99bc24cbbf4d1462fabed90ac47bc6101e8ebb",
"sha256": "4215f409a81a017d9ecb3050623007c5d1d881920fc42a7777f94777ff1fb279"
"source_commit": "6e80f25d0334f9e71504b46223565a517b2dedb8",
"sha256": "6667df31c2828be89e6d2256c38e60d207749e783c38dd5efb3f3dbe2c15261b"
}
}
}
46 changes: 27 additions & 19 deletions presets/workflow-preset.release.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"artifact": {
"name": "spec-kit-workflow-preset-v3.2.0.zip",
"sha256": "4215f409a81a017d9ecb3050623007c5d1d881920fc42a7777f94777ff1fb279"
"name": "spec-kit-workflow-preset-v3.2.1.zip",
"sha256": "6667df31c2828be89e6d2256c38e60d207749e783c38dd5efb3f3dbe2c15261b"
},
"files": [
{
Expand All @@ -10,51 +10,51 @@
},
{
"path": "CHANGELOG.md",
"sha256": "096623162acd4a80f087359bb9616e576b44fae45c6c014006bddf26084b8ea2"
"sha256": "7181feed95ca3230fb312fb90078a2fdf43c0a435f6a779e184fa1740f12ebab"
},
{
"path": "LICENSE",
"sha256": "8c9a47687655839e45d596c67fb9a13a1c9cd39eca4aaa0846e7afd9a01f1ab1"
},
{
"path": "README.md",
"sha256": "ddd3fd57ab57e98e0ac3d0c7eed0143218d831db9dda5ef627e32c93cc1fc3a0"
"sha256": "68e60cbe43e984193d78f6018fd4f26d648abeb1fd74c615674f66c24b598ab3"
},
{
"path": "commands/speckit.analyze.md",
"sha256": "632bea1039cdeb2c0dabe8ce7a11dbba448a6d2f28e7e703c12392f488dbe7d1"
},
{
"path": "commands/speckit.checklist.md",
"sha256": "ff4452ea7e85fe0be28b0c88d4dd5b29ab5a1dc9738e4f2681d4d99c3cf17814"
"sha256": "d9067b32c8a6f594923b48491a06619e2793b410bff32078fb7d77741e23ed42"
},
{
"path": "commands/speckit.clarify.md",
"sha256": "e8d5af23f6a1b75d3e1dc45d9f79200f1a61774b6f1007f2d725049ec8d801bb"
"sha256": "fcb8475093a1bae533ea5c7cf3e409efbe1b90c6a645abb197e7289e3787c0ce"
},
{
"path": "commands/speckit.constitution.md",
"sha256": "ba051da41eae2d0eb1ec8d7df3e11fc8f251ac75f929163503a3e2add7b87121"
},
{
"path": "commands/speckit.plan.md",
"sha256": "e82cc984ab6d898ea4358cc1cc7a80d4b32c43fbd89bd408bb8ab41c20acead1"
"sha256": "e57071e8e32f3d725e5e2c47d0d12b60fac6c2a2586fe35ed7faf85ee28dc579"
},
{
"path": "commands/speckit.specify.md",
"sha256": "19bc99aa51d826721d49c0a4fe406d15d5f20bb6b82038465986824bdd6ae093"
"sha256": "4ed1b9ac9a8d12e77e07464573f5c1da089cbb0c62445fa88a8717ac542e6345"
},
{
"path": "commands/speckit.tasks.md",
"sha256": "31ddb13915bc447e8bd471e501bd85bad1f939d54063f872ba1a65280e816cb8"
},
{
"path": "docs/extension-governance.md",
"sha256": "7a19c10f824371b27e9233f4699ffe8f1bf04326ed93b1061cf04f9d378e0232"
"sha256": "74316df398872e064d6336038ddd2597873e6f84c695b18c7297746992829737"
},
{
"path": "preset.yml",
"sha256": "97387ed796ade8df30f2385b8864c4b3affd325e30c15554f24f51df1442b94e"
"sha256": "332672bfb6251f963fa69c446826d093f1a7ec367e0d3c0892206fbb5fdabc37"
},
{
"path": "requirements-dev.txt",
Expand Down Expand Up @@ -122,7 +122,7 @@
},
{
"path": "templates/constitution-template.md",
"sha256": "77a3ce00c81e0a44ce5287a4ce39cde1d8d74e57777ad3a50b1ae599f230eb80"
"sha256": "078d4e60b25dc1f37ebb8d398bec81154418f4666b7ec6cca45bfe83a83dea28"
},
{
"path": "templates/plan-template.md",
Expand All @@ -134,27 +134,27 @@
},
{
"path": "templates/requirements/behavior-gate.md",
"sha256": "687e14fb6d0262722f813d998dc3b28dc23d44d909d3b425a79f536cdf308af5"
"sha256": "c7f23d2bf223b691971b4d9da89fcaa1fa69168cf12f82d259e20084d838e242"
},
{
"path": "templates/requirements/domain-gate.md",
"sha256": "537f8998f43160f101f33f3755df08c4faaef72c359672b3be3e01d5aff8bcda"
"sha256": "a2f1138ba7efcb2dab2e7fb7930bd629aaf56d874ccf02cf9b43c72a3e74f539"
},
{
"path": "templates/requirements/nfr-gate.md",
"sha256": "6c05f7cfad45c9891e932994c09dfc8cd14bebe1aecd99821cf38270a52fbd1f"
"sha256": "c893eb596043de7a2a139bb8938fbfbe531ec49d02afcbfed40f5f21e2f069a7"
},
{
"path": "templates/requirements/visual-gate.md",
"sha256": "f5d4993d015f726d369de8ede3b0065fe8f5c6412a6b306cacffdc8fb43f41a4"
"sha256": "b2ff3247967865a9d2b10dcdb450a19c9373eb432f96254e6c0b42568345cc01"
},
{
"path": "templates/sequences-template.md",
"sha256": "efc7ab0dcd6d44befa8d97eb5c395cb62f53968a311991784b0b4cce58a42045"
},
{
"path": "templates/spec-template.md",
"sha256": "db0b7fe137cd48d7c97f037592704629b1b9d60aee8e57692bea6701d6540930"
"sha256": "edb57eb04bc7db6a74ced08c6b05140034c71d045018bdf7242101e7c24aeefc"
},
{
"path": "templates/test-readiness-template.md",
Expand Down Expand Up @@ -188,9 +188,13 @@
"path": "tests/fixtures/plan_bundles/ui_only.json",
"sha256": "3d3f47c1b5d1064456d6f9c02345cdf045af07066ab627217ef7ca1131576246"
},
{
"path": "tests/fixtures/requirement_gates/issue_50_revision_gap.json",
"sha256": "4959f6b59cc7131a4989daf29109fa84d8a4b69bfded9d3057ecf4ca9a6da17d"
},
{
"path": "tests/test_preset_contract.py",
"sha256": "d4182caa33afc838ac9296144d30e1298a7b3b67b7f24c6aca4fc6c3b6a742ea"
"sha256": "a36cdc1da73179b38c946e8db8e454bd8405bb6d58f0d5d871d0ea8b25ef7b14"
},
{
"path": "validators/__init__.py",
Expand All @@ -208,6 +212,10 @@
"path": "validators/speckit_plan_contract.py",
"sha256": "db08c3417d86a58a16dffc1fe6fed77318752d03c8df07502c538df55db21045"
},
{
"path": "validators/speckit_requirement_gate_contract.py",
"sha256": "ed9e4ff2a2fd869e9e82b904b9d26a767dd6d7632f030a0f6553fa267bedfa15"
},
{
"path": "validators/speckit_spec_contract.py",
"sha256": "072845c892da168a263c3790df2da3363d03db33effec28b8a2956633e46f3b5"
Expand All @@ -223,7 +231,7 @@
],
"preset_id": "workflow-preset",
"schema_version": "1.0",
"source_commit": "bf99bc24cbbf4d1462fabed90ac47bc6101e8ebb",
"source_commit": "6e80f25d0334f9e71504b46223565a517b2dedb8",
"source_repository": "https://github.com/bigsmartben/spec-kit-workflow-preset",
"version": "3.2.0"
"version": "3.2.1"
}
17 changes: 17 additions & 0 deletions presets/workflow-preset/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,23 @@

## Unreleased

- Replaced the six-file Requirement Gate layout with one canonical
`checklists/requirements.md`, physically grouped by stable Spec semantic refs
and containing six strictly derived logical Gate summaries.
- Added shared root-cause Blockers, stable Spec/Blocker split-merge-retirement
lifecycle, one-question Clarify aggregation, partial/full/zero-question
synchronization, and preserved non-authoritative legacy/advisory files.
- Moved the canonical Gate preflight before hooks, Core write-bearing setup, and
Plan template materialization; stale, malformed, or blocked input now stops
with zero Plan writes and no `planning-readiness.md`.
- Added a self-contained Issue #50 Revision-gap fixture plus installed Core
wrapper composition smoke coverage.
- Hardened the in-memory Gate contract with exact SHA-256 syntax, template Rule
keys, current-Spec evidence/N/A references, closed canonical fields,
placeholder rejection, complete semantic-group coverage, deterministic
Clarify recovery, wrapper compatibility findings, and explicit Spec/Blocker
lifecycle tests.

## 3.2.0 - 2026-07-30

- Added one canonical `UI-*` specification model with deterministic source,
Expand Down
39 changes: 31 additions & 8 deletions presets/workflow-preset/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ core(核心命令)负责。
| 命令 | 本预设的职责 | 写入边界 |
|---|---|---|
| `/speckit.constitution` | 分离治理规则与仓库技术架构 | `constitution.md`、`architecture.md` |
| `/speckit.specify` | 编写完整 WHAT/WHY 需求 | `spec.md` |
| `/speckit.clarify` | 按影响 × 不确定性消除产品歧义 | 仅 `spec.md` |
| `/speckit.checklist` | 用问题形式检查需求写作质量 | `checklists/*.md` |
| `/speckit.plan` | 在 Core Plan 生命周期内完成 X0–X4 | Plan 设计产物 |
| `/speckit.specify` | 编写完整 WHAT/WHY 需求与稳定语义 ID | `spec.md` |
| `/speckit.clarify` | 按共享根因只问一次,并同步复核规划就绪状态 | `spec.md`、已有的 `checklists/requirements.md` |
| `/speckit.checklist` | 生成单一 Requirement Gate(需求门禁),内含六个逻辑维度 | 仅 `checklists/requirements.md` |
| `/speckit.plan` | 在任何写入前只读通过需求门禁,再完成 X0–X4 | Plan 设计产物 |
| `/speckit.tasks` | 把已批准的 Plan 记录映射成可执行任务 | 仅 `tasks.md` |
| `/speckit.analyze` | 只读审计跨命令追踪链 | 不写文件 |
| `/speckit.implement` | 由 Spec Kit core 执行 `tasks.md` | 本预设无覆盖 |
Expand All @@ -25,7 +25,7 @@ core(核心命令)负责。
```text
Constitution + Architecture
Spec → ClarifyChecklist
Spec → ChecklistClarify
Core Plan(内含 X0–X4)
Expand All @@ -41,8 +41,31 @@ Single Source of Truth)。功能需求、非功能需求、UX/UI、视觉、
数据、集成、依赖、边界、假设和排除项都使用可选载体;不适用时明确写
N/A。

`/speckit.specify` 与 `/speckit.clarify` 不生成或修改 checklist。
`/speckit.checklist` 只提出可回答的问题,不把实现方案写回需求。
`/speckit.checklist` 只生成一个 `checklists/requirements.md`。文件按
Spec semantic ref(规范语义标识)分组;requirements、behavior、UX、
security、NFR、visual 是六个逻辑 Gate(门禁维度),不是六份文件。每个
Check(检查项)只保存在语义组内,Six-Gate Summary(六门禁汇总)只保存状态、
引用和数量,不复制问题或产品答案。每个 Check 还保留模板 Rule key(规则键);
PASS 证据用 `spec.md#<语义标识>` 指向当前 Spec。

例如,`FR-017` 的“谁能授权注销”可能同时影响 Requirements、Behavior 和
Security 三个 Check,但它们共同引用一个 `BLK-FR-017-01` 根因;Clarify
只问一次。若“删除哪些云端数据”是另一个缺口,则保留第二个 Blocker,不会因为
都属于 `FR-017` 而误合并。

Specify 的 ID 跟随产品语义,不跟随行号或措辞。只改写文字时保留 ID;拆分、
合并、退休或 N/A 都记录迁移关系。Clarify 先把答案写回 `spec.md`,再刷新
Check 证据、共享 Blocker、`Spec Revision`、六门禁汇总与 Planning Readiness
(规划就绪状态)。即使零问题也会复核陈旧 Revision。

Plan 只读取当前 `spec.md` 和这一个 `requirements.md`。门禁必须在 hooks、
Plan 模板实例化和任何 X0–X4 写入之前通过;Revision 陈旧、任一 Gate
BLOCKED、残留 OPEN Blocker 或引用畸形都会以零 Plan 写入停止。已解决、退休或
被替代的 Blocker 只保留为生命周期历史,不属于当前 Blocker inventory(清单)。
不会生成单独的 `planning-readiness.md`。

旧 advisory checklist(建议性清单)和错误的六文件领域布局会原样保留,但
Checklist、Clarify 与 Plan 都忽略它们,也不会从中导入产品答案。

例如:退款需求可以同时声明 `FR-001`(退款规则)、`NFR-001`(响应时间)和
`UI-001`(加载/成功/失败状态);若已供应的设计说明缺少结账失败态证据,
Expand Down Expand Up @@ -154,7 +177,7 @@ specify preset add --dev /path/to/spec-kit-workflow-preset
已发布版本:

```bash
specify preset add --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v3.2.0/spec-kit-workflow-preset-v3.2.0.zip
specify preset add --from https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v3.2.1/spec-kit-workflow-preset-v3.2.1.zip
```

安装后可检查预设信息:
Expand Down
Loading
Loading