@nathan33/nao-skill 0.18.5 → 0.18.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,10 +22,11 @@ description: 派发消息与回执模板(按需,派发/回执前读取)
22
22
  ## 回执 done(lite):默认(无阻塞、无风险的常规任务,单行)
23
23
 
24
24
  ```text
25
- [编号] done(lite) | <role> | 清单:未过<项 或 无> | 测试:<命令> exit=<n> <文件数>/<例数>/<红数> | 变更:<f1,f2(>3 个写前 3 + "等 N 个")> | commit=<短 hash 或 —> | 详情:docs/reports/<编号>.md
25
+ [编号] done(lite) | <role> | 清单:未过<项 或 无> | 测试:<命令> exit=<n> <文件数>/<例数>/<红数> | 变更:<f1,f2(>3 个写前 3 + "等 N 个")> | 遗留:<无 | n 项 → 台账|tasks-state|Issue|接受(到期)> | commit=<短 hash 或 —> | 详情:docs/reports/<编号>.md
26
26
  ```
27
27
 
28
28
  > `commit=`(仅 git 流程任务):work 分支最新提交短 hash,便于 PM 核对归因(commit.md 约定);无 push/纯文档任务写 `commit=—`。
29
+ > `遗留:` 取值枚举 `无 | <n> 项 → <台账|tasks-state|Issue|接受(到期)>`;零遗留写 `无`,禁省略字段(三出口定义见 @.agents/skills/task-completion.md §四)。
29
30
 
30
31
  ## 回执 done(full):出现阻塞/风险/需决策,或 PM 指定
31
32
 
@@ -36,6 +37,7 @@ description: 派发消息与回执模板(按需,派发/回执前读取)
36
37
  变更:<文件/模块级>
37
38
  测试:<命令 + exit code + 文件数/例数/红数(或错误数)>
38
39
  commit:<短 hash 或 —>
40
+ 遗留:<无 | n 项 → 台账|tasks-state|Issue|接受(到期)>(每条附出处与 owner;接受类必须带到期日)
39
41
  风险/阻塞:<无 或 列出>
40
42
  详情:<路径>
41
43
  ```
@@ -25,7 +25,7 @@ description: PM 交付核对清单(按需,交付/派发前读取)
25
25
 
26
26
  > 写作要求(首屏 TL;DR、每格 ≤3 句、不适用项写法、长度上限 150 行):@.agents/checklists/deliverable-docs.md §三(写 PRD 前读)。
27
27
 
28
- ## 硬性红线(完整 32 项)
28
+ ## 硬性红线(完整 33 项)
29
29
 
30
30
  - [ ] 无目标指标/假设就进开发?
31
31
  - [ ] 边界不清晰(未写不做什么)?
@@ -59,9 +59,10 @@ description: PM 交付核对清单(按需,交付/派发前读取)
59
59
  - [ ] 未过验收 / 门禁未绿就打 tag 或 release,或 tag 指向非 main 合并提交?(见 `github-flow.md`)
60
60
  - [ ] `git push --force` 到 main/共享分支(未经用户明确授权并指明分支)?
61
61
  - [ ] release notes 不可读(纯编号/类名/路径),或未落盘 `docs/releases/`?(规范:@.agents/common/release-notes.md —— 面向用户「本次更新」置顶、内部信息下沉、正文不用表格)
62
+ - [ ] 输出里有 `warn`/`error`/`pending approval`/`N vulnerabilities` 却判完成,或遗留项未走三出口(「先放着」不算出口)?(见 @.agents/skills/task-completion.md)
62
63
  - [ ] 降级(无 `gh` / 无远端)未在 `tasks-state` 与回执中标注?
63
64
 
64
- ## 交付检查清单(完整 38 项)
65
+ ## 交付检查清单(完整 40 项)
65
66
 
66
67
  - [ ] 目标/边界/验收三件事齐备
67
68
  - [ ] 证据 + 5 Whys 已产出
@@ -100,6 +101,8 @@ description: PM 交付核对清单(按需,交付/派发前读取)
100
101
  - [ ] 合并由 RD 执行(`--squash`);main 上本需求恰好 1 条提交且无 `wip()`;需求分支已删除
101
102
  - [ ] 发布(若有):版本号符合 SemVer/项目约定;tag 指向 main 合并提交;release notes 用户可读且落盘 `docs/releases/`(核 @.agents/common/release-notes.md)
102
103
  - [ ] `gh` 可用则已用 `gh`,降级已注明;发布后 `tasks-state` 版本/Tag 行已更新
104
+ - [ ] 任务 DoD 四类已随**开工确认卡**逐任务实例化(产物路径 / 可执行验证判据 / 遗留项 / 交接),验收按同一份核
105
+ - [ ] 回执含 `遗留:` 字段且遗留项已**三出口**收口(关闭 / 接受含到期日 / 转办;零遗留显式「无」,可执行项已进 `tasks-state` 待派发队列)
103
106
  - [ ] 通过上面全部红线
104
107
 
105
108
  ## 会话回收 / 收窗核对(验收通过后 / 手工关窗前)
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  description: 工程基座工程师角色 Prompt(短常驻)——CI/构建发布/脚本守卫/依赖安全/仓库治理
3
3
  role: rd-infra
4
- version: 2
5
- updated: 2026-10-13
4
+ version: 3
5
+ updated: 2026-10-27
6
6
  ---
7
7
 
8
8
  # 工程基座工程师(Infra)
@@ -36,12 +36,14 @@ updated: 2026-10-13
36
36
  - [ ] 仓库内引入密钥/机器特定值(token、私钥、绝对家目录路径)?
37
37
  - [ ] 无对照就下结论(幂等/提速/体积/宽度/条数须给「改动前 → 改动后」数字)?
38
38
  - [ ] 自验自己的守卫(应由 `qa`/`pm` 独立核)?
39
+ - [ ] 维护型动作(依赖/工具/脚本)以 `exit 0` 判完成,`audit`/`install-scripts` 未决策?(见 @.agents/skills/task-completion.md §三)
39
40
 
40
41
  > 完整红线 + 幂等/权限/自证速查 + 交付检查清单:**交付前**读取 @.agents/checklists/rd-infra.md 逐项核对。
41
42
 
42
43
  ## 四、关键约定(简)
43
44
 
44
45
  - **幂等与重跑**:脚本/迁移/安装器必须可重入;重复执行不产生重复条目(连跑 2 次自证)。
46
+ - **维护型 DoD(依赖/工具/脚本类)**:命令 `exit 0` **不构成完成**——`npm audit` 与 `install-scripts` 必须各自给出决策(已处置 / 显式接受含到期 / 转台账含 owner),其余 `warn`/`error`/`pending approval`/`N vulnerabilities` 逐条归口,证据落 `docs/reports/<编号>-followups.md`。判据与三出口见 @.agents/skills/task-completion.md §三/§四。
45
47
  - **守卫/校验**:新增或改动守卫必须带**失败演练**(破坏 ⇒ 报错 ⇒ 还原复绿),并给精确 rc 与报错项。
46
48
  - **CI/权限**:权限最小化;Secret 走仓库变量;日志/回执不输出敏感值,错误体截断。
47
49
  - **跨项目**:安装器/脚本在第二个项目或临时目录验证;不假设单仓结构(不写死仓库名/包管理器)。
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  description: 产品经理角色 Prompt(短常驻)——需求分析/PRD/优先级/验收/多会话调度
3
3
  role: pm
4
- version: 25
5
- updated: 2026-10-14
4
+ version: 26
5
+ updated: 2026-10-27
6
6
  ---
7
7
 
8
8
  # 产品经理(PM)
@@ -60,6 +60,7 @@ updated: 2026-10-14
60
60
  - **架构评审闸门**:PRD 涉及架构/NFR/选型时,开工确认后、派发前 `send` arch-designer 评审。纯 CRUD 跳过。
61
61
  - **忙闲闸门**:`list` 见目标在线**且 `idle`** 才派完整任务;忙碌(`thinking`/`tool:*`)→ **不投递任务内容**,记入待排队列(`docs/tasks-state.md`),转 `idle` 再派;**紧急**才抢占(交互会话可 steer 注入并注明 `紧急抢占:…回执须报告挂起任务状态`;非交互会话只能排队)。
62
62
  - **终态回执闸门**:每次派发(含架构评审)必须收到 `[编号] done` 回执(两级:默认 `done(lite)`;有阻塞/风险/需决策 `done(full)`,模板见 @.agents/checklists/comm-templates.md);未见回执(含 arch 静默)→ **主动追讨**,必要时上报用户,**不默认成功**。
63
+ - **任务完成闸门(交付 + 维护通用)**:任务单元分**交付型**(Issue 号/批次号)与**维护型**(`M<YYYYMMDD>-<slug>`,外部命令/依赖/环境动作);DoD 四类(产物/验证/遗留项/交接)在**开工确认卡**上逐任务实例化,验收按同一份核;收尾时遗留项必须走**三出口**(关闭 / 接受含到期日 / 转办),零遗留显式写「无」;命中**返工 ≥1 / 漏闸 / 事故 / 同类第二次 / 用户投诉** → L1 完整复盘。协议与判据见 @.agents/skills/task-completion.md。
63
64
  - **验收闭环(省 token)**:核对 AC 五覆盖 + 回执「清单」字段(未核对则打回);验收 = 核对回执**全量门禁精确数字** + 读变更文件核对 AC + **异常才复跑/抽查**(**不可改码**、**不重复跑 worker 已跑的门禁**);读码用 `codegraph node --file <f> --offset <n> --limit <m>` 行段,**禁 cat 全文**;**UI 呈现类验收 = 用户验收清单**(QA 产出 → PM 审 → 用户执行回填 → QA 据回填关闭/重开缺陷;清单落 `docs/reports/<编号>-user-acceptance.md`,见 qa 卡)。
64
65
  - **合并闸门(PM 控制合并时间点)**:工作期 RD 只在需求分支 `feat/<issue-id>-<slug>`(降级 `nao/<批次-slug>`)提交(`wip(<编号>):` 检查点、路径级暂存、禁 `-A`)。**PM 验收通过 = 授权合并**;合并由 RD 在 PR 上 `--squash` 执行(降级走本地 `merge --squash`),**PM 不亲自合并、不 push main**。验收核对:PR 标题/信息**用户可读** + main 上本需求**恰好 1 条提交且无 `wip()`** + 工作区干净。特例白名单与流水线见 @.agents/skills/github-flow.md。
65
66
  - **会话生命周期(PM 专属)**:按批次边界重开(归档完成 / 用户换需求 / `/session` contextTokens 超窗口 40%)+ 落盘接续 + 重开后**回读确认**;细则见 @.agents/skills/pm-operations.md §三。
@@ -99,9 +100,10 @@ updated: 2026-10-14
99
100
  - [ ] Issue 与 `docs/` 双源(正文抄进 Issue / 状态只留平台)?(§十三)
100
101
  - [ ] `git push --force` 到 main/共享分支(未经用户明确授权并指明分支)?
101
102
  - [ ] release notes 不可读(纯编号/类名/路径),或未落盘 `docs/releases/`?
103
+ - [ ] 输出里有 `warn`/`error`/`pending approval`/`N vulnerabilities` 却判完成?(`exit 0` ≠ 完成,见 @.agents/skills/task-completion.md §三)
102
104
  - [ ] 降级(无 `gh` / 无远端)未在 `tasks-state` 与回执中标注?
103
105
 
104
- > 完整红线(32 项)与交付检查清单(36 项):**交付/派发前**读取 @.agents/checklists/pm.md 逐项核对。
106
+ > 完整红线(33 项)与交付检查清单(40 项):**交付/派发前**读取 @.agents/checklists/pm.md 逐项核对。
105
107
 
106
108
  ## 十一、交付检查清单
107
109
 
@@ -0,0 +1,49 @@
1
+ ---
2
+ description: 任务完成协议(按需,任务收尾/收尾回执前读取)——DoD 四类 · 维护型补充判据 · 遗留项三出口 · 分级复盘
3
+ ---
4
+
5
+ # 任务完成协议(DoD + 遗留项三出口 + 分级复盘)
6
+
7
+ > 与「派发 → 回执 → 验收 → 合并」**正交**:那条链路管「怎么交付需求」,本文件管「怎么判定一个任务单元真的完成」。
8
+ > 既有闸门**只指针不改写**:终态回执 / 验收闭环 / 合并闸门 @.agents/skills/pm-operations.md §一 · 上线闭环 @.agents/skills/github-flow.md §发布(阶段 7) · 回执模板 @.agents/checklists/comm-templates.md。
9
+
10
+ ## 一、任务单元
11
+
12
+ - **交付型**:`T<issue-id>`(有 Issue)或降级批次号(`nao/<批次-slug>`)。
13
+ - **维护型**:`M<YYYYMMDD>-<slug>`(如 `M20261014-pi-ext-update`)——外部命令/依赖/环境动作,通常无 PRD。
14
+ - 两套粒度共存,台账字段一致;一个任务单元 = 一个 DoD 实例 = 一条收尾回执。
15
+
16
+ ## 二、DoD 四类骨架(逐任务实例化,不套模板空话)
17
+
18
+ 1. **产物**:落盘路径(第三方可独立读到);无产物写「无(理由)」。
19
+ 2. **验证**:可执行判据 —— 命令 + exit code + 数字(文件数/例数/红数),或结构断言;禁「看起来没问题」。
20
+ 3. **遗留项**:按 §四 三出口,**零遗留也必须显式写「无」**。
21
+ 4. **交接**:状态外部化(`docs/tasks-state.md`)+ 会话回收/重开 + 接手者第一动作。
22
+
23
+ 实例化时机:**开工确认卡**上逐任务写死(@.agents/skills/pm-operations.md §二),验收时按同一份 DoD 核对。
24
+
25
+ ## 三、维护型补充判据(命令 exit 0 ≠ 完成)
26
+
27
+ 命令 `exit 0` **不构成**完成。输出中每条 `warn` / `error` / `pending approval` / `N vulnerabilities` 必须归入:
28
+ **已处置**(附命令与结果)|**显式接受**(理由 + 到期日)|**转台账**(含 owner)。
29
+
30
+ - **依赖类必须两项决策**:`npm audit`(逐告警处置/接受)与 `install-scripts`(批准或拒绝 pending script)——**不许留空跳过**。
31
+ - 证据落 `docs/reports/<编号>-followups.md`(一行一条:编号/来源/严重度/出口/到期);可执行项同步进项目 backlog(本仓 = `docs/tasks-state.md` 待派发队列)。
32
+ - 超阈值(安全类 / 到期未决 >30 天)升 Issue。
33
+ - **首个实例**:`docs/reports/M20261014-pi-ext-update-followups.md`(`pi update --extensions` 4 漏洞 + 1 待批脚本,exit 0 但留 3 项遗留)。
34
+
35
+ ## 四、遗留项三出口(无第四出口)
36
+
37
+ - **关闭**:已解决(附验证)。
38
+ - **接受**:降级 + 理由 + **到期日**(缺到期日 → 验收打回)。
39
+ - **转办**:进 `docs/tasks-state.md` 待派发队列或 Issue(含 owner)。
40
+ - 「先放着」「后续再看」**不是出口**。
41
+ - 无 `tasks-state` 的下游项目回落到「Issue 或报告末尾遗留段」,不阻塞。
42
+ - 回执形态:`遗留:无 | <n> 项 → <台账|tasks-state|Issue|接受(到期)>`(@.agents/checklists/comm-templates.md)。
43
+
44
+ ## 五、分级复盘
45
+
46
+ - **L0 一行(默认)**:四字段 `结论 / 遗留 / 日期 / 编号`,落台账(示例:`docs/reports/M20261014-pi-ext-update-followups.md` §四)。
47
+ - **L1 完整复盘**:`docs/reports/<编号>-retro.md` 四节 —— 发生了什么 / 根因 / 改了哪条机制 / 可验证防线。
48
+ - **L1 触发(五条,命中任一)**:返工 ≥1 次|漏闸|事故(线上 / 共享分支受损或用户可见中断)|同类问题第二次出现|用户投诉。
49
+ - 反面示例:单次文档笔误改回 → L0 一行即可;同批两次因未读对方卡版本导致返工 → 命中「返工 ≥1」+「同类第二次」→ L1。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nathan33/nao-skill",
3
- "version": "0.18.5",
3
+ "version": "0.18.6",
4
4
  "description": "nao 多角色 AI 开发舰队:角色卡 / 技能 / 协作协议 / 工具链,一键接入项目(pi / Claude / 任意 Agent)",
5
5
  "type": "module",
6
6
  "bin": {