Decision: <short title>
2026-09-04 11:10:17作者:俞予舒Fleming
- Slug: <ASSESS_SLUG>
- Decided: <ISO 8601 date>
- Verdict: go | needs-clarification | kill
- Artifacts reviewed: intake.md? | research.md? | problem.md | concept.md?
Scorecard
| Criterion | Rating | Justification |
|---|---|---|
| Problem validity | strong/adequate/weak/unknown | … |
| Evidence strength | … | … |
| Value vs. inaction | … | … |
| Feasibility / appetite | … | … |
| Strategic fit | … | … |
| Risk posture | … | … |
Verdict & Rationale
<The call and why, in a short paragraph. Reference the scorecard.>
If needs-clarification
- Blocking questions: [NEEDS CLARIFICATION: …]
- Revisit stage: intake | research | define | shape
If go — Handoff to speckit.specify
- Problem:
- Chosen approach:
- In scope / out of scope:
- Success metrics:
- Carried-forward open questions:
模板本身体现了裁决的纪律:头部记录 slug、ISO 8601 日期、三选一 verdict 与**实际审阅过的工件清单**(`intake.md?` 这种带问号的写法表示"若存在则列出");`Scorecard` 表强制逐标准留痕;`needs-clarification` 与 `go` 两个分支章节互斥——前者用 `[NEEDS CLARIFICATION: …]` 标记阻塞问题并指明回退阶段,后者携带交接摘要。裁决段落被要求"参考记分卡"写,防止理由与评分脱节。
## 报告与按裁决分流的下一步
命令执行完毕后必须回报:slug(独占一行)、**清晰陈述的 verdict**、路径 `.specify/assessments/<ASSESS_SLUG>/decision.md`,以及按裁决分流的下一步:
- **go** → 运行 `speckit.specify`,以交接摘要作为其输入;
- **needs-clarification** → 重跑被点名的阶段,例如 `speckit.assess.research slug=<ASSESS_SLUG>`;
- **kill** → 无后续步骤;评估就此关闭,但记录保留供日后查阅。
值得强调的是 [assess 扩展 README](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/extensions/assess/README.md?utm_source=gitcode_repo_files) Handoff 一节的说法:assess 是**刻意独立进入的流水线**——它不注册任何生命周期钩子(lifecycle hooks),也绝不把自己插入 `speckit.specify`;唯一的耦合是向前的、且由选择触发的:decide 的 go 裁决把 `decision.md` 的摘要交给 `speckit.specify`。发现与规格化保持为两个分离的过程。[assess 的测试](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/tests/extensions/assess/test_assess_extension.py?utm_source=gitcode_repo_files) 中的 `test_declares_no_hooks` 正是把这一约束固化成了断言:`extension.yml` 中不得出现 hooks 声明。
## Guardrails:五条护栏
[decide 命令文档](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/extensions/assess/commands/speckit.assess.decide.md?utm_source=gitcode_repo_files) 结尾的 Guardrails 汇总了该命令的行为边界:
- **绝不修改源码文件**——只读;写入只允许发生在 `.specify/assessments/<slug>/` 之内。
- **绝不夸大 go**:证据单薄或没有成型概念时,诚实的裁决是 `needs-clarification`,而不是 `go`。
- **绝不在此处写规格**——go 只是*交接*给 `speckit.specify`,不抢它的活。
- **绝不埋没 kill**——直白陈述决定性原因,使决策日后可以被理解和重新审视。
- **未经确认绝不覆盖已存在的 `decision.md`**(自动化模式下直接拒绝)。
## 源码级印证:命令注册与 `__SPECKIT_COMMAND_*__` 占位符解析
decide 命令文档中出现多处 `__SPECKIT_COMMAND_SPECIFY__`、`__SPECKIT_COMMAND_ASSESS_DEFINE__`、`__SPECKIT_COMMAND_ASSESS_RESEARCH__` 这类双下划线占位符。它们不是写死的命令名,而是 Spec Kit 的跨 Agent 命令引用机制:安装扩展时,CLI 会把占位符渲染成目标 Agent 实际可用的调用形式。
从源码结构看,这条解析链落在两处:
- 扩展命令注册时,[extensions 包](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/src/specify_cli/extensions/__init__.py?utm_source=gitcode_repo_files#L1579-L1600) 中的 `_resolve_command_ref_tokens` 用正则 `__SPECKIT_COMMAND_([A-Z][A-Z0-9_]*)__` 匹配占位符,把 `SPECKIT_COMMAND_ASSESS_DEFINE` 这类大写蛇形名转成小写点分命令名 `speckit.assess.define`,再根据当前 Agent 的调用风格(`$` 前缀技能、`/` 前缀技能或其他集成)生成最终字符串;
- 通用的替换实现在 [integrations/base.py](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/src/specify_cli/integrations/base.py?utm_source=gitcode_repo_files#L625-L649) 的 `resolve_command_refs` 中:`separator="."` 时产出 `/speckit.plan`、`/speckit.git.commit` 这类点分斜杠命令,`prefix="$"` 时则适配以美元符号为原生命令前缀的 Agent。
因此,[decide 命令文档](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/extensions/assess/commands/speckit.assess.decide.md?utm_source=gitcode_repo_files) 里写的 `__SPECKIT_COMMAND_SPECIFY__` 在你安装的 Agent 中最终呈现为 `/speckit.specify`(或该 Agent 等价形式)——这正是文档能以 Agent 无关方式描述"go 交给 specify"的原因。
assess 扩展自身的工程化事实同样有仓库证据支撑:
- [extension.yml](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/extensions/assess/extension.yml?utm_source=gitcode_repo_files) 声明了扩展元数据(`id: assess`、`version: 1.0.0`、`category: process`、`effect: read-write`)与五个命令的注册表,要求 `speckit_version: ">=0.9.0"`;
- [extensions/catalog.json](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/extensions/catalog.json?utm_source=gitcode_repo_files) 将 assess 登记为 `bundled: true` 的内置扩展;
- [tests/extensions/assess/test_assess_extension.py](https://gitcode.com/GitHub_Trending/sp/spec-kit/blob/9f19be9cad6e83d8b293041d8dbb1b7787c3ed54/tests/extensions/assess/test_assess_extension.py?utm_source=gitcode_repo_files) 验证了五件套命令文件齐全、目录安装(`install_from_directory`)会把五个 `commands/*.md` 拷贝进 `.specify/extensions/assess/` 并记入清单,以及无 hooks 约束。
安装与启用方式(面向读者,只读说明):
```bash
specify extension add assess
# 临时禁用 / 重新启用
specify extension disable assess
specify extension enable assess
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
最新内容推荐
Project: [Name]Open Notebook 发布操作手册:版本镜像构建、清单验证、RC 栈验证与 GitHub 发布的完整命令参考Svelte 模板基础语法详解:从 HTML++ 标记、属性规则到事件委托实现Immich 使用现有 Postgres 服务器部署完全指南:连接配置、权限准备与 VectorChord 迁移实操daisyUI 在 Django 项目中的落地实践:Tailwind CSS 组件库与服务器渲染架构的整合指南ML-For-Beginners 分类实战:用 Scikit-learn 训练菜品分类模型,转 ONNX 后在浏览器中跑推荐 Web 应用Crawl4AI Docker API 的 Webhook 回调机制:免轮询接收爬取与 LLM 抽取任务结果Nuxt 文件式路由完全指南:pages/ 目录从路由生成到页面元数据的实现原理ML-For-Beginners 分类实战:用亚洲与印度菜系数据集,从数据平衡到 ONNX Web 推理的完整四课路径LobeHub Goal 混沌工程集成:用 @achaos 故障注入验证 Goal 运行时的可靠机制
项目优选
收起
deepin linux kernel
C
33
18
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
528
590
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
暂无描述
Markdown
889
5.78 K
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
982
503
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384