OpenSpec 與 Spec Kit 研究報告

作者:Github Copilot  報告日期:2026-02-17

研究日期:2026-02-17
研究對象:


1) 專案定位摘要

OpenSpec(Fission-AI/OpenSpec)

Spec Kit(github/spec-kit)


2) 安裝方法比較

2.1 OpenSpec 安裝

需求

安裝方式(官方文件)

初始化與更新


2.2 Spec Kit 安裝

需求

安裝方式(官方 README)

初始化


3) 產生的檔案格式與結構

3.1 OpenSpec 典型輸出

初始化後主要在專案內建立(或維護)openspec/ 結構。官方文件顯示核心結構為:

openspec/
├── specs/                          # 當前行為規格(source of truth)
│   └── <domain>/spec.md
├── changes/                        # 每次變更的工作區
│   └── <change-name>/
│       ├── proposal.md
│       ├── design.md
│       ├── tasks.md
│       ├── .openspec.yaml          # 可選:每個 change 的 metadata
│       └── specs/
│           └── <domain>/spec.md    # delta / future-state specs
└── config.yaml                     # 專案層設定(可選)

主要文件角色


3.2 Spec Kit 典型輸出

specify init 後會建立 .specify/ 與模板/腳本資產,並在功能流程中於 specs/<###-feature>/ 生成文件。

初始化後常見骨架

.specify/
├── memory/
│   └── constitution.md
├── scripts/
├── templates/
│   ├── spec-template.md
│   ├── plan-template.md
│   ├── tasks-template.md
│   └── commands/*.md
└── ...

specs/
└── <###-feature-name>/
    └── spec.md   # 由 /speckit.specify 建立

後續命令會新增的文件

/speckit.plan/speckit.tasks 與相關腳本,feature 目錄常見:

specs/<###-feature-name>/
├── spec.md
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── contracts/
│   └── ...
└── tasks.md

文件格式特徵


4) 用例(適用情境)比較

4.1 OpenSpec 適合

4.2 Spec Kit 適合


5) 用法流程(實務操作)

5.1 OpenSpec 建議流程(OPSX)

  1. openspec init
  2. 在 agent 內:/opsx:new <change-name>
  3. 產生規劃文件:/opsx:ff(或逐步 /opsx:continue
  4. 實作:/opsx:apply
  5. 驗證:/opsx:verify
  6. 封存:/opsx:archive

補充:

5.2 Spec Kit 建議流程

  1. specify init <project> --ai <agent>
  2. /speckit.constitution 建立專案原則
  3. /speckit.specify 生成 feature spec(建立分支與 spec.md
  4. (建議)/speckit.clarify 釐清模糊需求
  5. /speckit.plan 產生 plan/research/data-model/contracts/quickstart
  6. /speckit.tasks 生成 tasks
  7. (建議)/speckit.analyze
  8. /speckit.implement 實作

6) 差異總表(精簡)

面向 OpenSpec Spec Kit
主要執行器 Node CLI (openspec) Python CLI (specify)
安裝依賴 Node 20.19+ Python 3.11+ + uv
工作單位 changes/<change-name> specs/<###-feature-name>
流程風格 動作導向、可流動迭代 階段化、模板驅動與治理較強
核心命令 /opsx:new/ff/apply/verify/archive /speckit.constitution/specify/plan/tasks/implement
主要文件 proposal/design/tasks/delta specs constitution/spec/plan/research/data-model/contracts/tasks
封存機制 changes/archive/YYYY-MM-DD-<name> 以 feature 規格與任務文件持續演進(無同型 archive 模型)
適合團隊型態 要速度、可變更、重落地 要規範、可審核、重文件完整度

7) 導入建議


8) 研究限制與備註