@haaaiawd/anws 2.3.0 → 2.4.1

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 (95) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +53 -23
  3. package/lib/diff.js +5 -2
  4. package/lib/init.js +217 -96
  5. package/lib/install-state.js +18 -3
  6. package/lib/manifest.js +364 -79
  7. package/lib/prompt.js +68 -0
  8. package/lib/resources/index.js +36 -2
  9. package/lib/update.js +12 -6
  10. package/package.json +48 -47
  11. package/templates/.agents/skills/anws-system/SKILL.md +107 -105
  12. package/templates/.agents/skills/code-reviewer/SKILL.md +171 -115
  13. package/templates/.agents/skills/concept-modeler/SKILL.md +230 -179
  14. package/templates/.agents/skills/craft-authoring/SKILL.md +186 -183
  15. package/templates/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +42 -0
  16. package/templates/.agents/skills/design-reviewer/SKILL.md +265 -190
  17. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +246 -135
  18. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -321
  19. package/templates/.agents/skills/nexus-mapper/references/probe-protocol.md +1 -1
  20. package/templates/.agents/skills/nexus-query/SKILL.md +1 -1
  21. package/templates/.agents/skills/output-contract/SKILL.md +37 -0
  22. package/templates/.agents/skills/runtime-inspector/SKILL.md +150 -99
  23. package/templates/.agents/skills/sequential-thinking/SKILL.md +222 -225
  24. package/templates/.agents/skills/spec-writer/SKILL.md +75 -30
  25. package/templates/.agents/skills/system-architect/SKILL.md +538 -678
  26. package/templates/.agents/skills/system-designer/SKILL.md +124 -537
  27. package/templates/.agents/skills/task-planner/SKILL.md +1 -2
  28. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +2 -2
  29. package/templates/.agents/skills/task-reviewer/SKILL.md +421 -386
  30. package/templates/.agents/skills/tech-evaluator/SKILL.md +252 -144
  31. package/templates/.agents/workflows/blueprint.md +156 -68
  32. package/templates/.agents/workflows/challenge.md +322 -494
  33. package/templates/.agents/workflows/change.md +182 -339
  34. package/templates/.agents/workflows/craft.md +159 -197
  35. package/templates/.agents/workflows/design-system.md +202 -674
  36. package/templates/.agents/workflows/explore.md +187 -399
  37. package/templates/.agents/workflows/forge.md +650 -609
  38. package/templates/.agents/workflows/genesis.md +438 -351
  39. package/templates/.agents/workflows/probe.md +215 -240
  40. package/templates/.agents/workflows/quickstart.md +304 -123
  41. package/templates/.agents/workflows/upgrade.md +145 -182
  42. package/templates_en/.agents/skills/anws-system/SKILL.md +110 -0
  43. package/templates_en/.agents/skills/code-reviewer/SKILL.md +171 -0
  44. package/templates_en/.agents/skills/concept-modeler/SKILL.md +230 -0
  45. package/templates_en/.agents/skills/craft-authoring/SKILL.md +179 -0
  46. package/templates_en/.agents/skills/craft-authoring/references/BUNDLE_POLICY.md +42 -0
  47. package/templates_en/.agents/skills/craft-authoring/references/PROMPT_QUALITY_RUBRIC.md +92 -0
  48. package/templates_en/.agents/skills/craft-authoring/references/SCORECARD_TEMPLATE.md +52 -0
  49. package/templates_en/.agents/skills/design-reviewer/SKILL.md +264 -0
  50. package/templates_en/.agents/skills/e2e-testing-guide/SKILL.md +246 -0
  51. package/templates_en/.agents/skills/nexus-mapper/SKILL.md +306 -0
  52. package/templates_en/.agents/skills/nexus-mapper/references/language-customization.md +167 -0
  53. package/templates_en/.agents/skills/nexus-mapper/references/output-schema.md +311 -0
  54. package/templates_en/.agents/skills/nexus-mapper/references/probe-protocol.md +246 -0
  55. package/templates_en/.agents/skills/nexus-mapper/scripts/extract_ast.py +706 -0
  56. package/templates_en/.agents/skills/nexus-mapper/scripts/git_detective.py +194 -0
  57. package/templates_en/.agents/skills/nexus-mapper/scripts/languages.json +127 -0
  58. package/templates_en/.agents/skills/nexus-mapper/scripts/query_graph.py +556 -0
  59. package/templates_en/.agents/skills/nexus-mapper/scripts/requirements.txt +6 -0
  60. package/templates_en/.agents/skills/nexus-query/SKILL.md +114 -0
  61. package/templates_en/.agents/skills/nexus-query/scripts/extract_ast.py +706 -0
  62. package/templates_en/.agents/skills/nexus-query/scripts/git_detective.py +194 -0
  63. package/templates_en/.agents/skills/nexus-query/scripts/languages.json +127 -0
  64. package/templates_en/.agents/skills/nexus-query/scripts/query_graph.py +556 -0
  65. package/templates_en/.agents/skills/nexus-query/scripts/requirements.txt +6 -0
  66. package/templates_en/.agents/skills/output-contract/SKILL.md +37 -0
  67. package/templates_en/.agents/skills/runtime-inspector/SKILL.md +150 -0
  68. package/templates_en/.agents/skills/sequential-thinking/SKILL.md +214 -0
  69. package/templates_en/.agents/skills/spec-writer/SKILL.md +153 -0
  70. package/templates_en/.agents/skills/spec-writer/references/prd_template.md +177 -0
  71. package/templates_en/.agents/skills/system-architect/SKILL.md +538 -0
  72. package/templates_en/.agents/skills/system-architect/references/rfc_template.md +59 -0
  73. package/templates_en/.agents/skills/system-designer/SKILL.md +188 -0
  74. package/templates_en/.agents/skills/system-designer/references/system-design-detail-template.md +187 -0
  75. package/templates_en/.agents/skills/system-designer/references/system-design-template.md +605 -0
  76. package/templates_en/.agents/skills/task-planner/SKILL.md +251 -0
  77. package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05A.md +109 -0
  78. package/templates_en/.agents/skills/task-planner/references/TASK_TEMPLATE_05B.md +176 -0
  79. package/templates_en/.agents/skills/task-reviewer/SKILL.md +422 -0
  80. package/templates_en/.agents/skills/tech-evaluator/SKILL.md +252 -0
  81. package/templates_en/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +78 -0
  82. package/templates_en/.agents/workflows/blueprint.md +200 -0
  83. package/templates_en/.agents/workflows/challenge.md +326 -0
  84. package/templates_en/.agents/workflows/change.md +182 -0
  85. package/templates_en/.agents/workflows/craft.md +159 -0
  86. package/templates_en/.agents/workflows/design-system.md +202 -0
  87. package/templates_en/.agents/workflows/explore.md +187 -0
  88. package/templates_en/.agents/workflows/forge.md +651 -0
  89. package/templates_en/.agents/workflows/genesis.md +438 -0
  90. package/templates_en/.agents/workflows/probe.md +215 -0
  91. package/templates_en/.agents/workflows/quickstart.md +305 -0
  92. package/templates_en/.agents/workflows/upgrade.md +145 -0
  93. package/templates_en/AGENTS.md +149 -0
  94. package/templates/.agents/skills/report-template/SKILL.md +0 -92
  95. package/templates/.agents/skills/report-template/references/REPORT_TEMPLATE.md +0 -100
@@ -42,7 +42,7 @@ python $SKILL_DIR/scripts/extract_ast.py $repo_path > $AST_JSON
42
42
  python $SKILL_DIR/scripts/git_detective.py $repo_path --days 90 > $GIT_JSON
43
43
  ```
44
44
 
45
- > `$SKILL_DIR` 为本 Skill 的安装路径(`.agent/skills/nexus-query` 或独立 repo 路径)。
45
+ > `$SKILL_DIR` 为本 Skill 的安装路径(通常是 `.agents/skills/nexus-query`,投影到目标 IDE 时以该目标的 skills 目录为准)。
46
46
 
47
47
  **依赖安装(首次使用)**:
48
48
  ```bash
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: output-contract
3
+ description: 当在本模板 bundle 内需持久化报告、并行子会话、或与多工作流产出对齐时使用。收录共用落盘 spec 与委派闭环;与 craft-authoring(/craft 撰写脚手架)无关。
4
+ ---
5
+
6
+ # 输出契约与协作闭环
7
+
8
+ > 各 Skill、Workflow 若重复本节条文,应改为**一句引用本 Skill**,仅保留角色或步骤专属增量。
9
+
10
+ ## 何时加载
11
+
12
+ - 撰写即将写入仓库的架构 / 审查 / 探索类 Markdown。
13
+ - 父会话拆分并行子任务,或按路径切片协作修改。
14
+ - 需要核对「是否可追溯、是否重复叙事、是否单写者」时。
15
+
16
+ ## Spec / 落盘契约
17
+
18
+ - **Precise**:可核对陈述须带来源或 `path:line` / 章节锚点;禁止无源强结论。
19
+ - **Evidence-backed**:发现 / 证据 / 建议须能指回具体输入或检索结果。
20
+ - **Non-repetitive**:同一事实只写一次;禁止总述与正文两套复述。
21
+ - **No filler**:禁止无主语的「需优化 / 应关注」类空话。
22
+
23
+ 规范块(CRITICAL、严重度表、门禁、上下游契约)**不得删**;收紧仅针对执行旁白与重复叙事。
24
+
25
+ ## 委派闭环(父子会话)
26
+
27
+ 1. **父会话**:`TARGET_DIR`、轮次、最终路径、合并顺序、对规范化报告路径的**唯一写盘**。
28
+ 2. **子会话**:有界切片;证据规则与父级相同。
29
+ 3. **交接**:子代理返回可合并表结构 + 一行裁定;父代理去重、对照 spec、写 `07_*` / explore 报告,再跑工作流文末 **completion**。
30
+
31
+ 无委派时:单会话跑全文;父级仍负最终落盘与一致性。
32
+
33
+ ## 并行与路径
34
+
35
+ - 每个被管理路径(或 glob)**每批最多一个写者**;禁止在授权外全仓格式化。
36
+ - 子任务目录或主题须 **不相交**;冲突由父代理裁决。
37
+ - 与 `/genesis` 协同时的检查清单与交接句式见 **`genesis.md`**「子代理编排与检查清单」(或 EN 树同名小节)。
@@ -1,99 +1,150 @@
1
- ---
2
- name: runtime-inspector
3
- description: 分析运行时行为、进程边界和 IPC 机制,检测"协议漂移"风险和进程生命周期问题。
4
- ---
5
-
6
- # 窃听者手册 (The Wiretapper's Casebook)
7
-
8
- > "代码会骗人,但进程不会。一个 `.spawn()` 暴露的比一千行注释还多。" —— 老窃听者箴言
9
-
10
- 本技能的工作是**追踪进程间的通信线路**。
11
-
12
- **老师傅核心定律**: 如果两个进程说话,但没人规定它们说什么语言、什么版本、什么格式,那就是一场等待爆发的**协议漂移 (Protocol Mismatch)** 灾难。
13
-
14
- ---
15
-
16
- ## 深度思考要求
17
-
18
- > [!IMPORTANT]
19
- > **运行时分析需要深度思考,思考方式基于模型能力和任务复杂度。**
20
- >
21
- > **核心判断规则**:
22
- > - **无 CoT 模型** → **必须调用** `sequential-thinking` CLI
23
- > - **有 CoT 模型 + 简单项目**(单进程、通信清晰)→ 用思考引导问题组织自然 CoT
24
- > - **有 CoT 模型 + 复杂项目**(多进程、需要修正前提)→ 调用 `sequential-thinking` CLI
25
- >
26
- > 思考内容例如:
27
- > 1. "这个项目有多少个入口点(`main` 函数)?它们是一个进程还是多个?"
28
- > 2. "进程之间用什么通信?Pipe?HTTP?共享数据库?"
29
- > 3. "如果我只更新了 A 进程的通信模块,B 进程会崩吗?有版本握手吗?"
30
-
31
- ---
32
-
33
- ## 任务目标
34
- 识别**运行时边界 (Runtime Boundaries)** **通信契约 (Communication Contracts)**。
35
-
36
- ---
37
-
38
- ## 探索流程 (The Investigation)
39
-
40
- ### 第一步:识别入口点 (Identify Entry Points)
41
- 每个 `main` 函数可能代表一个独立的进程。
42
- * **搜索目标**:
43
- * Rust: `fn main()`, `#[tokio::main]`
44
- * Python: `if __name__ == "__main__":`
45
- * Node: `require.main === module`, package.json 的 `bin`
46
- * Go: `func main()`
47
- * **老师傅直觉**: 找到多个入口点?立刻问:"它们是独立运行的,还是被一个父进程管控的?"
48
-
49
- ### 第二步:追踪生成链 (Trace Spawning)
50
- 如果进程 A 拉起了进程 B,这就是一条"血缘线"。
51
- * **搜索目标**:
52
- * Rust: `Command::new(...)`, `std::process::Stdio`, `tauri-plugin-shell`
53
- * Python: `subprocess.Popen`, `multiprocessing.Process`
54
- * Node: `child_process.spawn`, `child_process.fork`
55
- * **老师傅警报 (Lifecycle Risks)**:
56
- * "父进程死了,子进程知道吗?有心跳吗?" -> **僵尸进程风险 (Zombie Child)**
57
- * "子进程崩溃了,父进程会重启它吗?还是静默失败?" -> **静默故障风险**
58
-
59
- ### 第三步:窃听通信 (Tap the Wire)
60
- 进程之间用什么"说话"?协议在哪里定义?
61
-
62
- * **搜索 Channels (通道)**:
63
- * `Pipe`, `NamedPipe`, `unix_stream`, `zmq`
64
- * `TcpListener`, `UdpSocket`, `websocket`, `http::server`
65
- * **搜索 Protocols (协议)**:
66
- * `Handshake`, `Version`, `MagicBytes`, `schema`
67
- * `protobuf`, `serde_json`, `JSON.parse`, `enum Message`
68
-
69
- * **老师傅核心判断 (Contract Status)**:
70
-
71
- | 发现 | 状态 | 老师傅建议 |
72
- | :--- | :---: | :--- |
73
- | 找到 Channel + 找到 `enum Message` 或 Protobuf 定义 | **Strong** | 契约存在,相对安全。 |
74
- | 找到 Channel + 找到 `Version` 或 `Handshake` 检查 | **Strong** | 有版本协商,很好。 |
75
- | 找到 Channel + 只有 raw JSON/字符串 | **Weak** | 无显式契约。改动一端可能炸另一端。 |
76
- | 找到 Channel + 无任何协议定义 | **None** | **通信黑洞!** 这是高危风险。 |
77
-
78
- ---
79
-
80
- ## IPC 风险模式速查 (来自安全研究)
81
-
82
- | 风险模式 | 检测特征 | 老师傅建议 |
83
- | :--- | :--- | :--- |
84
- | **协议漂移 (Protocol Mismatch)** | Channel 存在,但无 Handshake/Version | 在新功能规划中**强制添加版本握手任务** |
85
- | **僵尸进程 (Zombie Child)** | `spawn` 存在,但无 `Kill on Drop` 或心跳 | 标记进程生命周期管理风险 |
86
- | **单点故障 (SPOF)** | 一个进程管控所有 IPC,无容错 | 建议添加重连/重启逻辑 |
87
- | **Named Pipe 权限漏洞 (Windows)** | 使用 Named Pipe 但未显式设置 Security Descriptor | 高危:默认可能允许 Everyone 访问! |
88
- | **竞态条件 (Race Condition)** | 多进程快速交互,无明确的消息顺序控制 | 建议添加消息序列号或锁机制 |
89
-
90
- ---
91
-
92
- ## 输出清单
93
-
94
- 1. **Process Roots**: 发现的入口点列表(文件路径、角色)。
95
- 2. **Spawning Chains**: 进程生成关系 (A spawns B)。
96
- 3. **IPC Surfaces**: 发现的通信通道(类型、关键词、位置)。
97
- 4. **Contract Status**: `[Strong / Weak / None]`,并说明依据。
98
- 5. **Lifecycle Risks**: 僵尸进程、静默崩溃等风险。
99
- 6. **Security Flags (Windows)**: 如果是 Named Pipe,是否有 ACL 设置?
1
+ ---
2
+ name: runtime-inspector
3
+ description: `/probe` 需要识别运行时入口、进程边界、spawn 链、IPC 通道、协议强度与生命周期风险时加载。只做静态/可观察探测,不修改代码。
4
+ ---
5
+
6
+ # Runtime Inspector(ALPHA)
7
+
8
+ <phase_context>
9
+ 你是 **RUNTIME INSPECTOR(运行时边界探测者)**。
10
+
11
+ **使命**:识别项目实际如何启动、生成进程、通信与失败;为 `/probe` 的 Runtime Topology 与 Risk Matrix 提供证据。
12
+ **能力**:入口点搜索、spawn/fork 链识别、IPC surface 盘点、协议强度分级、生命周期与平台安全风险标注。
13
+ **限制**:不启动长驻服务、不修改代码、不把静态推断写成运行事实;无法确认时明确标注 `Cannot confirm`。
14
+ **Output Goal**:Process Roots、Spawning Chains、IPC Surfaces、Contract Status、Lifecycle Risks、Security Flags。
15
+ </phase_context>
16
+
17
+ ---
18
+
19
+ ## CRITICAL 输出契约
20
+
21
+ > [!IMPORTANT]
22
+ > 持久化报告、证据、单写者与去重复规则遵守 `.agents/skills/output-contract/SKILL.md`。本 skill 输出为 `/probe` 的证据切片。
23
+ >
24
+ > - 强结论必须有路径、关键词或命令结果锚点。
25
+ > - 运行时行为若未实测,只能写“静态证据显示”或 `Cannot confirm`。
26
+ > - IPC 契约分级必须说明依据:通道、消息 schema、版本握手或缺失项。
27
+ > - Windows Named Pipe、权限、父子进程生命周期是高风险优先检查项。
28
+
29
+ ---
30
+
31
+ ## sequential-thinking 规则
32
+
33
+ - 无 CoT 模型:必须调用 `sequential-thinking` CLI。
34
+ - CoT + 简单单进程项目:可用自然 CoT,仍须回答入口、通信、失败三个问题。
35
+ - 有 CoT + 多进程、IPC、spawn/fork、协议推断:调用 `sequential-thinking` CLI。
36
+
37
+ ---
38
+
39
+ ## Step 1: 识别入口点
40
+
41
+ ### 做什么
42
+ 搜索可能代表独立进程的入口:
43
+
44
+ | 语言/平台 | 搜索线索 |
45
+ | --- | --- |
46
+ | Rust | `fn main()`, `#[tokio::main]` |
47
+ | Python | `if __name__ == "__main__":` |
48
+ | Node | `require.main === module`, `package.json` 的 `bin` |
49
+ | Go | `func main()` |
50
+
51
+ ### 为什么
52
+ 入口点决定进程边界;多个入口点通常意味着部署、IPC 或生命周期风险。
53
+
54
+ ### 怎么验收
55
+ - 输出 `Process Roots`:路径、入口类型、推断角色。
56
+ - 多入口时标注“独立进程 / 父进程管理 / Cannot confirm”。
57
+
58
+ ---
59
+
60
+ ## Step 2: 追踪进程生成链
61
+
62
+ ### 做什么
63
+ 搜索父进程启动子进程的线索:
64
+
65
+ | 平台 | 搜索线索 |
66
+ | --- | --- |
67
+ | Rust | `Command::new`, `std::process::Stdio`, `tauri-plugin-shell` |
68
+ | Python | `subprocess.Popen`, `multiprocessing.Process` |
69
+ | Node | `child_process.spawn`, `child_process.fork` |
70
+
71
+ ### 为什么
72
+ spawn 链是生命周期风险来源:父进程退出、子进程崩溃、重启策略、清理策略都需要显式契约。
73
+
74
+ ### 怎么验收
75
+ - 输出 `Spawning Chains`:父路径、子命令/模块、stdio/环境传递方式。
76
+ - 标注 zombie child、silent failure、restart gap、cleanup gap。
77
+
78
+ ---
79
+
80
+ ## Step 3: 识别 IPC Surface
81
+
82
+ ### 做什么
83
+ 搜索通信通道与协议定义:
84
+
85
+ | 类别 | 搜索线索 |
86
+ | --- | --- |
87
+ | Channel | `Pipe`, `NamedPipe`, `unix_stream`, `zmq`, `TcpListener`, `UdpSocket`, `websocket`, `http::server` |
88
+ | Protocol | `Handshake`, `Version`, `MagicBytes`, `schema`, `protobuf`, `serde_json`, `JSON.parse`, `enum Message` |
89
+
90
+ ### 为什么
91
+ 有通道但无 schema、版本或握手,会导致协议漂移;这是多进程项目的核心隐性风险。
92
+
93
+ ### 怎么验收
94
+ - 输出 `IPC Surfaces`:通道类型、位置、协议线索。
95
+ - 每个 IPC surface `Contract Status`。
96
+
97
+ ---
98
+
99
+ ## Contract Status 分级
100
+
101
+ | 状态 | 判定 |
102
+ | --- | --- |
103
+ | Strong | 找到通道 + 显式消息 schema / enum / protobuf,或存在版本握手 |
104
+ | Weak | 找到通道 + raw JSON/string,但缺少集中 schema 或版本 |
105
+ | None | 找到通道,但找不到协议定义 |
106
+ | Cannot confirm | 静态证据不足以确认通道或协议 |
107
+
108
+ ---
109
+
110
+ ## 风险模式
111
+
112
+ | 风险 | 检测特征 | 建议 |
113
+ | --- | --- | --- |
114
+ | Protocol Mismatch | Channel 存在但无 schema/version/handshake | 添加协议 schema 或版本握手任务 |
115
+ | Zombie Child | spawn 存在但无退出清理或心跳 | 增加 kill-on-exit/heartbeat/cleanup 契约 |
116
+ | Silent Failure | 子进程失败无错误传播或重启策略 | 增加错误传播、重试或 supervisor 策略 |
117
+ | Named Pipe Permission Risk | Windows Named Pipe 无显式 ACL | 增加权限边界设计与验证 |
118
+ | Race Condition | 多进程消息无顺序、锁或 idempotency 语义 | 增加序列号、锁或幂等契约 |
119
+
120
+ ---
121
+
122
+ ## Required Output
123
+
124
+ ```markdown
125
+ ## Runtime Inspector Findings
126
+
127
+ ### Process Roots
128
+ | Path | Entrypoint | Role | Confidence |
129
+
130
+ ### Spawning Chains
131
+ | Parent | Child | Channel / stdio | Lifecycle Risk |
132
+
133
+ ### IPC Surfaces
134
+ | Path | Channel | Protocol Evidence | Contract Status |
135
+
136
+ ### Lifecycle Risks
137
+ | Risk | Evidence | Impact | Suggested follow-up |
138
+
139
+ ### Security Flags
140
+ | Flag | Evidence | Severity | Suggested follow-up |
141
+ ```
142
+
143
+ ---
144
+
145
+ <completion_criteria>
146
+ - Process Roots、Spawning Chains、IPC Surfaces、Contract Status、Lifecycle Risks 均已输出或显式 `N/A + 理由`。
147
+ - Strong/Weak/None/Cannot confirm 分级均带依据。
148
+ - 未把静态推断冒充为运行事实。
149
+ - 输出可直接并入 `/probe` 的 Runtime Topology 与 Risk Matrix。
150
+ </completion_criteria>