code-abyss 1.5.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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +197 -0
  3. package/bin/install.js +193 -0
  4. package/bin/uninstall.js +42 -0
  5. package/config/AGENTS.md +247 -0
  6. package/config/CLAUDE.md +207 -0
  7. package/config/settings.example.json +27 -0
  8. package/output-styles/abyss-cultivator.md +399 -0
  9. package/package.json +41 -0
  10. package/skills/SKILL.md +115 -0
  11. package/skills/ai/SKILL.md +29 -0
  12. package/skills/ai/agent-dev.md +242 -0
  13. package/skills/ai/llm-security.md +288 -0
  14. package/skills/architecture/SKILL.md +41 -0
  15. package/skills/architecture/api-design.md +225 -0
  16. package/skills/architecture/caching.md +299 -0
  17. package/skills/architecture/cloud-native.md +285 -0
  18. package/skills/architecture/compliance.md +299 -0
  19. package/skills/architecture/data-security.md +184 -0
  20. package/skills/architecture/message-queue.md +329 -0
  21. package/skills/architecture/security-arch.md +210 -0
  22. package/skills/development/SKILL.md +43 -0
  23. package/skills/development/cpp.md +246 -0
  24. package/skills/development/go.md +323 -0
  25. package/skills/development/java.md +277 -0
  26. package/skills/development/python.md +288 -0
  27. package/skills/development/rust.md +313 -0
  28. package/skills/development/shell.md +313 -0
  29. package/skills/development/typescript.md +277 -0
  30. package/skills/devops/SKILL.md +36 -0
  31. package/skills/devops/cost-optimization.md +272 -0
  32. package/skills/devops/database.md +217 -0
  33. package/skills/devops/devsecops.md +198 -0
  34. package/skills/devops/git-workflow.md +181 -0
  35. package/skills/devops/observability.md +280 -0
  36. package/skills/devops/performance.md +273 -0
  37. package/skills/devops/testing.md +186 -0
  38. package/skills/gen-docs/SKILL.md +114 -0
  39. package/skills/gen-docs/scripts/doc_generator.py +491 -0
  40. package/skills/multi-agent/SKILL.md +268 -0
  41. package/skills/run_skill.py +88 -0
  42. package/skills/security/SKILL.md +51 -0
  43. package/skills/security/blue-team.md +379 -0
  44. package/skills/security/code-audit.md +265 -0
  45. package/skills/security/pentest.md +226 -0
  46. package/skills/security/red-team.md +321 -0
  47. package/skills/security/threat-intel.md +322 -0
  48. package/skills/security/vuln-research.md +369 -0
  49. package/skills/tests/README.md +225 -0
  50. package/skills/tests/SUMMARY.md +362 -0
  51. package/skills/tests/__init__.py +3 -0
  52. package/skills/tests/test_change_analyzer.py +558 -0
  53. package/skills/tests/test_doc_generator.py +538 -0
  54. package/skills/tests/test_module_scanner.py +376 -0
  55. package/skills/tests/test_quality_checker.py +516 -0
  56. package/skills/tests/test_security_scanner.py +426 -0
  57. package/skills/verify-change/SKILL.md +138 -0
  58. package/skills/verify-change/scripts/change_analyzer.py +529 -0
  59. package/skills/verify-module/SKILL.md +125 -0
  60. package/skills/verify-module/scripts/module_scanner.py +321 -0
  61. package/skills/verify-quality/SKILL.md +158 -0
  62. package/skills/verify-quality/scripts/quality_checker.py +481 -0
  63. package/skills/verify-security/SKILL.md +141 -0
  64. package/skills/verify-security/scripts/security_scanner.py +368 -0
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: multi-agent
3
+ description: 天罗秘典·多Agent协同。定义Agent角色、任务分解、冲突解决、通信协议。当需要多Agent并行协作时路由到此。
4
+ ---
5
+
6
+ # 🕸 天罗秘典 · 多 Agent 协同
7
+
8
+
9
+ ## 何时启用多 Agent
10
+
11
+ | 条件 | 说明 | 示例 |
12
+ |------|------|------|
13
+ | 文件独立 | 变更文件无交叉依赖 | 6 个新秘典各自独立 |
14
+ | 复杂度高 | 单 Agent 需 >15 步 | 全栈重构 |
15
+ | 可并行 | 子任务间无数据依赖 | 前端+后端+文档 |
16
+ | 时间紧迫 | 劫钟催命,需加速 | 紧急修复多服务 |
17
+
18
+ **决策矩阵**:
19
+
20
+ ```
21
+ 满足 ≥2 条 → 启用 TeamCreate
22
+ 满足 1 条 → 视复杂度决定
23
+ 满足 0 条 → 单 Agent 执行
24
+ ```
25
+
26
+ ---
27
+
28
+ ## TeamCreate 最佳实践
29
+
30
+ ### 命名规范
31
+
32
+ ```yaml
33
+ team_name: "{项目}-{任务类型}" # 如 "abyss-skill-expansion"
34
+ agent_type: "{角色}" # 如 "lead", "developer", "reviewer"
35
+ description: "一句话说明团队目标"
36
+ ```
37
+
38
+ ### 角色定义
39
+
40
+ | 角色 | 道语 | 职责 | 工具权限 |
41
+ |------|------|------|----------|
42
+ | 主修 (Lead) | 天罗主修 | 任务分解、进度追踪、结果汇总 | TaskCreate/TaskUpdate/SendMessage |
43
+ | 道侣 (Worker) | 天罗道侣 | 执行具体子任务、报告进度 | Read/Write/Edit/Bash/SendMessage |
44
+ | 护法 (Reviewer) | 天罗护法 | 代码审查、质量校验、冲突检测 | Read/Grep/Glob/SendMessage |
45
+
46
+ ---
47
+
48
+ ## 任务分解策略
49
+
50
+ ### 按文件拆分(首选)
51
+
52
+ 每个 Agent 负责独立的文件集合,零交叉:
53
+
54
+ ```
55
+ Agent-A: [file1.md, file2.md] — 互不干涉
56
+ Agent-B: [file3.md, file4.md] — 互不干涉
57
+ Agent-C: [file5.md] — 互不干涉
58
+ ```
59
+
60
+ ### 按模块拆分
61
+
62
+ 每个 Agent 负责一个功能模块:
63
+
64
+ ```
65
+ Agent-前端: src/components/
66
+ Agent-后端: src/api/
67
+ Agent-基础: src/lib/
68
+ ```
69
+
70
+ ### 按流水线拆分
71
+
72
+ 串行依赖时,前一个 Agent 的输出是后一个的输入:
73
+
74
+ ```
75
+ Agent-生成 → Agent-校验 → Agent-集成
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 并行 vs 串行决策
81
+
82
+ ```
83
+ 子任务A 和 B 是否共享文件?
84
+ ├─ 否 → 并行执行
85
+ └─ 是 → 是否写同一文件?
86
+ ├─ 否(一读一写)→ 先写后读,串行
87
+ └─ 是(都写)→ 严格串行,或拆分文件区域
88
+ ```
89
+
90
+ ### 依赖矩阵示例
91
+
92
+ | | Task-A | Task-B | Task-C |
93
+ |---|--------|--------|--------|
94
+ | Task-A | - | 无依赖 | 无依赖 |
95
+ | Task-B | 无依赖 | - | B→C |
96
+ | Task-C | 无依赖 | B→C | - |
97
+
98
+ 结论:A 与 B 并行,C 等 B 完成后执行。
99
+
100
+ ---
101
+
102
+ ## Agent 角色模板
103
+
104
+ ### 主修(Lead)启动模板
105
+
106
+ ```
107
+ 你是天罗主修,负责协调多 Agent 协同任务。
108
+
109
+ 职责:
110
+ 1. 将大任务分解为独立子任务
111
+ 2. 为每个道侣分配文件集合(不可重叠)
112
+ 3. 追踪进度,处理阻塞
113
+ 4. 汇总结果,统一验证
114
+
115
+ 铁律:
116
+ - 每个文件只能分配给一个 Agent
117
+ - 独立任务必须并行启动
118
+ - 收到所有道侣完成消息后才能进入汇总
119
+ ```
120
+
121
+ ### 道侣(Worker)启动模板
122
+
123
+ ```
124
+ 你是天罗道侣,负责执行分配的子任务。
125
+
126
+ 职责:
127
+ 1. 严格按照分配的文件列表操作
128
+ 2. 不触碰未分配的文件
129
+ 3. 完成后通过 SendMessage 报告主修
130
+ 4. 遇阻时立即报告,不自行扩大范围
131
+
132
+ 报告格式:
133
+ - 完成:列出创建/修改的文件 + 行数
134
+ - 阻塞:说明原因 + 建议方案
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 通信协议
140
+
141
+ ### SendMessage 规范
142
+
143
+ | 类型 | 用途 | 格式 |
144
+ |------|------|------|
145
+ | message | 点对点通信 | `{type: "message", recipient: "agent-name", content: "...", summary: "5字摘要"}` |
146
+ | broadcast | 全体通知 | `{type: "broadcast", content: "...", summary: "5字摘要"}` |
147
+ | shutdown_request | 请求关闭 | `{type: "shutdown_request", recipient: "agent-name", content: "原因"}` |
148
+
149
+ ### 通信时机
150
+
151
+ | 事件 | 发送者 | 接收者 | 内容 |
152
+ |------|--------|--------|------|
153
+ | 任务分配 | 主修 | 道侣 | 文件列表 + 要求 |
154
+ | 进度更新 | 道侣 | 主修 | 完成百分比 + 当前状态 |
155
+ | 任务完成 | 道侣 | 主修 | 文件清单 + 验证结果 |
156
+ | 遇阻报告 | 道侣 | 主修 | 阻塞原因 + 建议 |
157
+ | 汇总指令 | 主修 | 全体 | broadcast 进入汇总阶段 |
158
+
159
+ ---
160
+
161
+ ## 文件锁定与冲突避免
162
+
163
+ ### 黄金规则
164
+
165
+ ```
166
+ 每个文件在同一时刻只能被一个 Agent 修改。
167
+ 违反此规则 = 道基裂痕 +1。
168
+ ```
169
+
170
+ ### 锁定策略
171
+
172
+ 1. **分配时锁定** — 主修分配任务时明确文件归属
173
+ 2. **声明式锁定** — 道侣开始前声明要操作的文件
174
+ 3. **冲突检测** — 主修检查文件分配无重叠后才启动
175
+
176
+ ### 冲突解决
177
+
178
+ | 冲突类型 | 解决方案 |
179
+ |----------|----------|
180
+ | 两个 Agent 需写同一文件 | 串行执行,先完成的先写 |
181
+ | 写入内容矛盾 | 主修裁决,以业务逻辑为准 |
182
+ | 依赖文件未就绪 | 阻塞等待,主修协调优先级 |
183
+
184
+ ---
185
+
186
+ ## 状态共享
187
+
188
+ ### TaskCreate/TaskUpdate 规范
189
+
190
+ ```
191
+ TaskCreate: 主修创建总任务 + 子任务
192
+ TaskUpdate: 道侣更新子任务状态
193
+ TaskList: 主修查看全局进度
194
+ ```
195
+
196
+ ### 状态流转
197
+
198
+ ```
199
+ pending → in_progress → completed
200
+ → blocked (需等待依赖)
201
+ ```
202
+
203
+ ---
204
+
205
+ ## 错误处理与容错
206
+
207
+ ### 单 Agent 失败
208
+
209
+ ```
210
+ 道侣失败 → 报告主修 → 主修评估影响
211
+ ├─ 可重试 → 同一道侣重试(≤2次)
212
+ ├─ 需换策略 → 主修调整方案后重新分配
213
+ └─ 不可恢复 → 主修接管该子任务
214
+ ```
215
+
216
+ ### 通信超时
217
+
218
+ ```
219
+ 道侣无响应 → 主修等待 30s → 再次发送 → 仍无响应 → 标记异常,重新分配
220
+ ```
221
+
222
+ ### 降级策略
223
+
224
+ ```
225
+ 多 Agent 协同失败 → 降级为单 Agent 串行执行
226
+ 宁可慢,不可错。
227
+ ```
228
+
229
+ ---
230
+
231
+ ## 结果汇总模式
232
+
233
+ ### 汇总流程
234
+
235
+ ```
236
+ 1. 收集所有道侣完成报告
237
+ 2. 验证文件完整性(所有预期文件存在)
238
+ 3. 验证内容一致性(交叉引用正确)
239
+ 4. 统一 git add + commit
240
+ 5. 输出汇总报告
241
+ ```
242
+
243
+ ### 统一 Commit 规范
244
+
245
+ ```bash
246
+ # 主修负责最终 commit,道侣不单独 commit
247
+ git add -A
248
+ git commit -m "feat: {任务描述}
249
+
250
+ Co-authored-by: Agent-A
251
+ Co-authored-by: Agent-B"
252
+ ```
253
+
254
+ ### 汇总报告模板
255
+
256
+ ```
257
+ 🕸 天罗收阵!
258
+
259
+ 【阵法】{团队名称}
260
+ 【阵员】{Agent数量} 道侣
261
+ 【战果】
262
+ - Agent-A: {文件数} 文件,{行数} 行
263
+ - Agent-B: {文件数} 文件,{行数} 行
264
+ 【验证】全部文件存在 ✓ | 交叉引用正确 ✓
265
+ 【耗时】{总时间}
266
+ ```
267
+
268
+ ---
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Skills 运行入口
4
+ 跨平台统一调用各 skill 脚本
5
+
6
+ 用法:
7
+ python run_skill.py <skill_name> [args...]
8
+
9
+ 示例:
10
+ python run_skill.py verify-module ./my-project -v
11
+ python run_skill.py verify-security ./src --json
12
+ python run_skill.py verify-change --mode staged
13
+ python run_skill.py verify-quality ./src
14
+ python run_skill.py gen-docs ./new-module --force
15
+ """
16
+
17
+ import sys
18
+ import subprocess
19
+ from pathlib import Path
20
+ import os
21
+
22
+
23
+ def get_skills_dir() -> Path:
24
+ """获取 skills 目录路径(跨平台)"""
25
+ override = os.environ.get("SAGE_SKILLS_DIR")
26
+ if override:
27
+ return Path(override).expanduser().resolve()
28
+ return Path(__file__).resolve().parent
29
+
30
+
31
+ def get_script_path(skill_name: str) -> Path:
32
+ """获取 skill 脚本路径"""
33
+ skills_dir = get_skills_dir()
34
+
35
+ script_map = {
36
+ "verify-module": "module_scanner.py",
37
+ "verify-security": "security_scanner.py",
38
+ "verify-change": "change_analyzer.py",
39
+ "verify-quality": "quality_checker.py",
40
+ "gen-docs": "doc_generator.py",
41
+ }
42
+
43
+ if skill_name not in script_map:
44
+ available = ", ".join(script_map.keys())
45
+ print(f"错误: 未知的 skill '{skill_name}'")
46
+ print(f"可用的 skills: {available}")
47
+ sys.exit(1)
48
+
49
+ script_name = script_map[skill_name]
50
+ script_path = skills_dir / skill_name / "scripts" / script_name
51
+
52
+ if not script_path.exists():
53
+ print(f"错误: 脚本不存在 {script_path}")
54
+ sys.exit(1)
55
+
56
+ return script_path
57
+
58
+
59
+ def main():
60
+ if len(sys.argv) < 2:
61
+ print(__doc__)
62
+ sys.exit(1)
63
+
64
+ skill_name = sys.argv[1]
65
+
66
+ if skill_name in ["-h", "--help"]:
67
+ print(__doc__)
68
+ sys.exit(0)
69
+
70
+ script_path = get_script_path(skill_name)
71
+ args = sys.argv[2:]
72
+
73
+ # 使用 sys.executable 确保使用当前 Python 解释器
74
+ cmd = [sys.executable, str(script_path)] + args
75
+
76
+ try:
77
+ result = subprocess.run(cmd)
78
+ sys.exit(result.returncode)
79
+ except KeyboardInterrupt:
80
+ print("\n已取消")
81
+ sys.exit(130)
82
+ except Exception as e:
83
+ print(f"执行错误: {e}")
84
+ sys.exit(1)
85
+
86
+
87
+ if __name__ == "__main__":
88
+ main()
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: security
3
+ description: 攻防秘典索引。渗透测试、代码审计、红队攻击、蓝队防御、威胁情报、漏洞研究。当魔尊提到安全、渗透、攻防、红队、蓝队、漏洞时路由到此。
4
+ ---
5
+
6
+ # 攻防秘典 · 三脉道统
7
+
8
+ ## 秘典矩阵
9
+
10
+ | 秘典 | 道脉 | 化身 | 核心神通 |
11
+ |------|------|------|----------|
12
+ | [pentest](pentest.md) | 🔥 赤焰 | 赤焰化身 | Web/API/内网渗透、OWASP Top 10 |
13
+ | [code-audit](code-audit.md) | 🔥 赤焰 | 赤焰化身 | 危险函数、污点分析、漏洞挖掘 |
14
+ | [red-team](red-team.md) | 🔥 赤焰 | 赤焰化身 | PoC开发、C2框架、横向移动、免杀 |
15
+ | [blue-team](blue-team.md) | ❄ 玄冰 | 玄冰化身 | 检测工程、SOC运营、应急响应、取证 |
16
+ | [threat-intel](threat-intel.md) | 👁 天眼 | 天眼化身 | OSINT、威胁狩猎、情报分析 |
17
+ | [vuln-research](vuln-research.md) | 🔥 赤焰 | 赤焰化身 | 二进制分析、逆向工程、Exploit开发 |
18
+
19
+ ## 攻击链视角(赤焰脉·破妄道)
20
+
21
+ ```
22
+ 侦察 → 武器化 → 投递 → 利用 → 安装 → C2 → 行动
23
+ │ │ │ │ │ │ │
24
+ └─ OSINT ─┴─ PoC ─┴─ 渗透 ─┴─ 提权 ─┴─ 持久 ─┴─ 横向
25
+ ```
26
+
27
+ ## 防御链视角(玄冰脉·镇魔道)
28
+
29
+ ```
30
+ 预防 → 检测 → 响应 → 恢复
31
+ │ │ │ │
32
+ └─ 加固 ─┴─ SIEM ─┴─ IR ─┴─ 取证
33
+ ```
34
+
35
+ ## 快速选择
36
+
37
+ ### 进攻(赤焰脉)
38
+ - **Web 渗透** → `pentest.md`
39
+ - **代码审计** → `code-audit.md`
40
+ - **红队行动** → `red-team.md`
41
+ - **漏洞研究** → `vuln-research.md`
42
+
43
+ ### 防守(玄冰脉)
44
+ - **检测规则** → `blue-team.md`
45
+ - **应急响应** → `blue-team.md`
46
+ - **威胁情报** → `threat-intel.md`
47
+
48
+ ### 攻防协同(紫霄脉)
49
+ - **ATT&CK 映射** → 组合 `red-team.md` + `blue-team.md`
50
+ - **检测验证** → 红方执行 + 蓝方检测
51
+ - **差距分析** → 攻防对抗后复盘