@mstar-harness/opencode 0.3.2 → 0.4.0

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.
Files changed (33) hide show
  1. package/harness-skills/{mstar-harness-core/references/branch-and-worktree.md → mstar-branch-worktree/SKILL.md} +18 -2
  2. package/harness-skills/mstar-coding-behavior/SKILL.md +1 -1
  3. package/harness-skills/mstar-dispatch-gates/SKILL.md +66 -0
  4. package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +17 -0
  5. package/harness-skills/mstar-harness-core/SKILL.md +88 -246
  6. package/harness-skills/mstar-harness-core/references/open-harness-principles.md +5 -5
  7. package/harness-skills/{mstar-harness-core/references/phase-gate-playbook.md → mstar-phase-gates/SKILL.md} +46 -5
  8. package/harness-skills/mstar-plan-artifacts/SKILL.md +30 -0
  9. package/harness-skills/{mstar-plan-conventions → mstar-plan-artifacts}/references/done-compaction.md +2 -2
  10. package/harness-skills/{mstar-plan-conventions → mstar-plan-artifacts}/references/knowledge-and-designs.md +1 -1
  11. package/harness-skills/{mstar-plan-conventions → mstar-plan-artifacts}/references/plan-files-and-reports.md +3 -3
  12. package/harness-skills/{mstar-plan-conventions → mstar-plan-artifacts}/references/status-and-residuals.md +3 -3
  13. package/harness-skills/mstar-plan-conventions/SKILL.md +53 -268
  14. package/harness-skills/mstar-plan-conventions/references/harness-bootstrap-and-agents-layering.md +1 -1
  15. package/harness-skills/mstar-review-qc/SKILL.md +8 -8
  16. package/harness-skills/mstar-roles/SKILL.md +27 -11
  17. package/harness-skills/mstar-roles/references/architect.md +9 -7
  18. package/harness-skills/mstar-roles/references/frontend-dev.md +9 -7
  19. package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +9 -5
  20. package/harness-skills/mstar-roles/references/ops-engineer.md +9 -7
  21. package/harness-skills/mstar-roles/references/product-manager.md +9 -7
  22. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +2 -2
  23. package/harness-skills/mstar-roles/references/project-manager.md +13 -7
  24. package/harness-skills/mstar-roles/references/prompt-engineer.md +9 -7
  25. package/harness-skills/mstar-roles/references/qa-engineer.md +11 -10
  26. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +11 -7
  27. package/harness-skills/mstar-roles/references/writing-specialist.md +7 -7
  28. package/harness-skills/mstar-superpowers-align/SKILL.md +2 -2
  29. package/harness-skills/mstar-superpowers-align/references/per-role-matrix.md +5 -5
  30. package/harness-skills/mstar-superpowers-align/references/tension-table.md +2 -2
  31. package/harness-skills/pm/SKILL.md +2 -2
  32. package/package.json +1 -1
  33. package/skills/mstar-host/SKILL.md +2 -1
@@ -1,6 +1,22 @@
1
- # Git 功能分支、同仓并发与 Worktree 对齐(Morning Star)
1
+ ---
2
+ name: mstar-branch-worktree
3
+ description: Morning Star business-repo Git feature branches, same-repo concurrent `git worktree` isolation, plan/Spec integration branches, and QC/QA checkout alignment (`Review cwd`, `Working branch`, `plan_id`, `Review range` / `Diff basis` must match verbatim across three QC reviewers and QA). Read when PM writes `Working branch` / `Branch policy`, two or more writable streams touch one repo, dispatching QC tri-review or QA after merging to a single `HEAD`, dev/QA/ops before first `git commit`, or explaining worktree paths. Required for `@project-manager` parallel implement or pre-QC orchestration; `@fullstack-dev*` / `@frontend-dev` / `@qa-engineer` / `@ops-engineer` on repo writes; `@qc-specialist*` before review. Does not replace the state machine (`mstar-harness-core`).
4
+ ---
2
5
 
3
- reference 涵盖:功能分支门禁、分支协作契约、同仓并发写入、多 worktree 并行开发与 QC/QA 衔接、plan 集成分支推荐编排。
6
+ ## Load order(必读顺序)
7
+
8
+ **首次 Read 本 skill 前:必须先 Read `mstar-harness-core`(SKILL.md)。** 冲突时 **以 `mstar-harness-core` 为准**。
9
+
10
+ **Spec 多 plan 命名**(`spec_integration_branch`、合入 `main` 的 PR 门禁)→ **`mstar-plan-conventions`**。下文为 **Git 操作与 QC/QA 检出对齐** 全文(无单独 reference 层)。
11
+
12
+ ## Scope(摘要)
13
+
14
+ - **仅 PM 决定分支**;其他可写角色不得自行新开分支或切回 `main`。
15
+ - **Assignment 须含其一**:`Working branch: <existing>` | `create <new> from <base>` | `Branch policy: direct on <branch> — <reason>`。
16
+ - **同仓 ≥2 可写并发**:须 `git worktree`(或等价隔离);PM 写明各流 **Worktree path**。
17
+ - **QC/QA 前**:待审提交归并到 **单一 `Working branch` `HEAD`**;三审 + QA 共用一套 **`Review cwd` + `plan_id` + `Review range` / `Diff basis`**(逐字相同)。
18
+
19
+ ## Git 功能分支、同仓并发与 Worktree 对齐
4
20
 
5
21
  ## Git 功能分支门禁(业务仓库)
6
22
 
@@ -5,7 +5,7 @@ description: Morning Star (启明星) 跨角色通用编码行为准则 —— T
5
5
 
6
6
  ## Load order(必读顺序)
7
7
 
8
- **在同一会话或任务中首次 Read 本 skill 时:必须先 Read `mstar-harness-core` skill(SKILL.md)。** 本 skill 只约束 **编码与改动风格**(Think / Simplicity / Surgical / Goal-Driven);**分支、`Working branch`、QC-QA 字段、Done 所有权、调度防串扰** 等仍以 **`mstar-harness-core`** 为准。冲突时 **以 `mstar-harness-core` 为准**。
8
+ **在同一会话或任务中首次 Read 本 skill 时:必须先 Read `mstar-harness-core` skill(SKILL.md)。** 本 skill 只约束 **编码与改动风格**(Think / Simplicity / Surgical / Goal-Driven);**Done 所有权、状态机** 仍以 **`mstar-harness-core`** 为准;**分支 / worktree / QC-QA 检出字段** **`mstar-branch-worktree`**;**调度防串扰** **`mstar-dispatch-gates`**。冲突时 **以 `mstar-harness-core` 为准**。
9
9
 
10
10
  **摘要**:`mstar-harness-core` — 不变量与门禁;本 skill — 实现与审查时的工程习惯,不替代 harness。
11
11
 
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: mstar-dispatch-gates
3
+ description: Morning Star 派发与委派门禁 —— 仅 PM 可增派 subagent、`Execute as` 与 `Delegation`、承接方反递归 NEVER 红线、同条消息 N 次 invoke、QC 三审禁止串行 rollout、Assignment 文案≠派发(invoke 条数须对齐)、未齐不发(emit zero until batch-ready)。**必须**在 `@project-manager` 每轮派发、QC 三审并发、双轨 implement、或 leaf 角色疑惑能否 Task 时 Read;所有非 PM 承接方动手前必读反递归与自检。同仓 worktree 与 QC 检出对齐见 `mstar-branch-worktree`。Superpowers 并行短语见 `mstar-superpowers-align`。宿主细则见 `mstar-host-opencode` / `mstar-host-cursor`。
4
+ ---
5
+
6
+ ## Load order(必读顺序)
7
+
8
+ **首次 Read 本 skill 前:必须先 Read `mstar-harness-core`(SKILL.md)。** 同仓 worktree、QC/QA 检出字段 → **`mstar-branch-worktree`**。冲突时 **以 `mstar-harness-core` 为准**。
9
+
10
+ ## 调度防串扰(强制)
11
+
12
+ - 只有 **`@project-manager`** 可以决定增加/并行 subagent;承接方**默认不得二次分派**。
13
+ - **`Execute as: <role-id>`** = 承接方**亲自**完成本单,**不是**再起同名 subagent 或嵌套同 `subagent_type` 的 Task(禁止**递归误派**)。
14
+ - 额外代理仅以 **`Delegation: allowed (...)`** 为准;未显式写时视为 **`Delegation: forbidden`**。
15
+ - Assignment 正文中的 `@xxx` 默认按「文本引用」解释,**不**视为自动调用命令。
16
+ - 承接方若判断必须增加 subagent,应先回报 **`Blocked`** 请 PM 重分派。
17
+ - **Superpowers `subagent-driven-development`**:per-task 子步**勿**用 `@qc-specialist*`;用 `@general` / `generalPurpose` 或 PM 标明的 informal `@qa-engineer`。详见 **`mstar-superpowers-align`**。
18
+
19
+ ## 承接方反递归红线(NEVER / DO NOT;leaf executor 必读)
20
+
21
+ 下列行为易触发递归误派;`@project-manager` 之外的角色一旦命中,须立即停止并改为本会话内可交付物,或 **`Blocked`** 回报 PM。**禁止**以「更高效」「Assignment 像 PM 编排」等理由绕开:
22
+
23
+ - **NEVER** 在本会话内调用 Task / subagent,且其 `subagent_type` **等于**你当前的 **`Execute as`** 角色 id。
24
+ - **NEVER** 把 Assignment 里出现的 **任何** `@<role>`、反引号 `` `<role-id>` ``、**Handoff**、**QA note**、**Completion Report** 模板里的角色名、路由表下游角色当成「立刻 invoke」的指令;这些是**叙事 / 路由文档 / 后续 PM 编排意图**,不是命令。
25
+ - **NEVER** 把「分解为多个计划 / 多 phase / 多 track」等**设计产物层面**的并行或拆分读成「应 invoke 与子会话数量对应的多个 subagent」。**纸面产物**由本会话写盘完成;并行**调度**由 PM 在后续轮次决定。
26
+ - **NEVER** 因宿主**暴露**了 `Task` 或若干 `subagent_type` 名称就推断可以调用。**工具可用 ≠ 授权使用**;授权只来自 **`Delegation: allowed (...)`**。
27
+ - **NEVER**(非 PM)主动执行 `dispatching-parallel-agents` 来分派子代理;需要并行时回报 PM。
28
+ - **DO NOT** 在 Assignment 缺少 `Execute as` / `Delegation` / `Who runs this turn` 时自行「补齐」为 PM;缺字段时按 **leaf executor** 解释:亲自完成或 **`Blocked`**。
29
+ - **DO NOT** 用「Assignment 太长 / 像编排稿」当作分派依据;先交付本会话任务再回报,分派由 PM 下一轮决定。
30
+
31
+ **自检(动手前)**:
32
+
33
+ 1. 我此刻的 **`Execute as`** 是什么?
34
+ 2. Assignment 是否写了 **`Delegation: allowed (...)`**?没有 → **禁止**任何 Task / subagent。
35
+ 3. 下一动作是不是「Task / subagent_type=…」?是 → 停手,改为 Read / Write / Shell / Edit,或 **`Blocked`**。
36
+ 4. 命中任一 NEVER → 写 `## Blocked — recursive dispatch refused (<which NEVER>)` 回报 PM,**不**继续 invoke。
37
+
38
+ ## 并发分派完整性门禁(PM 强制)
39
+
40
+ 当 PM 声明「并发分派」时,须同时满足**文案并发**与**工具并发**:
41
+
42
+ - **工具并发**:同一调度轮次内,多个 subagent 调用须在**同一条 assistant 消息**里一次性发出(宿主允许时)。
43
+ - **QC 三审硬门禁**:`qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 须**同一条消息**全部发起;只发其中一个 = **`dispatch incomplete`**,不得写「三审已并行启动」。
44
+ - **先自检再发送**:发送前核对「Assignment 条数 = 本条消息中的实际 **派发** 调用条数」。
45
+ - **前置步骤与派发回合分离(防串行 rollout)**:为派发准备的 **`bash` / `read` / `glob` / `grep`**(如 `merge-base`、`Review range`、`git rev-parse`)**不计入** `N` 次派发;可在上一条仅含准备的消息完成。准备完成后,**下一条派发消息**须**一次性**含 **`N` 次** Task / subagent invoke。**禁止**先发 `1` 次、等返回再补发其余 `N-1` 次。
46
+ - **未齐不发(emit zero until batch-ready)**:需并发 `N≥2` 而当前只能发 `1` 条时,本条应发 **`0` 条派发 invoke`**(可继续 read/bash 补齐),**禁止**「先发一个顶一下」;`N` 份 payload 就绪后**单次消息发满 `N`**。OpenCode 见 **`mstar-host-opencode`**「OpenCode PM: dispatch order」。
47
+
48
+ ### 具名 subagent 宿主:文案分派 ≠ 调度完成
49
+
50
+ 在支持具名角色 / Task 的宿主上,`## Assignment` **正文不会**拉起子会话。PM 须在**同一条 assistant 消息**(或宿主等价机制)发出与 Assignment **条数一致**的 invoke / Task;仅打印 Markdown = **分派未完成**。**几条 Assignment ⇒ 几次 tool 调用**(默认同消息并行)。
51
+
52
+ ## 并行规则(摘要)
53
+
54
+ - 独立模块可并行;避免写操作归属重叠;跨领域变更先锁接口契约再并行编码。
55
+ - **QC 三审**在 feature 开发完成后执行;三名 reviewer 共用同一组 `Review cwd` / `Working branch` / `plan_id` / `Review range` / `Diff basis`(**`mstar-branch-worktree`**)。
56
+ - **同一 plan 多 batch**:默认整 plan 交付完成跑一轮完整三审;复验波次用新文件名(**`mstar-plan-artifacts`**、**`mstar-review-qc`**)。
57
+
58
+ ## 反模式(派发)
59
+
60
+ - QC 三审拆在多条消息或等 #1 返回再发 #2/#3。
61
+ - 仅 1 次 invoke 却声称「并行三审已启动」。
62
+ - 递归同角色 subagent;把 Handoff / 多轨编排措辞当 invoke。
63
+
64
+ ## References
65
+
66
+ - `references/leaf-executor-checklist.md` — 承接方一页自检清单。
@@ -0,0 +1,17 @@
1
+ # Leaf executor dispatch checklist
2
+
3
+ > Load **`mstar-harness-core`** first, then **`mstar-dispatch-gates`** SKILL.md.
4
+
5
+ Before any Task/subagent call:
6
+
7
+ 1. What is my **`Execute as`**?
8
+ 2. Does the Assignment include **`Delegation: allowed (...)`**? If no → **no** Task/subagent.
9
+ 3. Is my next step a Task/subagent invoke? If yes without (2) → **stop**; use Read/Write/Shell/Edit in-session or **`Blocked`**.
10
+ 4. Is `subagent_type` equal to my `Execute as`? If yes → **forbidden** (recursive dispatch).
11
+ 5. Am I treating `@roles`, Handoff, QA note, Completion Report roles, or multi-plan/multi-track **design text** as invoke commands? If yes → **stop**; deliver in-session.
12
+ 6. Am I invoking because the tool exists? **Available ≠ authorized.**
13
+ 7. Need parallel work or PM-only `dispatching-parallel-agents`? → **`Blocked`**; PM dispatches on the next round.
14
+
15
+ If blocked, report: `## Blocked — recursive dispatch refused (<which NEVER or reason>)`
16
+
17
+ Full NEVER/DO NOT list → **`mstar-dispatch-gates` SKILL.md**「承接方反递归红线」.
@@ -1,295 +1,137 @@
1
1
  ---
2
2
  name: mstar-harness-core
3
- description: Morning Star (启明星) harness 的**强制全局入口** —— 多角色 agent 交付的生命周期、状态机、Spec-Driven 双阶段门禁、Task category 路由、意图门禁、@explore 能力边界、长任务纪律、Git 功能分支与 worktree 隔离、QC/QA 检出上下文对齐、Context7 共享检索协议、Morning Star Skill 索引、护栏不变量、反模式与升级触发。**任何**在本配置仓库下工作的 code agent,在开始**任何非平凡任务之前**都必须 Read 本 skill 与当前任务相关的 `references/`。`@project-manager` 每轮编排前必读;所有实现/审查/QA/运维角色在接受 Assignment 后动手前必读;`@prompt-engineer` prompt/skill 前必读;宿主自动注入的根目录 `AGENTS.md` 的全部作用就是把你指到本 skill。用于 OpenCode、Cursor 或任何多角色 code agent harness;与业务仓库具体技术栈无关。
3
+ description: Morning Star (启明星) harness **强制全局入口** —— 信息源优先级、最小交付循环、状态机与 Done 权限、Task category 路由(含 quick 禁豁免)、@explore 边界、长任务纪律、护栏不变量、反模式索引、Morning Star Skill 索引与宿主入口。**任何**非平凡任务开始前必须先 Read 本 skill;再按角色与任务 **按需** Read 其它 `mstar-*` 专题(勿默认通读全部)。`@project-manager` 开轮必读 + `mstar-dispatch-gates` / `mstar-phase-gates` / `mstar-plan-conventions` 等;实现/审查/QA 必读本 skill + `mstar-coding-behavior` 及角色清单(见 `mstar-roles`)。Prepare/派发/Git/residual/QC 细则在专题 skill,不在此重复。
4
4
  ---
5
5
 
6
6
  # Morning Star Harness Core(启明星核心)
7
7
 
8
- 本 skill 是 **Morning Star / 启明星** code agent harness 的**唯一全局入口与 SSOT**。根目录 `AGENTS.md` 已瘦身为一句"强制读本 skill"的提示;所有执行向规则、skill 索引、护栏不变量与交付循环,全部在此维护。其它 `mstar-*` skill 只承载细分主题的展开;与本 skill **有冲突时,以本 skill 的状态机、门禁与路由表为准**。
8
+ 本 skill 是 harness 的**唯一全局入口与裁决层**。专题 skill 展开细节;**冲突时以本 skill 的状态机、Done 权限与索引为准**。
9
9
 
10
10
  ## 与其它 `mstar-*` skill 的加载契约
11
11
 
12
- - **专题 skill**:凡 **`skills/mstar-*/SKILL.md`** 且 **`name` ≠ `mstar-harness-core`**,其正文均假定读者**已在本会话(或本任务)Read 过本 skill**,并已按需 Read **`mstar-harness-core/references/`** 中与当前任务相关的章节。各专题 SKILL 在正文开头设有统一的 **「Load order」** 小节,重复此要求。
13
- - **仅读专题、未读核心**:视为未完成 Morning Star harness 加载;编排与实现侧不得声称已遵循 harness。
14
- - **裁决**:专题 skill、`mstar-roles` 角色正文与本 skill 对同一门禁的表述冲突时,**以本 skill 为准**。
12
+ - **`mstar-*`**(`name` ≠ `mstar-harness-core`)假定读者**已 Read skill**。
13
+ - **仅读专题、未读核心** 未完成 harness 加载。
14
+ - 各专题 SKILL.md **Load order**;按 **`mstar-roles`** 角色矩阵按需加载,**禁止**为「保险」通读全部专题。
15
15
 
16
16
  ## 信息源优先级
17
17
 
18
- 1. **当前轮次的用户显式指令**
19
- 2. **项目级 `AGENTS.md` / `CLAUDE.md`**(自 cwd 向上解析)
20
- 3. **`mstar-*` skills 正文**(本 skill + 其它 `mstar-*` 的 SKILL.md 与 `references/`)
21
- 4. **`mstar-roles` skill 的角色正文**(`references/<role>.md`)
18
+ 1. 当轮用户显式指令
19
+ 2. 项目 `AGENTS.md` / `CLAUDE.md`
20
+ 3. `mstar-*` skills(本 skill + 专题)
21
+ 4. `mstar-roles` 角色正文
22
22
 
23
- **冲突裁决**:同一事实在多层同时出现且仍无法一致解释时,以**当轮用户明确指令**为准;指令未覆盖或相互矛盾时,**暂停并升级人工**,不得擅自择一执行。
23
+ 冲突且用户未覆盖 → **暂停升级人工**。
24
24
 
25
- ## 最小交付循环(非平凡任务)
25
+ ## 最小交付循环
26
26
 
27
- 1. **准备阶段**:`specify → clarify → plan`(含意图门禁)
28
- 2. **执行准备**:`plan(locked)` 后执行 `tasks` 拆解
29
- 3. **分派到最匹配角色**并 `implement`
30
- 4. **审查与验证门禁**(QC 三审 + QA)
31
- 5. **复盘沉淀**为可复用规则 / skill 更新
32
-
33
- ## 适用范围
34
-
35
- - 适用于通过 `mstar-roles` skill 加载角色提示词的执行场景(与具体业务仓库无关的流程规则)。
36
- - 专题深度在本 skill 的 `references/` 与其它 `mstar-*` skill;本 SKILL.md 只给**状态机、门禁、不变量、索引**。
27
+ `specify → clarify → plan` → `plan(locked) → tasks → implement` → QC 三审 + QA → 沉淀。阶段细则 → **`mstar-phase-gates`**。
37
28
 
38
29
  ## 加载约定(强制)
39
30
 
40
- - **`@project-manager`**:开轮次前**必须**先 Read **`mstar-harness-core`**(含本轮将用到的 `references/`),再按任务 Read **`skills/`** 下与本回合相关的 **`mstar-*` 专题 skill**(典型:`mstar-plan-conventions`、`mstar-review-qc`、`mstar-superpowers-align`、`mstar-roles`)。**不要求** PM Read `mstar-coding-behavior`(该 skill 面向实现 / 审查 / QA / 运维等承接方)。**PM 路由 / Routing Eval 回归**为 **Cursor 维护流程**专用(`.cursor/skills/mstar-routing-eval/`),**不作为** OpenCode 等宿主上的运行时必读。编排动作与 Assignment 须与本 skill 一致。
41
- - **实现/审查/QA/运维角色**:接到 Assignment 后、动手(写盘或第一次 `git commit`)**之前**,**必须**先 Read **本 skill**(含相关 `references/`),再 Read **`mstar-coding-behavior`** 与角色对应的其它 `mstar-*` skills(各角色必读清单见 `mstar-roles` skill 的 role profiles)。
42
- - 本 skill `references/` 都是**可复核规则**;不得在回报中声称已遵循而实际未读。
43
-
44
- ## 状态机
45
-
46
- 任务状态按下列路径流转:
47
-
48
- 1. `Todo`
49
- 2. `InProgress`
50
- 3. `InReview`
51
- 4. `Done` 或 `Blocked`
52
-
53
- **状态权限**:
54
-
55
- - `Done` 只能由 `@project-manager` 或 `@qa-engineer` 设置。
56
- - 实现类 agent 可将工作移至 `InReview`,**不可**设为 `Done`。
57
-
58
- ## Spec-Driven 双阶段门禁(非热修强制)
59
-
60
- ### A. Prepare:`specify → clarify → plan`
61
-
62
- - `specify` — 问题陈述、用户价值、范围/非目标、DoD 草案。
63
- - `clarify` — 关键歧义清单与结论;高影响歧义必须收敛,否则 `Blocked`。
64
- - **意图核对(Intent gate)**:区分**用户字面表述**与**待解决的真正问题**;手段与目标混淆须在此收敛。
65
- - **结构化澄清**:宿主提供 `question` 工具时优先使用;否则用结构化正文选项。宿主细节在各自的 `mstar-host` skill。
66
- - **`clarify` 核心纪律(Prepare)**:对 plan/方案的**每个方面**持续核对,直到与用户达成**共享理解**;沿**设计决策树**逐枝下行,**一次只收敛一个决策点**及其依赖,再进入下一枝。
67
- 1. **能查库则查库**:若问题可通过探索代码库(实现、配置、`{SPECS_DIR}`、`{KNOWLEDGE_DIR}`、`{ITERATION_DIR}` 等)得到答案,**先探索、不向用户提问**。
68
- 2. **每问带推荐**:每个仍需用户确认的问题,须给出**推荐答案**(及简短理由),便于快速对齐。
69
- 3. **收口摘要**:`clarify` 结束前列出:已决事项、仍 open 的假设、对 `plan` 的约束。
70
- - `plan` — 技术方案、模块边界/接口契约、风险与回滚点、验证计划。
71
- - **意图门禁**:锁 plan 前须能书面写清**真实目标 / 成功判据 / 非目标**三项;否则 Prepare 未通过。
72
-
73
- ### B. Execute:`plan(locked) → tasks → implement`
74
-
75
- - `plan(locked)` — 冻结基线;实现中出现新约束时**先回写 plan 再继续**。
76
- - `tasks` — 含依赖顺序、并行标记、完成判据;每任务可追踪到 plan 与验收标准。
77
- - **并行标签**:若 PM 将 ≥2 条实现轨 **同时** 分派,须在 `Superpowers` 中写入 `dispatching-parallel-agents`;同仓 ≥2 可写并发时叠 `using-git-worktrees`(见 `mstar-superpowers-align` 与本 skill `references/branch-and-worktree.md`)。
78
- - `implement` — 按 tasks 顺序执行并提交自检证据;完成进入 `InReview`。
79
-
80
- ### 可验证编辑与上下文纪律
81
-
82
- - **读后再改**:修改文件前以磁盘内容为准重读(`Read`/等价工具)。
83
- - **小步应用**:Patch 失败**禁止**在同一过时锚点连试;重读、缩小变更单元或拆步。
84
- - **多文件改动**:逐项核对路径与引用,避免未验证的批量替换。
85
-
86
- ### Hotfix 例外
87
-
88
- - 压缩为 `specify(min) → plan(min) → implement`;必须在回报或 plan notes 补记事后 `clarify/RCA`。
89
-
90
- 详细节点与动作见 `references/phase-gate-playbook.md`。
91
-
92
- ## Git 功能分支与同仓并发写入(强制)
93
-
94
- 适用于 cwd 为 **Git 托管的业务/应用仓库** 且本轮会产生仓库内可合并 diff 的任务。**不**用于约束 `~/.config/opencode/`(全局配置对 agent 只读)。
95
-
96
- - **唯一分支决策者**:**只有 `@project-manager`** 可以决定分支策略;其他可写角色不得自行新开分支或切回 `main`/`master`。
97
- - **默认保护分支禁直改**:除 Assignment 显式写 `Branch policy: direct on <branch> — <reason>`,禁止在 `main`/`master` 上直接实现功能改动。
98
- - **同仓 ≥2 可写并发**:**必须**使用 `git worktree`(或等价独立检出)隔离;PM 须在 Assignment 写明 `Worktree path` / 检出约定。
99
- - **多 worktree 并行开发 → QC/QA**:派三审前**必须**将全部待审提交归并到**单一 `HEAD`**(通常为 PM 约定的 **plan 集成分支**);禁止用仅含部分轨变更的开发目录作为 `Review cwd`。
100
- - **三审对齐**:三份 QC Assignment 与 QA Assignment 的 `plan_id`、`Review range` / `Diff basis` **逐字相同**。
101
-
102
- 完整规则、`Working branch` 字段模板、集成分支推荐编排、三审/QA 检出对齐细则见 **`references/branch-and-worktree.md`**。
103
-
104
- ## Task category 与角色倾向
31
+ | 角色 | 始终 | 按任务追加(典型) |
32
+ |------|------|-------------------|
33
+ | **全部** | 本 skill | |
34
+ | **`@project-manager`** | 本 skill | `mstar-dispatch-gates`、`mstar-phase-gates`、`mstar-plan-conventions`、`mstar-superpowers-align`、`mstar-roles`;派 QC 前 `mstar-review-qc`;并行/审查 `mstar-branch-worktree`;plan/status/reports `mstar-plan-artifacts`。**不**读 `mstar-coding-behavior` |
35
+ | **实现/审查/QA/运维** | 本 skill + `mstar-coding-behavior` + 角色 ref | 有 git 写:`mstar-branch-worktree`;有 plan 路径:`mstar-plan-conventions`(路径符号节);QC/QA:`mstar-review-qc`;改 status/residual:`mstar-plan-artifacts` |
36
+ | **leaf 承接方** | 上栏 + **`mstar-dispatch-gates`**(反递归节) | — |
105
37
 
106
- `@project-manager` Assignment 写明 **`Task category`**(一个主类 + 可选 `secondary`),驱动"按任务性质选强项"的编排:
38
+ Routing eval(Cursor 维护)→ `.cursor/skills/mstar-routing-eval/`,**非**运行时必读。
107
39
 
108
- | Category | 典型工作 | 倾向角色 |
109
- |----------|----------|----------|
110
- | `visual` | UI/UX/组件/样式/可访问性 | `@frontend-dev`;复杂信息架构前置 `@product-manager` |
111
- | `deep` | 陌生模块摸底、端到端 trace、大范围阅读 | `@explore` 优先,再交 `@fullstack-dev*` 或 `@architect` |
112
- | `quick` | 单文件、文案、小配置、typo | `@general` 或单开发角色;不因体量跳过既定门禁 |
113
- | `logic` | 难算法、并发、一致性、架构取舍 | `@architect` + 开发角色 |
114
- | `ops` | CI/CD、部署、监控、基础设施 | `@ops-engineer` |
115
- | `docs` | 纯 Markdown 规格/PRD/写作交付(无运行时行为变更) | `@product-manager` / `@architect` / `@writing-specialist` |
116
-
117
- ### `Task category` 与 Prepare 门禁(硬规则)
118
-
119
- - **`quick` 从不豁免 Prepare**:非 hotfix 下,无论主类是否为 `quick`,**都必须**完成 `specify → clarify → plan`(及 `tasks`)后再进入 `implement`。`quick` **只**影响「默认倾向哪个执行角色」,**不是**「可跳过 plan / `status.json` / 主 plan 文件」的许可证。
120
- - **禁止滥用 `quick`**:下列任一类工作 **不得** 作为主类标 `quick`(应改用 `logic` / `deep` / `visual` / `ops` 等真实类别,且仍走完整 Prepare):新增或变更 **CLI 子命令 / 公共 API**;新增或升级 **依赖清单**;**新增测例 + 回归或全量测试**;跨 **≥2 个顶层模块** 或需新 **持久化契约**(导出格式、配置模式等)的改动。
121
- - **已启用 `{HARNESS_DIR}` 时**(见 `mstar-plan-conventions` 目录解析):非 hotfix 的首次 **implement** 派单前,须已有可引用的 **主 plan 文件**(`{PLAN_DIR}/…`)且 Assignment 的 **`Plan Path`** 指向该真实路径;并须在**同一协调轮次**内把该 `plan_id` 写入 **`{HARNESS_DIR}/status.json`**(或显式写明「本回合先建 plan 与登记后再 invoke implement」且实际执行后再派单)。缺一则 **BLOCKED**,不得 invoke 实现类 subagent。
40
+ ## 状态机
122
41
 
123
- ## 内置 `@explore` 能力边界(强制)
42
+ `Todo` `InProgress` → `InReview` → `Done` | `Blocked`
124
43
 
125
- 在支持 `@explore` 的宿主(如 OpenCode)上,`@explore` 是**只读、快速的代码库导航 subagent**。
44
+ - **`Done`**:仅 `@project-manager` `@qa-engineer`。
45
+ - 实现类可设 **`InReview`**,不可设 **`Done`**。
126
46
 
127
- - **禁止代劳交付**:任何已分派到具体角色的 Assignment,承接方**不得**用 `@explore` 代替本角色应完成的**实现、改库、写测试、跑命令取证、写审查结论、写 PRD/架构文档、写 QA 报告**。
128
- - **允许用法**:**短、窄**的只读辅助(定位路径、粗调用关系、关键词检索);得到线索后立即回到本角色。
129
- - **优先默认**:内置 `glob`/`grep`/`read` 能在合理步数内完成时,**不必**调用 `@explore`。
130
- - **与 PM 分工**:PM 在分派前调用 `@explore` 摸底并写入 Assignment 是**推荐模式**;**分派后**承接方不应把作业转包给 `@explore`。
47
+ `status.json` 字段与 residual **`mstar-plan-artifacts`**。
131
48
 
132
- ## 调度防串扰(强制)
49
+ ## Task category(路由摘要)
133
50
 
134
- - 只有 `@project-manager` 可以决定增加/并行 subagent;承接方**默认不得二次分派**。
135
- - **`Execute as: <role-id>`** = 承接方**亲自**完成本单,**不是**再起同名 subagent 或嵌套同 `subagent_type` 的 Task(禁止**递归误派**)。
136
- - 额外代理仅以 **`Delegation: allowed (...)`** 为准。未显式写时视为 `Delegation: forbidden`。
137
- - Assignment 正文中的 `@xxx` 默认按「文本引用」解释,不视为自动调用命令。
138
- - 承接方若判断必须增加 subagent,应先回报 `Blocked` 请 PM 重分派。
139
- - **Superpowers `subagent-driven-development`**:per-task 子步**勿**用 `@qc-specialist*`;用 `@general` / `generalPurpose` 或 PM 标明的 informal `@qa-engineer`。详见 `mstar-superpowers-align`。
51
+ PM Assignment **`Task category`**(主类 + 可选 `secondary`):
140
52
 
141
- ### 承接方反递归红线(NEVER / DO NOT,强制;leaf executor 必读)
53
+ | Category | 倾向角色 |
54
+ |----------|----------|
55
+ | `visual` | `@frontend-dev`(复杂 IA 可前置 `@product-manager`) |
56
+ | `deep` | `@explore` → dev / `@architect` |
57
+ | `quick` | `@general` 或单 dev — **不豁免 Prepare** |
58
+ | `logic` | `@architect` + dev |
59
+ | `ops` | `@ops-engineer` |
60
+ | `docs` | `@product-manager` / `@architect` / `@writing-specialist` |
142
61
 
143
- 下列行为易触发递归误派,承接方(`@project-manager` 之外的所有角色)一旦命中,必须立即停止并改为产出本会话内的可交付物,或 `Blocked` 回报 PM;**禁止**用「为了更高效」「Assignment 描述像 PM 编排」等理由绕开本条:
62
+ **硬规则**:`quick` **从不**跳过 `specify → clarify → plan`;禁止把新 CLI/API/多模块/新测例标为 `quick`。已启用 `{HARNESS_DIR}` 时,首次 implement 前须有主 plan 路径 + `status.json` 登记(见 **`mstar-plan-conventions`**)。
144
63
 
145
- - **NEVER** 在本会话内调用 Task / subagent 入口、且其 `subagent_type` 等于你当前的 **`Execute as`** 角色 id(不得再起与当前执行身份同类型的子会话)。
146
- - **NEVER** 把 Assignment 正文里出现的 **任何** `@<role>` / 反引号 `` `<role-id>` ``、**Handoff** 行、**QA note** 行、**Completion Report** 模板里的角色名、路由表里的下游角色当成「立刻 invoke」的指令;这些是 **叙事 / 路由文档 / 后续 PM 编排意图**,不是命令。
147
- - **NEVER** 把「分解为多个计划 / 多 phase / 多 track」之类**设计产物层面**的并行或拆分描述读成「我应该 invoke 与子会话数量对应的多个 subagent」。**纸面产物**(计划、文档、登记)由本会话直接写盘完成;并行**调度**(如需)由 PM 在后续轮次决定。
148
- - **NEVER** 因为宿主**暴露**了 `Task` 工具或若干可用的 `subagent_type` 名称就推断「我可以或应该调用它们」。**工具可用 ≠ 授权使用**;授权只来自 Assignment 的 **`Delegation: allowed (...)`**。
149
- - **NEVER**(非 `@project-manager` 角色)主动加载并执行 `dispatching-parallel-agents` skill 来分派同会话子代理;该技能是 PM-only 的 **编排** 工具(详见 `mstar-superpowers-align`)。需要并行时回报 PM。
150
- - **DO NOT** 在 Assignment 缺少 `Execute as` / `Delegation` / `Who runs this turn` 等正式字段时,自行「补齐」为 PM 编排者身份;缺字段时按 **承接方** 解释:你是被指派的 leaf executor,亲自完成或 `Blocked`。
151
- - **DO NOT** 用「Assignment 太长 / 像编排稿 / 看起来要拆任务」当作分派依据;先把任务**作为文档/实现交付**做完再回报,分派由 PM 在下一轮决定。
64
+ ## `@explore` 边界
152
65
 
153
- **自检(动手前 30 秒)**:
154
- 1. 我此刻的 `Execute as` 是什么?
155
- 2. Assignment 是否给了 `Delegation: allowed (...)`?没有 → 任何 Task / subagent 调用都禁止。
156
- 3. 我下一个动作是不是「Task / subagent_type=…」?是 → 立刻停手,改为本会话工具直接产出(Read / Write / Shell / Edit),或 `Blocked`。
157
- 4. 命中其中**任一** NEVER → 写一行 `## Blocked — recursive dispatch refused (<which NEVER>)` 回报 PM,**不**继续 invoke。
66
+ - 已分派角色的 Assignment:**禁止**用 `@explore` 代替实现/测试/审查/文档交付。
67
+ - 允许短窄只读辅助;`glob`/`grep`/`read` 够用时不必 `@explore`。
68
+ - PM 分派前摸底:**推荐**;分派后承接方**勿**转包。
158
69
 
159
70
  ## 长任务纪律
160
71
 
161
- - 非平凡任务须有可追踪清单(plan `tasks` 或等价 Todo),**逐项关门**并保留核对痕迹。
162
- - 承接方长时间无产出或偏离 `Acceptance Criteria` 时,`@project-manager` 应拉回对照 Phase Gate 与任务列表。
163
- - 宣称完成、sign-off 或合并结论前,须满足可核对证据(与 `mstar-superpowers-align` 中 `verification-before-completion` 一致)。
164
-
165
- ## 并行规则(摘要)
166
-
167
- - 独立模块可并行;避免写操作归属重叠。
168
- - 跨领域变更时,先锁定接口契约再并行编码。
169
- - **串行多批** ≠ **全程仅 `fullstack-dev`**:纯后端多单元仍可在 `fullstack-dev` / `fullstack-dev-2` 间串行 round-robin(见 `mstar-roles` skill 的 `project-manager` 角色 Dev 三角 §6)。
170
- - **QC 三审**在 feature 开发完成后执行,三名 reviewer 共用同一组 `Review cwd` / `Working branch` / `plan_id` / `Review range` / `Diff basis`。
171
- - **同一 plan 多 batch**:默认**仅**对整 plan 交付完成跑一轮完整三审;复验波次用新文件名(详见 `mstar-plan-conventions` 与 `mstar-review-qc`)。
172
- - 完整并发/worktree/QC 对齐规则见 `references/branch-and-worktree.md`。
173
-
174
- ### 并发分派完整性门禁(PM 强制)
175
-
176
- 当 PM 声明“并发分派”时,必须同时满足**文案并发**与**工具并发**:
177
-
178
- - **工具并发定义**:同一调度轮次内,需并发的多个 subagent 调用必须在**同一条 assistant 消息**里一次性发出。
179
- - **QC 三审硬门禁**:`qc-specialist` / `qc-specialist-2` / `qc-specialist-3` 必须在同一条消息内全部发起;只发其中一个不算“三审已并发启动”。
180
- - **禁止误报**:若实际仅发起 1 个调用,状态应标记为 `Blocked` 或 `dispatch incomplete`,不得写“已启动 QC 三审并行”。
181
- - **先自检再发送**:发送前核对“Assignment 条数 = 本条消息中的实际 **派发** 调用条数”;不一致时先补齐再发。
182
- - **前置步骤与派发回合分离(防串行 rollout)**:为并发派发做准备的 **`bash` / `read` / `glob` / `grep`**(例如算 `merge-base`、确认 `Review range`、核对 `git rev-parse`)**不计入** `N` 个 subagent/Task **派发**调用;这些可在**仅含准备工作的 assistant 消息**里完成。一旦准备完成,**紧接着的下一条**(或明确标为「派发回合」的)assistant 消息中,须**一次性**含 **`N` 次**指向各 `Execute as` 目标的 **Task / subagent invoke**。**禁止**在派发回合先发 `1` 次、等子代理返回后再在同主题下补发其余 `N-1` 次——那是**串行 rollout**,不是并行启动。
183
- - **未齐不发(emit zero until batch-ready)**:若本回合需并发 `N≥2` 而当前只能发出 `1` 条 invoke(例如另两条 Assignment 尚未贴好或参数未齐),则**本条消息应发出 `0` 条派发 invoke**(可继续只做 read/bash 或停顿补齐),**禁止**“先发一个顶一下”;待 `N` 份 payload 与 `N` 个调用位都就绪后,**单次消息发满 `N`**。OpenCode 细则见 **`mstar-host-opencode`**「OpenCode PM: dispatch order」。
184
-
185
- ### 具名 subagent 宿主(如 OpenCode):文案分派 ≠ 调度完成
186
-
187
- 在支持 **具名角色 / Task 入口** 的宿主上,`## Assignment` **正文本身不会**拉起子会话。PM 必须在**同一条 assistant 消息**(或宿主规定的等价机制)中发出与 Assignment **条数一致**的 **invoke / Task**;仅打印 Markdown 视为 **分派未完成**(见当前宿主的 `mstar-host` skill,OpenCode 见 **`mstar-host-opencode`** 中 **「OpenCode PM: dispatch order」**)。**两条并行实现轨**与 **QC 三审** 一样:**几条 Assignment ⇒ 几次 tool 调用**(默认同消息并行发出)。
188
-
189
- ## 分层上下文(大型仓库,可选)
72
+ 可追踪清单(plan `tasks` Todo);偏离时 PM 拉回;完成前须可核对证据(**`mstar-superpowers-align`** · `verification-before-completion`)。
190
73
 
191
- 对体量很大的单体或多包仓库,可在业务项目内按目录维护层级 `AGENTS.md`(模块边界、约定、禁区)。由项目维护者按需引入;本 harness 不强制自动生成。
74
+ ## 专题 skill 索引
192
75
 
193
- 理念层:`references/open-harness-principles.md`。
76
+ | Skill | 职责 |
77
+ |-------|------|
78
+ | **`mstar-harness-core`** | 本文件:入口、状态机、Task category、explore、索引、护栏 |
79
+ | `mstar-phase-gates` | Prepare/Execute、意图门禁、hotfix、可验证编辑 |
80
+ | `mstar-dispatch-gates` | 派发、Delegation、反递归、并行 invoke、QC 同消息三审 |
81
+ | `mstar-branch-worktree` | 功能分支、worktree、QC/QA 检出对齐 |
82
+ | `mstar-plan-conventions` | `{HARNESS_DIR}` 发现、初始化、Spec 分支模型摘要 |
83
+ | `mstar-plan-artifacts` | 主 plan、reports、`status.json`、residual、knowledge、Done 归档 |
84
+ | `mstar-review-qc` | QC 工作流、模板、verdict、residual 留档 |
85
+ | `mstar-coding-behavior` | Think / Simplicity / Surgical / Goal-Driven |
86
+ | `mstar-superpowers-align` | Superpowers × harness 优先级与短语 |
87
+ | `mstar-roles` | 角色正文 hub |
194
88
 
195
- ## 库文档检索协议(Context7,共享)
89
+ ## 宿主 `mstar-host`
196
90
 
197
- 回答涉及具体框架、SDK、CLI、云服务的 API 与配置问题时,使用本共享协议;不在宿主专属 skill 重复维护。
91
+ | 宿主 | 要点 |
92
+ |------|------|
93
+ | OpenCode | 根 `AGENTS.md` → 本 skill;`question`、`@explore` |
94
+ | Cursor | 会话先 Read 本 skill;Task 并行 QC |
95
+ | 其它 | 初始化时强制 Read 本 skill |
198
96
 
199
- ### 目标与边界
200
-
201
- - **目标**:优先使用现行文档,降低版本漂移导致的错误回答。
202
- - **不适用**:纯重构、从零写脚本、业务逻辑排错、代码评审、泛化编程概念。
203
-
204
- ### 单一路径规则(禁止双跑)
205
-
206
- 1. **主路径:Context7 MCP(可用时)**
207
- - 先读 MCP 工具 schema,再调用文档查询工具。
208
- - 查询句使用用户完整问题;版本相关时选择带版本信息的 library ID。
209
- 2. **备用路径:ctx7 CLI(MCP 不可用时)**
210
- - `npx ctx7@latest library <name> "<user question>"`
211
- - `npx ctx7@latest docs <libraryId> "<user question>"`
212
- - 单问题最多 3 次命令;命令中不得包含密钥。
213
-
214
- - **禁止**:同一问题内对同一库同时使用 MCP 与 CLI 做重复全量拉取。
215
- - **降级策略**:仅在主路径失败时切换备用路径。
216
-
217
- ## 升级触发(人工介入)
218
-
219
- - 澄清尝试后验收标准仍模糊
220
- - 评审结论冲突且证据强度相当
221
- - 重复实现失败表明缺少的是能力而非努力
222
- - 根因无法在合理成本下收敛且继续修改代码风险高于等待人工决策
223
-
224
- 升级报告包含:当前状态、可选方案与权衡、推荐路径。
225
-
226
- ## 反模式
227
-
228
- - **QC 三审串行 rollout**:仅发起 `qc-specialist`(或仅 1 次 Task),待其返回后再发起 `qc-specialist-2` / `-3`,或把三次派发拆在**多条** assistant 消息里逐条发出——**不是** harness 定义的「并行三审已启动」;应标 **`dispatch incomplete`** 或 **`Blocked`** 并重派。**正确形态**:前提信息可在上一条消息收集;**派发那条消息须含 3 次 invoke**(见上节「前置步骤与派发回合分离」与 `mstar-host-opencode`)。
229
- - 角色文件中塞入本应在 skills 中的流程说明导致 prompt 膨胀。
230
- - 在代码中做出隐藏的策略决策而不更新 plan。
231
- - 没有测试或行为证据就声明完成。
232
- - 不改变约束或工具就重复走同一条失败路径。
233
- - 未重读文件即反复 Patch;对 apply 失败用同一过时锚点连试。
234
- - 意图未收敛即实现。
235
- - 将 **`Task category: quick`** 当成可跳过 **`specify → clarify → plan`** 的借口,或把「新 CLI / 新依赖 / 新测试 / 多模块」误标为 **`quick`** 以快进实现(见上节「`Task category` 与 Prepare 门禁」)。
236
- - 省略 `Task category` 导致角色/模型选择错配(除非极简 explore-only 且路由表已唯一)。
237
- - **承接方递归误派**:在 leaf executor 会话里再 invoke 与自身 `Execute as` 同名的 `subagent_type`,或把 Assignment 中的 **Handoff / QA note / Completion Report 角色列表 / 多计划或多轨并行类编排措辞** 当作 invoke 指令;细则见上节「承接方反递归红线」。
97
+ ## 护栏(不变量)
238
98
 
239
- ## 可选插件:OpenViking Memory(OpenCode)
99
+ - 未经用户同意不改 `opencode.json`、凭据、`secrets.env`。
100
+ - 行为变更须有验证证据。
101
+ - 业务仓默认功能分支(Assignment `Branch policy` 例外)→ **`mstar-branch-worktree`**。
102
+ - **Dev 三角**:`@fullstack-dev` 后端主导;UI → `@frontend-dev`;第二轨 → `@fullstack-dev-2`(`mstar-roles` PM 节)。
103
+ - 工期仅 agent-oriented → **`mstar-plan-conventions`** · effort-estimation。
104
+ - `writing-plans` 落盘 `{PLAN_DIR}`,非 `docs/superpowers/plans/`。
105
+ - PM Assignment 键名英文;任务正文可中文;产出/报告默认英文。
240
106
 
241
- **适用条件**:当前会话工具列表中存在 **`memsearch`**(通常与同插件的 `memread` / `membrowse` / `memcommit` 一起出现)时,表示 OpenViking Memory 已接入。
107
+ ## 库文档(Context7)
242
108
 
243
- **规则 SSOT**:与 Morning Star harness 的对齐方式、禁止事项与工具用法见 **`references/openviking-memory-plugin.md`**。**未**出现上述工具时,不必 Read 该 reference;不得把记忆检索当作可绕过门禁或许可证。
109
+ 框架/SDK/API 问题 **`references/library-docs-protocol.md`**(MCP 优先,CLI 兜底,禁双跑)。
244
110
 
245
- ## Morning Star Skill 索引
111
+ ## 升级触发
246
112
 
247
- 下列 skills 承载 harness 全部执行向规则。角色运行时先按本 skill 进入,再按角色职责按需加载对应 skill。
113
+ 验收仍模糊、评审冲突、重复失败、根因不可收敛 升级报告(状态、方案、推荐路径)。
248
114
 
249
- | Skill | 职责范围 |
250
- |---|---|
251
- | **本 skill `mstar-harness-core`** | 总入口与不变量:状态机、Spec-Driven 双阶段门禁、Task category、`@explore` 边界、并行规则、Git 分支 / worktree、QC-QA 检出对齐、调度防串扰、升级触发、反模式、**Context7 共享检索协议**、宿主入口、最小交付循环 |
252
- | `mstar-plan-conventions` | `{HARNESS_DIR}` / `{PLAN_DIR}` / `{ITERATION_DIR}` / `{KNOWLEDGE_DIR}` / `{SPECS_DIR}` 发现与初始化、`docs/` 与 harness 子树内容边界、`status.json` SSOT、residual findings(severity 枚举 / 生命周期 / 归档)、`notes.json`、`tech_debt_summary`、reports 命名、QC 三审触发时机、Done 瘦身 Profile A/B、工期预估(agent-oriented only) |
253
- | `mstar-roles` | 角色提示词总线:`agents/*.md` 仅保留 frontmatter + 参数绑定;完整角色正文在 `mstar-roles` skill 的 `references/`(含重复角色共享 reference) |
254
- | `mstar-review-qc` | QC 审查基线:工作流、清单、标准报告 Markdown 模板(YAML frontmatter + Findings 三档 + Summary + Verdict)、高危变更最小检查、门禁(Approve / Request Changes / Needs Discussion)、CI 门禁、residual 留档 |
255
- | `mstar-coding-behavior` | 跨角色通用编码行为:Think Before Coding / Simplicity First / Surgical Changes / Goal-Driven Execution |
256
- | `mstar-superpowers-align` | Morning Star × Superpowers:加载契约、最小声明契约、编排触发短语表、per-role 必用/宜用、`subagent-driven-development` 与 implementer-prompt 降权、QC 三审 × `using-git-worktrees` 叠用约束、张力与消解表 |
115
+ ## 反模式(索引)
257
116
 
258
- **维护(Cursor,非上表运行时路径)**:PM 路由场景回归、`routing-evals.json`、`Routing Eval Report` 模板由 **`.cursor/skills/mstar-routing-eval/`** 维护;变更 PM 路由或 harness 门禁时按 **`.cursor/rules/repo-maintenance.mdc`** 执行,**不**要求业务会话 Read 该 skill。
117
+ | 反模式 | 详见 |
118
+ |--------|------|
119
+ | QC 串行 rollout / dispatch incomplete | `mstar-dispatch-gates` |
120
+ | 递归误派 / 误读 Handoff | `mstar-dispatch-gates` |
121
+ | `quick` 跳过 Prepare | 上表 + `mstar-phase-gates` |
122
+ | 多 worktree 未归并就 QC | `mstar-branch-worktree` |
123
+ | residual 只写 plan 不写 SSOT | `mstar-plan-artifacts` |
124
+ | 角色文件塞流程长文 | 用专题 skill |
125
+ | 无证据宣称完成 | `mstar-coding-behavior` / verification |
259
126
 
260
- ## 宿主的 **mstar-host** 技能以及它们的区别
127
+ ## 可选:OpenViking Memory
261
128
 
262
- 可以通过宿主加载名为 `mstar-host` 它们同名,但在不同宿主下有不同的描述。
129
+ 会话有 **`memsearch`** 工具时 Read **`references/openviking-memory-plugin.md`**。
263
130
 
264
- | 宿主 | 启动方式与职责范围 |
265
- |---|---|
266
- | **OpenCode** | 每会话自动注入根目录 `AGENTS.md`(其内容就是把你指到本 skill);支持内置 `question` 工具、`@explore` / `@general`、按角色模型可调 subagent;差异细节见加载到的 `mstar-host` skill |
267
- | **Cursor** | 不自动注入 `AGENTS.md`;会话启动时先 Read 本 skill;`/pm` 等指令走 PM 角色;可用 **Task** 工具并行拉起 QC 三审;差异细节见宿主加载到的 `mstar-host` skill |
268
- | 其它宿主 | 按宿主支持的 Rules / Skills 机制在会话初始化时强制 Read 本 skill;其它 `mstar-*` skill 按本 skill 的索引表按需加载 |
131
+ ## References(保留在 core)
269
132
 
270
- ## 护栏(不变量)
133
+ - `references/open-harness-principles.md` — 理念与分层 `AGENTS.md`
134
+ - `references/library-docs-protocol.md` — Context7
135
+ - `references/openviking-memory-plugin.md` — 条件加载
271
136
 
272
- - 未经用户**明确同意**,不得修改 `opencode.json`、凭据文件或 `secrets.env`。
273
- - 行为变更必须有对应验证证据;拒绝未记录的破坏性变更。
274
- - 对业务 Git 仓库的可合并改动,默认在功能分支上完成(除 Assignment 显式写 `Branch policy` 例外)。
275
- - **Dev 三角**:`@fullstack-dev` 后端主导;用户可见 UI / 多文件前端默认由 `@frontend-dev` 主责;独立第二实现轨用 `@fullstack-dev-2`。详见 `mstar-roles` skill 的 `project-manager` 角色「Dev 三角平衡」。
276
- - **同仓并行写入**:当 ≥2 个可写 subagent 并发修改同一 Git 仓库时,**必须**使用 `git worktree`(或等价独立检出)隔离;详见 `references/branch-and-worktree.md`。
277
- - **QC / QA 与 feature 检出**:三审与 QA 须在 PM 写明的 **`Review cwd` / `Worktree path`**、**`Working branch`**、**`plan_id`**、**`Review range` / `Diff basis`** 上对齐(三份 QC 与 QA 逐字相同)。
278
- - **工作量与工期表述**:只写 agent-oriented 预估;不得纳入人天 / FTE / 人类日历(见 `mstar-plan-conventions` `references/effort-estimation.md`)。
279
- - **结构化澄清**:宿主提供 `question` 类工具时优先使用;宿主差异以对应的 `mstar-host` skill 为准。
280
- - 执行 Superpowers `writing-plans` 时计划文件落在 `mstar-plan-conventions` 解析到的 `{PLAN_DIR}`,不得默认写入 `docs/superpowers/plans/`。
281
- - **语言约定**(PM 编排场景):Assignment 字段名保持既定英文键名;字段值中的任务描述正文默认可用中文;执行产出与报告默认英文。
282
-
283
- ## 知识库目标
284
-
285
- - 保持角色提示词聚焦且稳定(长正文走 `mstar-roles` 的 references)。
286
- - 将可复用的流程知识从角色文件中抽离进 `mstar-*` skills。
287
- - 使行为可审计、易演进;单一 SSOT、skill-name 引用,不散落绝对路径。
288
-
289
- ## References
290
-
291
- - `references/phase-gate-playbook.md` — Phase Gate 执行手册:各阶段角色动作与最小证据要求。
292
- - `references/branch-and-worktree.md` — 功能分支门禁 / 分支协作契约 / 同仓并发 worktree / 多 worktree 并行开发与 QC-QA 衔接 / plan 集成分支推荐编排 / QC-QA 检出上下文对齐。
293
- - `references/open-harness-principles.md` — 意图门禁、Task category、可验证编辑、长任务纪律、分层 `AGENTS.md`、项目根 `AGENTS.md` 维护边界。
294
- - `references/library-docs-protocol.md` — Context7 文档检索共享协议(MCP 优先、CLI 兜底、禁双跑)。
295
- - `references/openviking-memory-plugin.md` — OpenViking Memory 工具(`memsearch` 等)与 harness 的对齐;**仅当**会话中存在 `memsearch` 工具时 Read。
137
+ **专题 skill**(规则在各自 `SKILL.md`):`mstar-phase-gates`、`mstar-branch-worktree`、`mstar-plan-artifacts` 等 — 见上表索引。
@@ -8,16 +8,16 @@
8
8
 
9
9
  | 理念 | 含义 | 在本仓库的落点 |
10
10
  |------|------|----------------|
11
- | **意图优先于字面** | 先弄清「用户真正要达成什么」,再分类与分派 | `mstar-harness-core` SKILL.md「意图门禁」;PM「第一性原理」与 `clarify` |
11
+ | **意图优先于字面** | 先弄清「用户真正要达成什么」,再分类与分派 | `mstar-phase-gates` SKILL.md Prepare · `clarify` / `plan` 意图门禁;PM「第一性原理」 |
12
12
  | **先准备再实现** | 访谈式规划、锁范围、再写代码 | Prepare:`specify -> clarify -> plan`;Execute:`plan locked -> tasks -> implement` |
13
- | **`clarify` 核心纪律** | 逐方面核对至共享理解;沿设计树逐枝、一次一决;能探索代码库则先探索;每问带推荐答案 | `mstar-harness-core` SKILL.md Prepare · `clarify`;`phase-gate-playbook.md` |
13
+ | **`clarify` 核心纪律** | 逐方面核对至共享理解;沿设计决策树逐枝、一次一决;能探索代码库则先探索;每问带推荐答案 | **`mstar-phase-gates`** SKILL.md(含 Phase Gate Playbook) |
14
14
  | **按任务类别选能力与模型** | 视觉/深读/快改/硬逻辑等用不同强项 | `mstar-harness-core` SKILL.md「Task category」;Assignment 字段 **`Task category`**;宿主侧按角色配置 model(如 OpenCode 的 `opencode.json`) |
15
- | **可验证编辑** | 减少「凭记忆 Patch」导致的漂移与损坏 | `mstar-harness-core` SKILL.md「可验证编辑与上下文纪律」:读后再改、失败则重读 |
15
+ | **可验证编辑** | 减少「凭记忆 Patch」导致的漂移与损坏 | `mstar-phase-gates` SKILL.md「可验证编辑与上下文纪律」:读后再改、失败则重读 |
16
16
  | **持续推进与可核对完成** | 长任务有清单、有关门证据,避免空转 | `mstar-superpowers-align` 的 `verification-before-completion`;PM 对 `tasks`/Phase Gate 的拉回 |
17
17
  | **编码行为约束(轻量)** | 降低静默假设、过度设计与无关改动 | `mstar-coding-behavior`:Think Before Coding / Simplicity First / Surgical Changes / Goal-Driven Execution |
18
- | **并行与边界** | 多线任务不踩同一写归属、不绕过分支门禁;**开发**阶段同仓多可写并发须独立 **`git worktree`**;**QC / QA** 在 **同一检出**(`Review cwd`)与 **同一 `plan_id` + `Review range` / `Diff basis`** 上审查与验证,保证三票同一功能 | `mstar-harness-core` SKILL.md「并行规则」与 `references/branch-and-worktree.md`;`mstar-review-qc`;`mstar-superpowers-align` **`using-git-worktrees`** |
18
+ | **并行与边界** | 多线任务不踩同一写归属、不绕过分支门禁;**开发**阶段同仓多可写并发须独立 **`git worktree`**;**QC / QA** 在 **同一检出**(`Review cwd`)与 **同一 `plan_id` + `Review range` / `Diff basis`** 上审查与验证,保证三票同一功能 | `mstar-branch-worktree`;`mstar-review-qc`;`mstar-superpowers-align` **`using-git-worktrees`** |
19
19
  | **分层上下文(可选)** | 大仓库用目录级 `AGENTS.md` 降噪;根 `AGENTS.md` 维护边界见下文专节 | `mstar-harness-core` SKILL.md「分层上下文」;由业务项目维护者按需添加 |
20
- | **结构化澄清(按宿主)** | 向用户澄清/抉择时,**有 `question` 类能力则优先**;否则结构化正文;长问兜底 | `mstar-harness-core` SKILL.md「Spec-Driven」下 `clarify`;当前宿主的 `mstar-host` skill;`mstar-roles` skill `project-manager` 角色 |
20
+ | **结构化澄清(按宿主)** | 向用户澄清/抉择时,**有 `question` 类能力则优先**;否则结构化正文;长问兜底 | `mstar-phase-gates` SKILL.md Prepare · `clarify`;当前宿主的 `mstar-host` skill;`mstar-roles` · `project-manager` |
21
21
 
22
22
  ## 与常见 harness 说法的对照(帮助理解角色分工)
23
23