@mingfuyun/star-allinone 0.4.18 → 0.4.20
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.
- package/docs/skills/dev-flow/gates.md +5 -2
- package/docs/skills/dev-flow/plan-template.md +2 -0
- package/docs/skills/dev-flow/session-file.md +21 -0
- package/docs/skills/dev-flow/session-protocol.md +4 -2
- package/docs/skills/overview.md +2 -2
- package/examples/AGENTS.md +1 -1
- package/package.json +1 -1
- package/scripts/cli.js +27 -0
- package/scripts/gen/doctor.js +28 -0
- package/skills/shared/api-to-service/SKILL.md +1 -1
- package/skills/shared/design-to-page/SKILL.md +1 -1
- package/skills/shared/dev-flow/SKILL.md +9 -5
- package/skills/shared/dev-flow/references/gates.md +5 -2
- package/skills/shared/dev-flow/references/plan-template.md +2 -0
- package/skills/shared/dev-flow/references/session-file.md +23 -0
- package/skills/shared/dev-flow/references/session-protocol.md +4 -2
- package/skills/shared/i-have-adhd/i-have-adhd.md +3 -1
- package/skills/shared/i-have-adhd/reply-layout.md +121 -0
- package/skills/shared/prism-mock/SKILL.md +1 -1
- package/skills/shared/publish-test/SKILL.md +1 -1
- package/skills/shared/review-and-submit/SKILL.md +1 -1
- package/skills/shared/tracking/SKILL.md +1 -1
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# 确认门禁口令
|
|
2
2
|
|
|
3
3
|
> 维护源:能力包 `docs/skills/dev-flow/gates.md`
|
|
4
|
-
>
|
|
4
|
+
> 跨仓统一。方案、提交、测发三道门禁互不推断。校验豁免不代替任何一道门禁。
|
|
5
5
|
|
|
6
6
|
| 门禁 | 口令(须字面接近) | 不可替代为 |
|
|
7
7
|
| --- | --- | --- |
|
|
8
|
-
| 方案 | `确认方案` | 「确认」「OK
|
|
8
|
+
| 方案 | `确认方案` | 「确认」「OK」、提交/测发口令。只用于需求或接口调整 |
|
|
9
9
|
| 提交 | `确认提交` / `确认提交并推送` | 方案确认、测发确认、「确认」单字 |
|
|
10
10
|
| 测发 | `确认推送流水线` / `发布测试环境` | push 成功、提交确认、方案确认 |
|
|
11
|
+
| 校验豁免 | `豁免校验继续提交` | 「继续吧」「OK」。只跳过 verify 拦截,之后仍须 `确认提交` |
|
|
12
|
+
|
|
13
|
+
只说「按照星系流程 提交代码」或「按照星系流程 发布流水线」时,不用方案门禁。
|
|
11
14
|
|
|
12
15
|
`确认方案` ≠ `确认提交` ≠ `确认推送流水线`
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 续跑会话文件
|
|
2
|
+
|
|
3
|
+
> 维护源:能力包 `docs/skills/dev-flow/session-file.md`
|
|
4
|
+
> 需求或接口调整需要跨会话续跑时,按下面的形状写入业务仓 `.agents/dev-flow-session.md`。没有进行中的单就不要创建。
|
|
5
|
+
|
|
6
|
+
```text
|
|
7
|
+
phase: await_plan
|
|
8
|
+
plan_confirmed: no
|
|
9
|
+
summary: …
|
|
10
|
+
blocked: 无
|
|
11
|
+
next_action: 用户回复「确认方案」
|
|
12
|
+
gates:
|
|
13
|
+
plan: waiting
|
|
14
|
+
commit: not_started
|
|
15
|
+
publish: not_started
|
|
16
|
+
verify_waiver: no
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`plan_confirmed` 只有用户说过 `确认方案` 才写 `yes`。禁止默认写成 `yes`。
|
|
20
|
+
|
|
21
|
+
只提交或只发布时不要补方案确认:`plan_confirmed` 保持 `no`,`phase` 用 `await_commit` 或 `await_publish`。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 会话协议(编排输出字段)
|
|
2
2
|
|
|
3
3
|
> 维护源:能力包 `docs/skills/dev-flow/session-protocol.md`
|
|
4
|
-
> 整单 /
|
|
4
|
+
> 整单 / 长会话的字段含义。是否出现、出现在回复的哪一段,以 `shared-i-have-adhd/reply-layout.md` 的「流程停住」为准。不要每轮都输出。
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -30,7 +30,9 @@
|
|
|
30
30
|
| `await_publish` | 等待测发确认词 |
|
|
31
31
|
| `done` | 本单目标已完成(或用户终止) |
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
单点 skill 不输出这些字段。只有 `reply-layout.md` 的「流程停住」才输出。
|
|
34
|
+
|
|
35
|
+
续跑文件的形状见 [session-file.md](session-file.md)。写入业务仓 `.agents/dev-flow-session.md`,不要另起字段名。
|
|
34
36
|
|
|
35
37
|
---
|
|
36
38
|
|
package/docs/skills/overview.md
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
| --- | --- | --- |
|
|
11
11
|
| 话术 | 「按星系流程…」「按流程做完 / 按流程改…」 | 「提交代码」「生成某接口」「发布测试环境」…(无串联话术) |
|
|
12
12
|
| 入口 | 先 `$custom-entry`(或「按星系标准 / 规范 / 流程」),再委托 internal `shared-dev-flow` | 先同一入口,再按 intents 单点委托 |
|
|
13
|
-
| 先出方案 | 仅需求或接口调整等 `确认方案`。`按照星系流程 提交代码`、`按照星系流程 发布流水线`
|
|
13
|
+
| 先出方案 | 仅需求或接口调整等 `确认方案`。`按照星系流程 提交代码`、`按照星系流程 发布流水线` 的用户可见回复与单点「提交代码」「发布测试环境」相同。排版都用 `reply-layout.md`,不附加 phase 或方案摘要 | 否(submit/publish 自带提案/确认) |
|
|
14
14
|
| 口径文档 | [dev-flow/](dev-flow/)(方案模板、SwaggerGate、Verify、会话字段、[gates.md](dev-flow/gates.md)) | 仍守各 skill 自身门禁 |
|
|
15
15
|
|
|
16
16
|
「按星系标准 / 按星系规范」只表示入 entry;不含「按流程」或「按星系流程」时仍走单点。是否串联不看改动大小。
|
|
17
17
|
|
|
18
18
|
口令:`确认方案` ≠ `确认提交` ≠ `确认推送流水线`(详见 [dev-flow/gates.md](dev-flow/gates.md))。`确认方案` 只用于需求和接口调整。校验失败后只有 `豁免校验继续提交` 可进入提交门,且仍须 `确认提交`。
|
|
19
19
|
|
|
20
|
-
业务仓每一轮对用户的回复都 Read 并遵守 `shared-i-have-adhd
|
|
20
|
+
业务仓每一轮对用户的回复都 Read 并遵守 `shared-i-have-adhd`。排版只认同目录 `reply-layout.md`,单点和整单相同,不按仓分版式。
|
|
21
21
|
|
|
22
22
|
## 用户入口
|
|
23
23
|
|
package/examples/AGENTS.md
CHANGED
|
@@ -19,7 +19,7 @@ Props for `MFProTable` are in `.agents/skills/shared-project-conventions/referen
|
|
|
19
19
|
|
|
20
20
|
In business repos, dialogue uses **one entry only**: `$custom-entry`. It reads this file and `custom-entry/references/*`, then delegates to `shared-*` or internal `custom-*`. Do not treat direct `$shared-*` as the production entry.
|
|
21
21
|
|
|
22
|
-
- Full requirement
|
|
22
|
+
- Full requirement or API change: intent `flow` → `shared-dev-flow`. Output a plan and wait for `确认方案` before code changes. Submit-only and publish-only phrases stay on the single-point skills and skip `确认方案`.
|
|
23
23
|
- One endpoint: via `$custom-entry` → `shared-api-to-service`, or `pnpm exec star-allinone gen service --operation "METHOD /path/"`.
|
|
24
24
|
- Pages: via `$custom-entry` → `shared-design-to-page`. Standard lists run `pnpm exec star-allinone gen page` inside that skill.
|
|
25
25
|
- Project health: `pnpm exec star-allinone doctor`.
|
package/package.json
CHANGED
package/scripts/cli.js
CHANGED
|
@@ -29,6 +29,7 @@ docs/skills/overview.md is copied to shared-project-conventions/references/skill
|
|
|
29
29
|
docs/skills/dev-flow/*.md is copied into skills/shared/dev-flow/references/ before that skill is synced.
|
|
30
30
|
It never writes ~/.codex/skills and never modifies custom-* skills.
|
|
31
31
|
If <project>/AGENTS.md is missing, it copies examples/AGENTS.md once.
|
|
32
|
+
If AGENTS.md exists, sync only replaces the pre-dev-flow fallback sentence and the missing command-card path.
|
|
32
33
|
|
|
33
34
|
doctor checks config, OpenAPI, MFRequest, MFProTable, skill sync, and bad imports.
|
|
34
35
|
|
|
@@ -134,6 +135,7 @@ const DEV_FLOW_REFERENCE_DOCS = [
|
|
|
134
135
|
'verify-commands.md',
|
|
135
136
|
'gates.md',
|
|
136
137
|
'session-protocol.md',
|
|
138
|
+
'session-file.md',
|
|
137
139
|
];
|
|
138
140
|
|
|
139
141
|
/** docs/skills/dev-flow/ is the only source; refresh skill references before sync. */
|
|
@@ -247,6 +249,7 @@ function syncProject(options) {
|
|
|
247
249
|
pruneStaleShared(destination, prefix, syncedNames, options);
|
|
248
250
|
writeSyncStamp(destination, prefix, syncedNames, options);
|
|
249
251
|
seedAgentsMarkdown(target, options);
|
|
252
|
+
refreshAgentsNotes(target, options);
|
|
250
253
|
console.log(`${options.dryRun ? 'Would sync' : 'Synced'} shared skills -> ${destination}`);
|
|
251
254
|
}
|
|
252
255
|
|
|
@@ -275,6 +278,30 @@ function seedAgentsMarkdown(target, options) {
|
|
|
275
278
|
if (!options.dryRun) fs.copyFileSync(source, dest);
|
|
276
279
|
}
|
|
277
280
|
|
|
281
|
+
const AGENTS_NOTE_REPLACEMENTS = [
|
|
282
|
+
[
|
|
283
|
+
'`shared-dev-flow` 就绪前:先出实现方案,等 `确认方案`,再按复合请求顺序执行',
|
|
284
|
+
'`shared-dev-flow`。需求或接口调整先出方案并等 `确认方案`。只提交或只发布不进状态机,回复与单点相同',
|
|
285
|
+
],
|
|
286
|
+
[
|
|
287
|
+
'完整口令卡见本机工作区 `dev-agent/研发流程-口令卡.md`(与团队文档同步时以此口径为准)。',
|
|
288
|
+
'完整口令见 `.agents/skills/shared-dev-flow/references/gates.md`(维护源:能力包 `docs/skills/dev-flow/gates.md`)。',
|
|
289
|
+
],
|
|
290
|
+
];
|
|
291
|
+
|
|
292
|
+
function refreshAgentsNotes(target, options) {
|
|
293
|
+
const dest = path.join(target, 'AGENTS.md');
|
|
294
|
+
if (!fs.existsSync(dest)) return;
|
|
295
|
+
const original = fs.readFileSync(dest, 'utf8');
|
|
296
|
+
let next = original;
|
|
297
|
+
for (const [from, to] of AGENTS_NOTE_REPLACEMENTS) {
|
|
298
|
+
if (next.includes(from)) next = next.split(from).join(to);
|
|
299
|
+
}
|
|
300
|
+
if (next === original) return;
|
|
301
|
+
console.log(`${options.dryRun ? '[dry-run] ' : ''}AGENTS.md flow notes`);
|
|
302
|
+
if (!options.dryRun) fs.writeFileSync(dest, next);
|
|
303
|
+
}
|
|
304
|
+
|
|
278
305
|
function main() {
|
|
279
306
|
const [group, command, ...rest] = process.argv.slice(2);
|
|
280
307
|
if (group === 'skills') {
|
package/scripts/gen/doctor.js
CHANGED
|
@@ -318,6 +318,34 @@ function runDoctor(cwd, options = {}) {
|
|
|
318
318
|
findings.push(check(true, 'ok', 'Overlay imports use @mingfuyun/star-allinone or none found'));
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
+
const agentsFile = path.join(root, 'AGENTS.md');
|
|
322
|
+
if (fs.existsSync(agentsFile)) {
|
|
323
|
+
const agents = fs.readFileSync(agentsFile, 'utf8');
|
|
324
|
+
if (agents.includes('就绪前') || agents.includes('研发流程-口令卡.md')) {
|
|
325
|
+
findings.push(check(false, 'error', 'AGENTS.md still has the pre-dev-flow fallback or a missing command-card path. Run skills sync'));
|
|
326
|
+
} else {
|
|
327
|
+
findings.push(check(true, 'ok', 'AGENTS.md flow sentence'));
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
const layoutFile = path.join(skillsDir, `${prefix}i-have-adhd`, 'reply-layout.md');
|
|
331
|
+
const gatesFile = path.join(skillsDir, `${prefix}dev-flow`, 'references', 'gates.md');
|
|
332
|
+
const sessionFile = path.join(skillsDir, `${prefix}dev-flow`, 'references', 'session-file.md');
|
|
333
|
+
if (!fs.existsSync(layoutFile) || !fs.readFileSync(layoutFile, 'utf8').includes('## 测发结果')) {
|
|
334
|
+
findings.push(check(false, 'error', 'reply-layout.md is missing the 测发结果 block. Run skills sync'));
|
|
335
|
+
} else {
|
|
336
|
+
findings.push(check(true, 'ok', 'reply-layout.md'));
|
|
337
|
+
}
|
|
338
|
+
if (!fs.existsSync(gatesFile) || !fs.readFileSync(gatesFile, 'utf8').includes('豁免校验继续提交')) {
|
|
339
|
+
findings.push(check(false, 'error', 'gates.md is missing 豁免校验继续提交. Run skills sync'));
|
|
340
|
+
} else {
|
|
341
|
+
findings.push(check(true, 'ok', 'gates.md exemption'));
|
|
342
|
+
}
|
|
343
|
+
if (!fs.existsSync(sessionFile) || !fs.readFileSync(sessionFile, 'utf8').includes('plan_confirmed')) {
|
|
344
|
+
findings.push(check(false, 'error', 'session-file.md is missing. Run skills sync'));
|
|
345
|
+
} else {
|
|
346
|
+
findings.push(check(true, 'ok', 'session-file.md'));
|
|
347
|
+
}
|
|
348
|
+
|
|
321
349
|
printReport(root, findings);
|
|
322
350
|
return findings;
|
|
323
351
|
}
|
|
@@ -60,4 +60,4 @@ Parse changed JSON files. Search generated names, operationId, and exact API pat
|
|
|
60
60
|
|
|
61
61
|
## User-facing output
|
|
62
62
|
|
|
63
|
-
Read
|
|
63
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The user-visible reply is only that file's 通用结果 block. Do not invent another layout.
|
|
@@ -94,4 +94,4 @@ When tracking is configured, scan changed page files: toolbar `track`, action `t
|
|
|
94
94
|
|
|
95
95
|
## User-facing output
|
|
96
96
|
|
|
97
|
-
Read
|
|
97
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The user-visible reply is only that file's 通用结果 block. Do not invent another layout.
|
|
@@ -45,9 +45,13 @@ disable-model-invocation: true
|
|
|
45
45
|
|
|
46
46
|
## 每轮输出
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
排版只认 `.agents/skills/shared-i-have-adhd/reply-layout.md`。不要在本 skill 里另写一套。
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
测发结果用该文件的「测发结果」,不附流程停住,包括本单因此进入 `done` 的那一条。
|
|
51
|
+
|
|
52
|
+
需求或接口调整停下来等用户时,正文用该文件点名的章节,再按「流程停住」附在最后一句之后。先决分流和 skill 执行过程中不要附,也不要为此再读文件。
|
|
53
|
+
|
|
54
|
+
需要停住等用户、且这条不是测发结果时,流程停住写成:
|
|
51
55
|
|
|
52
56
|
```text
|
|
53
57
|
phase: <intake|plan|await_plan|swagger_gate|implement|verify|await_commit|await_publish|done>
|
|
@@ -58,7 +62,7 @@ next_action: …
|
|
|
58
62
|
|
|
59
63
|
需求或接口调整进入 `await_plan` / `await_commit` / `await_publish` 时,附上当前方案摘要。先决分流的提交或发布不附。
|
|
60
64
|
|
|
61
|
-
需求或接口调整的每一轮回复都先 Read 并遵守 `.agents/skills/shared-i-have-adhd/i-have-adhd.md`。
|
|
65
|
+
需求或接口调整的每一轮回复都先 Read 并遵守 `.agents/skills/shared-i-have-adhd/i-have-adhd.md` 和 `reply-layout.md`。
|
|
62
66
|
|
|
63
67
|
可选:把 phase、方案摘要、门禁状态写入仓库 `.agents/dev-flow-session.md`。续跑时若该文件存在,优先读它。
|
|
64
68
|
|
|
@@ -66,7 +70,7 @@ next_action: …
|
|
|
66
70
|
|
|
67
71
|
新会话继续同一单时:
|
|
68
72
|
|
|
69
|
-
1. 先读 `.agents/dev-flow-session.md
|
|
73
|
+
1. 先读 `.agents/dev-flow-session.md`(若有)。没有就请用户确认上一 `phase`。文件形状以 [references/session-file.md](references/session-file.md) 为准,`plan_confirmed` 禁止默认 `yes`。
|
|
70
74
|
2. 上一阶段是需求或接口调整,且没确认过方案:从 `plan` 或 `await_plan` 恢复。**禁止**默认方案已确认。
|
|
71
75
|
3. 上一阶段只是提交代码或发布流水线:从 `await_commit` 或 `await_publish` 恢复,不要补 `确认方案`。
|
|
72
76
|
4. 不确定上一阶段是哪一种:问一句,不要默认已经 `确认方案`。
|
|
@@ -143,7 +147,7 @@ Read 并原样执行 `.agents/skills/shared-review-and-submit/SKILL.md`。停住
|
|
|
143
147
|
|
|
144
148
|
### await_publish
|
|
145
149
|
|
|
146
|
-
仅当用户明确要测发(例如「发布测试环境」「要」)后进入本阶段。再等待 `确认推送流水线` 或 `发布测试环境`,然后 Read 并原样执行 `.agents/skills/shared-publish-test/SKILL.md`。
|
|
150
|
+
仅当用户明确要测发(例如「发布测试环境」「要」)后进入本阶段。再等待 `确认推送流水线` 或 `发布测试环境`,然后 Read 并原样执行 `.agents/skills/shared-publish-test/SKILL.md`。跑完后的用户可见回复只有 `reply-layout.md` 的「测发结果」,不附 `phase`。
|
|
147
151
|
|
|
148
152
|
用户说不测发 → `done`,不跑 publish。
|
|
149
153
|
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
# 确认门禁口令
|
|
4
4
|
|
|
5
5
|
> 维护源:能力包 `docs/skills/dev-flow/gates.md`
|
|
6
|
-
>
|
|
6
|
+
> 跨仓统一。方案、提交、测发三道门禁互不推断。校验豁免不代替任何一道门禁。
|
|
7
7
|
|
|
8
8
|
| 门禁 | 口令(须字面接近) | 不可替代为 |
|
|
9
9
|
| --- | --- | --- |
|
|
10
|
-
| 方案 | `确认方案` | 「确认」「OK
|
|
10
|
+
| 方案 | `确认方案` | 「确认」「OK」、提交/测发口令。只用于需求或接口调整 |
|
|
11
11
|
| 提交 | `确认提交` / `确认提交并推送` | 方案确认、测发确认、「确认」单字 |
|
|
12
12
|
| 测发 | `确认推送流水线` / `发布测试环境` | push 成功、提交确认、方案确认 |
|
|
13
|
+
| 校验豁免 | `豁免校验继续提交` | 「继续吧」「OK」。只跳过 verify 拦截,之后仍须 `确认提交` |
|
|
14
|
+
|
|
15
|
+
只说「按照星系流程 提交代码」或「按照星系流程 发布流水线」时,不用方案门禁。
|
|
13
16
|
|
|
14
17
|
`确认方案` ≠ `确认提交` ≠ `确认推送流水线`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!-- 维护源:能力包 docs/skills/dev-flow/session-file.md — 勿在业务仓改此副本 -->
|
|
2
|
+
|
|
3
|
+
# 续跑会话文件
|
|
4
|
+
|
|
5
|
+
> 维护源:能力包 `docs/skills/dev-flow/session-file.md`
|
|
6
|
+
> 需求或接口调整需要跨会话续跑时,按下面的形状写入业务仓 `.agents/dev-flow-session.md`。没有进行中的单就不要创建。
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
phase: await_plan
|
|
10
|
+
plan_confirmed: no
|
|
11
|
+
summary: …
|
|
12
|
+
blocked: 无
|
|
13
|
+
next_action: 用户回复「确认方案」
|
|
14
|
+
gates:
|
|
15
|
+
plan: waiting
|
|
16
|
+
commit: not_started
|
|
17
|
+
publish: not_started
|
|
18
|
+
verify_waiver: no
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`plan_confirmed` 只有用户说过 `确认方案` 才写 `yes`。禁止默认写成 `yes`。
|
|
22
|
+
|
|
23
|
+
只提交或只发布时不要补方案确认:`plan_confirmed` 保持 `no`,`phase` 用 `await_commit` 或 `await_publish`。
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# 会话协议(编排输出字段)
|
|
4
4
|
|
|
5
5
|
> 维护源:能力包 `docs/skills/dev-flow/session-protocol.md`
|
|
6
|
-
> 整单 /
|
|
6
|
+
> 整单 / 长会话的字段含义。是否出现、出现在回复的哪一段,以 `shared-i-have-adhd/reply-layout.md` 的「流程停住」为准。不要每轮都输出。
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -32,7 +32,9 @@
|
|
|
32
32
|
| `await_publish` | 等待测发确认词 |
|
|
33
33
|
| `done` | 本单目标已完成(或用户终止) |
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
单点 skill 不输出这些字段。只有 `reply-layout.md` 的「流程停住」才输出。
|
|
36
|
+
|
|
37
|
+
续跑文件的形状见 [session-file.md](session-file.md)。写入业务仓 `.agents/dev-flow-session.md`,不要另起字段名。
|
|
36
38
|
|
|
37
39
|
---
|
|
38
40
|
|
|
@@ -8,6 +8,8 @@ These rules apply to every response for the rest of the session, not only this o
|
|
|
8
8
|
|
|
9
9
|
Turn them off only when the reader says "stop adhd mode" or "normal mode". Confirm in one line, then return to your default style.
|
|
10
10
|
|
|
11
|
+
The shape of every reply is `reply-layout.md` in this directory. Synced path: `.agents/skills/shared-i-have-adhd/reply-layout.md`. Single skills and dev-flow both use it. Project docs do not restyle it.
|
|
12
|
+
|
|
11
13
|
## What ADHD changes about reading
|
|
12
14
|
|
|
13
15
|
Five facts drive every rule below:
|
|
@@ -120,7 +122,7 @@ Override the defaults when:
|
|
|
120
122
|
4. Real ambiguity in the request. One short clarifying question beats guessing and rewriting.
|
|
121
123
|
5. A rule fights the task. When a rule would delete the answer itself, the task wins; the shape stays. Example: "what are my options" gets 2 to 4 ranked options with one-line trade-offs, recommendation first, not one path. The options are the answer.
|
|
122
124
|
6. A rule fights the harness. Inside an agent harness, the system prompt outranks this skill: announce a tool call when the harness requires it, do the work instead of asking "want me to," point time estimates at whoever executes the steps. Same principle as 5: the constraint wins, the shape stays.
|
|
123
|
-
7. The message
|
|
125
|
+
7. The message is a 提交等待, 测发结果, 实现方案, or 通用结果. Use the matching block in `reply-layout.md`. Do not collapse those sections, and do not restyle the field table.
|
|
124
126
|
|
|
125
127
|
## Pre-send check
|
|
126
128
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# 对话排版
|
|
2
|
+
|
|
3
|
+
唯一排版。单点 skill 和 `shared-dev-flow` 都用这一份。所有业务仓相同。
|
|
4
|
+
|
|
5
|
+
`AGENTS.md`、`project-rules.md`、`conventions.md` 不规定排版。不能改第一句、表头、章节名或末句,也不能改成框线表或圆点。
|
|
6
|
+
|
|
7
|
+
## 骨架
|
|
8
|
+
|
|
9
|
+
给用户的每一条回复都是下面四段。没有内容的段整段删掉。
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
<第一句:结果,或要用户现在做的一件事>
|
|
13
|
+
|
|
14
|
+
| 项 | 值 |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| <字段> | <值> |
|
|
17
|
+
|
|
18
|
+
<正文:只有本文件点名的章节>
|
|
19
|
+
|
|
20
|
+
<最后一句:下一步。第一句已经是下一步、且没有别的动作时,删掉本句>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
禁止:
|
|
24
|
+
|
|
25
|
+
- 用框线表或圆点代替 `| 项 | 值 |`
|
|
26
|
+
- 用项目名、仓名、skill 名当开场
|
|
27
|
+
- 在表里写过的事实,正文再讲一遍
|
|
28
|
+
- 输出 `phase` / `done` / `blocked` / `next_action`,除下面的「流程停住」
|
|
29
|
+
|
|
30
|
+
## 通用结果
|
|
31
|
+
|
|
32
|
+
接口、页面、埋点、Prism、校验完成,用这张表。按事实删行,最多 5 行。
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
<一句结果>
|
|
36
|
+
|
|
37
|
+
| 项 | 值 |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| 做了什么 | <一句话> |
|
|
40
|
+
| 改动 | <路径> |
|
|
41
|
+
| 校验 | <命令:通过或失败> |
|
|
42
|
+
| 未做 | <没有则删掉这一行> |
|
|
43
|
+
|
|
44
|
+
<下一步的那一句>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 测发结果
|
|
48
|
+
|
|
49
|
+
整条回复只有这些。没有正文,没有流程停住。
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
测试流水线已触发。
|
|
53
|
+
|
|
54
|
+
| 项 | 值 |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| 分支 | <branch> |
|
|
57
|
+
| 提交 | <commit subject> |
|
|
58
|
+
| Pipeline | <publishPipelineId> |
|
|
59
|
+
| Run | <run id> |
|
|
60
|
+
| 状态 | <status> |
|
|
61
|
+
| Commit 校验 | <已核对 \| unavailable(云效尚未回传,可接受)> |
|
|
62
|
+
|
|
63
|
+
去云效看 Run <run id> 即可。
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
失败时第一句写原因,六行保留,最后一句写一个修复动作。不要写「已触发」。`状态` 用脚本原文。提交只写 subject。云效还没回当前提交时,校验格用上面这句 unavailable,不要改写。
|
|
67
|
+
|
|
68
|
+
## 提交等待
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
回复「确认提交」或「确认提交并推送」后才会写入 Git。
|
|
72
|
+
|
|
73
|
+
## 影响面
|
|
74
|
+
|
|
75
|
+
<shared-review-and-submit 规定的内容>
|
|
76
|
+
|
|
77
|
+
## 审查
|
|
78
|
+
|
|
79
|
+
<shared-review-and-submit 规定的内容>
|
|
80
|
+
|
|
81
|
+
## 修改范围
|
|
82
|
+
|
|
83
|
+
<shared-review-and-submit 规定的内容>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
不要另写清单,不要收成「未发现阻断问题」。不要流程停住。
|
|
87
|
+
|
|
88
|
+
## 实现方案
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
回复「确认方案」后才会改业务代码。
|
|
92
|
+
|
|
93
|
+
## 实现方案
|
|
94
|
+
|
|
95
|
+
<plan-template.md 的输出骨架>
|
|
96
|
+
|
|
97
|
+
回复「确认方案」继续。
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
然后按「流程停住」附在末句之后。
|
|
101
|
+
|
|
102
|
+
## 是否测发
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
是否发布测试环境?
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
然后按「流程停住」附上,`phase` 为 `await_publish`。
|
|
109
|
+
|
|
110
|
+
## 流程停住
|
|
111
|
+
|
|
112
|
+
只有需求或接口调整停下来等用户时,加在最后一句之后:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
phase: <intake|plan|await_plan|swagger_gate|implement|verify|await_commit|await_publish|done>
|
|
116
|
+
done: <本轮已完成的动作>
|
|
117
|
+
blocked: 无 | <原因>
|
|
118
|
+
next_action: <谁做、做什么>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
测发结果、只提交、只发布、以及 skill 执行过程中,都不要这一块。
|
|
@@ -33,4 +33,4 @@ disable-model-invocation: true
|
|
|
33
33
|
|
|
34
34
|
## User-facing output
|
|
35
35
|
|
|
36
|
-
Read
|
|
36
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The user-visible reply is only that file's 通用结果 block. Do not invent another layout.
|
|
@@ -70,4 +70,4 @@ The dashboard comment is `BUILD_REMARK` and contains branch, commit subject, and
|
|
|
70
70
|
|
|
71
71
|
## User-facing output
|
|
72
72
|
|
|
73
|
-
Read
|
|
73
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The user-visible reply is only that file's 测发结果 block. Fill every cell from the script result. Do not invent another layout.
|
|
@@ -72,7 +72,7 @@ If the user says `提交代码` before a review proposal exists, run the three s
|
|
|
72
72
|
|
|
73
73
|
## User-facing output
|
|
74
74
|
|
|
75
|
-
Read
|
|
75
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The message that waits for confirmation is only that file's 提交等待 block. Fill the three sections from this skill. Do not invent another layout.
|
|
76
76
|
|
|
77
77
|
The message that waits for `确认提交` or `确认提交并推送` is the review report. Reuse the three workflow steps above. Do not write a second checklist, and do not replace the report with `未发现阻断问题` plus a commit subject. A one-line diff does not shorten it. ADHD mode may put the confirmation phrase on the first line. It must not delete these sections:
|
|
78
78
|
|
|
@@ -418,4 +418,4 @@ antd `Tabs`、`Segmented`、`Radio.Group` 以及业务页签容器,切换时
|
|
|
418
418
|
|
|
419
419
|
## User-facing output
|
|
420
420
|
|
|
421
|
-
Read
|
|
421
|
+
Read `.agents/skills/shared-i-have-adhd/i-have-adhd.md` and `reply-layout.md`. The user-visible reply is only that file's 通用结果 block. Do not invent another layout.
|