From 731fa114564ced34432bc27e089d9f54dbfc2489 Mon Sep 17 00:00:00 2001 From: lanrtop Date: Fri, 3 Jul 2026 21:12:22 +0900 Subject: [PATCH] =?UTF-8?q?feat(onboarding+skill):=20B3=20acceptance=20?= =?UTF-8?q?=E5=8F=AF=E6=89=A7=E8=A1=8C=E5=8C=96=20+=20template=20v1.2.0=20?= =?UTF-8?q?+=20skill=20=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AGENTS.md.tmpl: v1.2.0,新增 rule#5 acceptance 可执行化([载体] 调用→断言) - 炼境 AGENTS.md: ONBOARDING_MANAGED 同步至 v1.2.0 - /architect: 新增 Step 3.5 声明验证路径载体(Tauri/HTTP/CLI/Playwright 优先级表) - /splitter: acceptance 格式升级为可执行验证路径,含三类示例 --- .claude/skills/architect/SKILL.md | 17 +++++++++++++++++ .claude/skills/splitter/SKILL.md | 13 +++++++++---- AGENTS.md | 7 ++++++- src-tauri/resources/onboarding/AGENTS.md.tmpl | 7 ++++++- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/.claude/skills/architect/SKILL.md b/.claude/skills/architect/SKILL.md index 285df33..ccb1b1c 100644 --- a/.claude/skills/architect/SKILL.md +++ b/.claude/skills/architect/SKILL.md @@ -27,6 +27,19 @@ allowed-tools: Read, Glob, Grep, Bash(git log *), Bash(git diff *) - 是否需要新增后端接口 / command - 前后端数据流如何变化 +### 3.5 声明验证路径载体 + +读取项目 AGENTS.md 的「agent 按钮与验证路径」章节(若存在),按载体就近原则确认本功能的验证载体: + +| 项目类型 | 优先验证载体 | +|---------|------------| +| 桌面应用(Tauri) | 直接调用 command 函数(vitest / cargo test) | +| Web 服务 | HTTP API 端点(curl / supertest) | +| CLI / 脚本 | 命令行 / npm scripts | +| UI 呈现层 | Playwright 驱动真界面(最后手段,仅关键路径) | + +写一条示例验证步骤:`[载体类型] 调用/请求什么(参数) → 断言什么`。 + ### 4. 输出设计文档 ``` @@ -45,6 +58,10 @@ allowed-tools: Read, Glob, Grep, Bash(git log *), Bash(git diff *) ### 系统边界变更 <新增接口 / 数据表 / 字段定义> +### 验证路径 +- 载体:<选定的验证载体(Tauri command / HTTP API / CLI / Playwright)> +- 示例:[载体] <具体调用>(<参数示例>) → <断言预期结果> + ### 风险点 - <风险>:<规避方式> diff --git a/.claude/skills/splitter/SKILL.md b/.claude/skills/splitter/SKILL.md index 8e3f956..83bbff6 100644 --- a/.claude/skills/splitter/SKILL.md +++ b/.claude/skills/splitter/SKILL.md @@ -31,7 +31,12 @@ allowed-tools: Read, Edit, Write, Glob **可派发标准(每张卡必须满足)** - `files`:明确列出涉及文件的相对路径 -- `acceptance`:一句话验收标准,描述可观察的结果 +- `acceptance`:**可执行验证路径**,格式:`[载体] 调用/运行什么(参数) → 断言什么` + - 载体从 architect 的「验证路径」声明继承,就近选择:Tauri command / HTTP API / CLI / Playwright + - 断言要具体(检查字段值、返回码、文件存在、数量 > 0),不写模糊的"功能正常" + - 示例:`[Tauri command] apply_onboarding_pack(project_id) → 返回 written≥1,磁盘上文件存在` + - 示例:`[HTTP API] POST /api/projects → 201,body.id 非空` + - 示例:`[cargo test] cargo test parse_conventional → 6 个 case 全通过` - `complexity`:S 或 M ### 3a. 写入蓝图(有 .blueprint/ 时) @@ -44,7 +49,7 @@ allowed-tools: Read, Edit, Write, Glob - complexity: S|M - files: src/path/to/file.tsx, src-tauri/src/commands/xxx.rs - depends: <依赖模块id>(可选) -- acceptance: <一句话验收标准> +- acceptance: "[载体] 调用什么(参数) → 断言什么" ``` 然后更新 `manifest.yaml`:status → `planned`,`updated` 改为今天日期。 @@ -56,11 +61,11 @@ allowed-tools: Read, Edit, Write, Glob ### 📋 <卡名>(S) - files: ... -- acceptance: ... +- acceptance: "[载体] 调用什么(参数) → 断言什么" ### 📋 <卡名>(M) - files: ... -- acceptance: ... +- acceptance: "[载体] 调用什么(参数) → 断言什么" - depends: 上一张卡 ``` diff --git a/AGENTS.md b/AGENTS.md index de6b158..427d001 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -148,7 +148,7 @@ docs/templates/ 炼境接入包模板草案(设计层) 完整规则(迭代管理、阻塞处理、复盘笔记等)详见 `.blueprint/CONVENTIONS.md`。 - + ## 核心开发约束 ### 包管理 @@ -185,6 +185,11 @@ docs/templates/ 炼境接入包模板草案(设计层) 断言行为),再交人做 UI 终验——不许绕过功能手改产物冒充验证 4. **侦察 → 驻军**:agent 走通的关键路径,顺手固化为一条测试(vitest / cargo test); 一次性验收不固化(少而稳 > 多而脆) +5. **acceptance 可执行化**:`/splitter` 生成任务卡时,`acceptance` 字段必须是可执行验证路径, + 格式:`[载体] 调用/运行什么(参数) → 断言什么`。 + - 正例:`[Tauri command] apply_onboarding_pack(project_id) → written≥1,文件在磁盘存在` + - 正例:`[HTTP API] POST /api/users → 201,body.id 非空` + - 反例:`功能正常可用`(模糊,agent 无法自验) ## 多 AI CLI 协作 diff --git a/src-tauri/resources/onboarding/AGENTS.md.tmpl b/src-tauri/resources/onboarding/AGENTS.md.tmpl index 7e64e14..b2bfa73 100644 --- a/src-tauri/resources/onboarding/AGENTS.md.tmpl +++ b/src-tauri/resources/onboarding/AGENTS.md.tmpl @@ -16,7 +16,7 @@ - + ## 核心开发约束 ### 包管理 @@ -53,6 +53,11 @@ 断言行为),再交人做 UI 终验——不许绕过功能手改产物冒充验证 4. **侦察 → 驻军**:agent 走通的关键路径,顺手固化为一条测试(vitest / cargo test); 一次性验收不固化(少而稳 > 多而脆) +5. **acceptance 可执行化**:`/splitter` 生成任务卡时,`acceptance` 字段必须是可执行验证路径, + 格式:`[载体] 调用/运行什么(参数) → 断言什么`。 + - 正例:`[Tauri command] apply_onboarding_pack(project_id) → written≥1,文件在磁盘存在` + - 正例:`[HTTP API] POST /api/users → 201,body.id 非空` + - 反例:`功能正常可用`(模糊,agent 无法自验) ## 多 AI CLI 协作