Capability Map: [Initiative Name]
2026-09-04 19:14:43作者:凌朦慧Richard
| Module id | Responsibility | Depends on |
|---|---|---|
| identity | Accounts, sessions, SSO | — |
| billing | Plans, invoices, payments | identity |
| notifications | Email and webhook fan-out | identity |
| reporting | Usage dashboards | billing, notifications |
Build order: identity → billing, notifications → reporting
把简报的五条约束翻译成这张表:
- 简报第 5–6 行(登录、SSO、账户管理)→ `identity` 模块,无上游依赖,是拓扑序起点;
- 约束"billing depends on account data"→ `billing` 依赖 `identity`;
- 约束"notifications fire on billing and account events"→ `notifications` 依赖 `identity`(事件源包含账户事件;技能示例中将其依赖记为 `identity`,而仪表盘的"通知投递记录"依赖则挂在 `reporting` 一侧);
- 约束"dashboard reads from billing and notification delivery records"→ `reporting` 同时依赖 `billing` 与 `notifications`,因此它必须排在构建顺序的末端;
- 约束"finance wants to sign off on billing without waiting for the dashboard"→ 由单向依赖保证:`billing` 不依赖 `reporting`,财务可以在仪表盘动工前完成计费签核,这正是拓扑构建顺序带来的组织收益。
技能对地图本身还有三条硬性纪律,与简报的组织约束一一对应:
1. **稳定模块 id**(kebab-case,一次选定、 initiative 期间不改名)——`identity`、`billing`、`notifications`、`reporting` 将作为后续规格、计划和下游命令引用工作的索引;
2. **依赖方向单向、无环**——"如果两个模块互相需要,那它们本就是一个模块"。简报中没有任何两条约束构成环,因此四个模块的划分是自洽的;
3. **接口契约位于边界,且归属提供方**——例如 `billing` 对 `identity` 的依赖,其契约写在 `identity` 的规格里,而不是写在消费方。
构建顺序 `identity → billing, notifications → reporting` 同时是评审顺序:平台团队先评审 `identity` 规格,财务随后即可评审 `billing` 规格,增长团队评审 `notifications` 与 `reporting`——四个 reviewer 的并行窗口由依赖图自然切出。
## 门控审批与按模块递归:地图批准前不得写任何规格
能力地图与其他阶段一样被门控:**任何模块规格动笔之前,人类必须先评审模块边界、依赖方向与构建顺序**。技能对此的论证是"地图错了代价很高,评审十行代价极低"([SKILL.md](https://gitcode.com/GitHub_Trending/agentskill/agent-skills/blob/020ec10a788f5703108d093a4bd3d9a7c3847d36/skills/spec-driven-development/SKILL.md?utm_source=gitcode_repo_files#L63))。
地图获批后,流程按模块递归执行 `Specify → Plan → Tasks → Implement`,顺序遵循依赖拓扑:
- 每个模块拥有独立规格,只覆盖该模块的目标、边界与成功标准;
- 获批的地图保存在项目根目录,每个模块的规格与其并列存放,以模块 id 命名:`SPEC-identity.md`、`SPEC-billing.md` 等——"地图,而不是文件名猜测,才是现有什么的索引"(见 [SKILL.md](https://gitcode.com/GitHub_Trending/agentskill/agent-skills/blob/020ec10a788f5703108d093a4bd3d9a7c3847d36/skills/spec-driven-development/SKILL.md?utm_source=gitcode_repo_files#L65));
- 每个模块规格必须能追溯到获批地图中的某个模块 id,而不是把整个 initiative 重新复述一遍。
这份"按模块限定范围"的要求直接体现在评估的期望断言里(下文详述)。
## 评估如何验证:五条 expectations 与执行机制
[评估用例](https://gitcode.com/GitHub_Trending/agentskill/agent-skills/blob/020ec10a788f5703108d093a4bd3d9a7c3847d36/evals/cases/spec-driven-development.json?utm_source=gitcode_repo_files#L56-L70) 的 eval id 2 声明了五条例行验证的期望,构成对分解产物的完整验收面:
1. 在写任何完整规格之前,先提出带模块 id 与依赖关系的能力地图;
2. 依赖方向单向(无环),并驱动所提出的构建顺序;
3. 在起草各模块规格之前请求对地图的审批;
4. 产出的任何模块规格都限定在单个模块内,而不是复述整个 initiative;
5. 不写任何实现代码。
这五条断言逐条对应简报中的证据:地图先行与单向依赖来自五条约束;审批门控来自"不同评审方分治"的约束;模块范围限定来自"finance 不想等 dashboard";无代码则由技能总原则"写规格前不写代码"约束。
执行链路在 [scripts/run-evals.js](https://gitcode.com/GitHub_Trending/agentskill/agent-skills/blob/020ec10a788f5703108d093a4bd3d9a7c3847d36/scripts/run-evals.js?utm_source=gitcode_repo_files) 中是确定性的:
- `materializeWorkspace` 把 `evals/fixtures/spec-driven-development-decomposition/` 下的简报物化到一次性 git 工作区并作为基线提交,Agent 因此可以真实地 `Read` 这份文件、把能力地图与 `SPEC-*.md` 写入仓库、查看 diff;
- 执行器以 `--permission-mode acceptEdits` 加预批工具列表运行,把完整技能文本通过 `--append-system-prompt` 注入,捕获 `stream-json` 全量执行轨迹;
- 评分器把轨迹作为不可信数据围栏包裹,按 `expectations[]` 逐条判定,输出 JSON 形状的 `grading.json` 写入 `evals/results/`(gitignored)。
运行方式(见 [evals/README.md](https://gitcode.com/GitHub_Trending/agentskill/agent-skills/blob/020ec10a788f5703108d093a4bd3d9a7c3847d36/evals/README.md?utm_source=gitcode_repo_files)):
```bash
# Tier 2 — 确定性检查,可在 CI 运行,验证夹具存在性与触发路由
node scripts/run-evals.js
# Tier 3 — 行为评估,在一次性工作区跑完整个评估再评分(消耗 tokens)
node scripts/run-evals.js --behavioral spec-driven-development
node scripts/run-evals.js --behavioral spec-driven-development --dry-run
登录后查看全文
热门项目推荐
相关项目推荐
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 StartedRust0623
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
项目优选
收起
deepin linux kernel
C
33
18
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
528
588
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
906
1.83 K
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
暂无描述
Markdown
891
5.78 K
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.53 K
1.01 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.34 K
1.45 K
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
987
506
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384