@shirayner/ace 0.1.0-snapshot.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 (58) hide show
  1. package/bin/ace.js +39 -0
  2. package/package.json +42 -0
  3. package/src/commands/doctor.js +86 -0
  4. package/src/commands/init.js +98 -0
  5. package/src/commands/list.js +67 -0
  6. package/src/core/constants.js +106 -0
  7. package/src/core/installer.js +206 -0
  8. package/src/core/merger.js +103 -0
  9. package/templates/CLAUDE.md +16 -0
  10. package/templates/commands/report.md +63 -0
  11. package/templates/hookify/hookify.block-dangerous-ops.local.md +16 -0
  12. package/templates/hookify/hookify.protect-secrets.local.md +17 -0
  13. package/templates/hookify/hookify.require-verification.local.md +13 -0
  14. package/templates/hooks/java-compile-check.sh +106 -0
  15. package/templates/memory/MEMORY.md +4 -0
  16. package/templates/memory/roles/backend.md +11 -0
  17. package/templates/memory/roles/client.md +11 -0
  18. package/templates/memory/roles/frontend.md +11 -0
  19. package/templates/memory/roles/fullstack.md +11 -0
  20. package/templates/rules/clean-code.md +33 -0
  21. package/templates/rules/code-quality.md +74 -0
  22. package/templates/rules/context-hygiene.md +29 -0
  23. package/templates/rules/memory-policy.md +30 -0
  24. package/templates/rules/reporting.md +9 -0
  25. package/templates/rules/task-recovery.md +13 -0
  26. package/templates/rules/thinking.md +19 -0
  27. package/templates/settings.json +11 -0
  28. package/templates/skills/auto-goal/SKILL.md +188 -0
  29. package/templates/skills/coding/SKILL.md +251 -0
  30. package/templates/skills/coding/references/code-review-guide.md +137 -0
  31. package/templates/skills/coding/references/code-smells.md +201 -0
  32. package/templates/skills/coding/references/implement-guide.md +123 -0
  33. package/templates/skills/coding/references/unit-test-guide.md +211 -0
  34. package/templates/skills/skill-creator/LICENSE.txt +202 -0
  35. package/templates/skills/skill-creator/SKILL.md +479 -0
  36. package/templates/skills/skill-creator/agents/analyzer.md +274 -0
  37. package/templates/skills/skill-creator/agents/comparator.md +202 -0
  38. package/templates/skills/skill-creator/agents/grader.md +223 -0
  39. package/templates/skills/skill-creator/assets/eval_review.html +146 -0
  40. package/templates/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  41. package/templates/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  42. package/templates/skills/skill-creator/references/schemas.md +430 -0
  43. package/templates/skills/skill-creator/scripts/__init__.py +0 -0
  44. package/templates/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  45. package/templates/skills/skill-creator/scripts/generate_report.py +326 -0
  46. package/templates/skills/skill-creator/scripts/improve_description.py +248 -0
  47. package/templates/skills/skill-creator/scripts/package_skill.py +136 -0
  48. package/templates/skills/skill-creator/scripts/quick_validate.py +103 -0
  49. package/templates/skills/skill-creator/scripts/run_eval.py +310 -0
  50. package/templates/skills/skill-creator/scripts/run_loop.py +332 -0
  51. package/templates/skills/skill-creator/scripts/utils.py +47 -0
  52. package/templates/skills/skill-optimize/SKILL.md +287 -0
  53. package/templates/skills/skill-optimize/references/.claude/settings.local.json +7 -0
  54. package/templates/skills/skill-optimize/references/anthropic-design-philosophy.md +250 -0
  55. package/templates/skills/skill-optimize/references/auto-goal-optimization-directions.md +130 -0
  56. package/templates/skills/skill-optimize/references/cross-disciplinary-insights.md +211 -0
  57. package/templates/skills/skill-optimize/references/quality-checklist.md +170 -0
  58. package/templates/skills/skill-optimize/references/theory-foundations.md +201 -0
@@ -0,0 +1,170 @@
1
+ # 质量检查清单与精简方法论
2
+
3
+ > 本文件提供详细的诊断检查清单、transcript 分析指南和精简方法论。
4
+ > 做深度优化时阅读。
5
+
6
+ ---
7
+
8
+ ## 目录
9
+
10
+ 1. [完整诊断检查清单](#完整诊断检查清单)
11
+ 2. [Transcript 分析指南](#transcript-分析指南)
12
+ 3. [精简方法论](#精简方法论)
13
+ 4. [Description 优化指南](#description-优化指南)
14
+ 5. [优化过程反模式](#优化过程反模式)
15
+
16
+ ---
17
+
18
+ ## 完整诊断检查清单
19
+
20
+ ### 触发层检查
21
+
22
+ | 检查项 | 通过标准 | 未通过的处理 |
23
+ |--------|---------|-------------|
24
+ | 职责一句话 | 能用"动词+名词"概括 | 回到单一职责原则 |
25
+ | 正面触发覆盖 | 列出 ≥5 种用户会说的触发短语 | 补充触发场景 |
26
+ | 负面排除明确 | 列出与相邻 skill 的边界 | 添加 DO NOT trigger 条件 |
27
+ | 非显式触发 | 覆盖用户不直接提及 skill 名但需要它的场景 | 补充隐式触发用例 |
28
+ | 长度适中 | Description 在 50-150 词之间 | 精简或扩展 |
29
+
30
+ ### 认知层检查
31
+
32
+ | 检查项 | 通过标准 | 未通过的处理 |
33
+ |--------|---------|-------------|
34
+ | 使命声明 | 前 2 行说明目的和理念 | 添加使命声明 |
35
+ | 总行数 | ≤500 行 | 移内容到 references/ |
36
+ | 原则/流程比 | 原则在前,流程在后 | 重新排序 |
37
+ | ALWAYS/NEVER 数量 | 每个都附有原因 | 替换为推理解释 |
38
+ | 验证点 | 至少有 1 个显式验证步骤 | 添加验证环节 |
39
+ | references 指引 | 明确说明何时阅读哪个文件 | 添加指引语句 |
40
+ | 复杂度路径 | 支持不同复杂度的输入 | 添加分流逻辑 |
41
+ | 反模式 | 列出常见错误及修复方向 | 补充反模式表 |
42
+
43
+ ### 资源层检查
44
+
45
+ | 检查项 | 通过标准 | 未通过的处理 |
46
+ |--------|---------|-------------|
47
+ | 独立可用 | 每个文件单独加载仍有价值 | 重组为自包含单元 |
48
+ | 大文件有目录 | >300 行的文件有目录 | 添加目录 |
49
+ | 无孤立文件 | 每个文件都从 SKILL.md 引用 | 删除或添加引用 |
50
+ | 内容分层正确 | 核心知识在认知层,细节在资源层 | 上移或下移内容 |
51
+
52
+ ---
53
+
54
+ ## Transcript 分析指南
55
+
56
+ 阅读执行 transcript 是最被忽视但最有价值的优化实践。
57
+
58
+ ### 观察什么
59
+
60
+ **Token 浪费**:
61
+ - AI 是否在不需要的步骤上花费大量 token?
62
+ - 是否有长时间的"思考"或"犹豫",显示指令不清晰?
63
+ - 是否加载了不需要的 reference 文件?
64
+
65
+ **推理偏差**:
66
+ - AI 是否正确理解了指令意图?
67
+ - 如果理解有偏差,是表达问题还是 AI 能力问题?
68
+ - AI 的决策路径是否合理?
69
+
70
+ **重复模式**:
71
+ - 多个测试用例是否独立写了相似的辅助脚本?→ 考虑捆绑到 scripts/
72
+ - 多个测试用例是否在同一个地方犯了同样的错?→ 在那个判断节点增加指引
73
+
74
+ **时间分布**:
75
+ - 哪个阶段消耗最多时间?
76
+ - 是否有阶段可以简化或跳过?
77
+
78
+ ### 分析模板
79
+
80
+ 对每个测试用例的 transcript:
81
+
82
+ ```
83
+ 1. 总 token 消耗:___
84
+ 2. 关键偏差点:___(在哪里偏离了预期?)
85
+ 3. 浪费最大的段落:___(什么指令导致了无用功?)
86
+ 4. 重复工作:___(与其他测试用例有什么重复?)
87
+ 5. 优化建议:___
88
+ ```
89
+
90
+ ---
91
+
92
+ ## 精简方法论
93
+
94
+ 精简不是"删减",而是"提纯"。
95
+
96
+ ### 三步法
97
+
98
+ **第一步:删除不改变行为的语句**
99
+
100
+ 逐句审查。删掉一句话后,skill 的行为会改变吗?如果不会,它是噪声。
101
+
102
+ 常见可删除内容:
103
+ - "请注意以下几点……"(直接列出即可)
104
+ - "这一点非常重要,因为……"(如果真的重要,结构位置应体现重要性)
105
+ - "你需要确保……"(祈使语气直接说"确保……")
106
+ - 对 AI 已知概念的解释(如"API 是一种接口")
107
+
108
+ **第二步:合并重复表达**
109
+
110
+ 同一个意思出现多次时,保留表达最清晰的那次。检查方法:搜索关键词,看是否在多处重复了相同约束。
111
+
112
+ **第三步:上移抽象层级**
113
+
114
+ 把具体的"做什么"替换为抽象的"判断什么"。
115
+
116
+ | 变换前(具体) | 变换后(抽象) |
117
+ |---------------|---------------|
118
+ | "用 try-catch 包裹所有 API 调用" | "在系统边界(外部 API、用户输入)做错误处理,内部代码信任框架保证" |
119
+ | "函数名用 camelCase" | "命名遵循项目现有约定,保持一致性" |
120
+ | "每个文件不超过 200 行" | "文件长度应反映单一职责——如果需要滚动很远才能理解全貌,考虑拆分" |
121
+
122
+ ### 过度精简的危险信号
123
+
124
+ - AI 开始在关键节点犯错(信息不足)
125
+ - AI 的输出质量明显下降(关键约束被删除了)
126
+ - AI 不再触发该 skill(description 太简短)
127
+
128
+ 遇到这些信号时,回退上一步精简,找到平衡点。
129
+
130
+ ---
131
+
132
+ ## Description 优化指南
133
+
134
+ ### 黄金结构
135
+
136
+ ```
137
+ [做什么] + [何时触发——列举场景和措辞] + [何时不触发] + [与相邻 skill 的边界]
138
+ ```
139
+
140
+ ### 提升召回率(减少 Undertrigger)
141
+
142
+ - 列举多种触发场景和用户措辞(包括口语化、缩写、中英文混用)
143
+ - 包含用户不直接提及 skill 名但需要此 skill 的场景
144
+ - 使用"推进式"描述——主动声明适用场景
145
+ - 覆盖非典型用例
146
+
147
+ ### 提升精确率(减少 Overtrigger)
148
+
149
+ - 添加 DO NOT trigger 条件
150
+ - 明确排除与相邻 skill 的职责边界
151
+ - 避免过于宽泛的描述词(如"任何与代码相关的")
152
+
153
+ ### 关于触发机制的理解
154
+
155
+ Skill 出现在 Claude 的 `available_skills` 列表中,Claude 基于 description 做语义匹配决定是否调用。关键点:Claude 只在认为 skill 能提供超出自身能力的价值时才触发——简单的一步操作(如"读取这个文件")即使 description 匹配也可能不触发。
156
+
157
+ 因此测试查询应足够复杂,让 Claude 有理由调用 skill。
158
+
159
+ ---
160
+
161
+ ## 优化过程反模式
162
+
163
+ | 反模式 | 症状 | 解决方向 |
164
+ |--------|------|----------|
165
+ | 批量修改 | 一次改多处,无法定位哪个改动起效 | 每次只改一处,改完验证 |
166
+ | 只看结果不看过程 | 只评价最终输出,忽略 transcript 中的浪费 | 阅读完整的执行过程记录 |
167
+ | 完美主义 | 无限迭代不交付,追求 100% | 定义完成标准,满意即止 |
168
+ | 经验丢失 | 每次优化从零开始,不记录发现 | 维护优化日志 |
169
+ | 数据缺失 | 凭感觉判断优劣,没有对比数据 | 用 skill-creator 的 eval 基础设施量化 |
170
+ | 过早优化 | skill 还没基本功能就开始精简 | 先让 skill 工作,再优化 |
@@ -0,0 +1,201 @@
1
+ # 理论基础:七条原则的深层根基
2
+
3
+ > 本文件提供每条优化原则背后的理论依据。在需要理解"为什么这条原则有效"时阅读。
4
+ > 日常优化参考 SKILL.md 中的精炼版即可。
5
+
6
+ ---
7
+
8
+ ## 目录
9
+
10
+ 1. [Skill 的本质](#skill-的本质)
11
+ 2. [原则一:传意不传形 — 理论基础](#原则一传意不传形)
12
+ 3. [原则二:渐进披露 — 理论基础](#原则二渐进披露)
13
+ 4. [原则三:信噪比优化 — 理论基础](#原则三信噪比优化)
14
+ 5. [原则四:单一职责 — 理论基础](#原则四单一职责)
15
+ 6. [原则五:闭环验证 — 理论基础](#原则五闭环验证)
16
+ 7. [原则六:复杂度适配 — 理论基础](#原则六复杂度适配)
17
+ 8. [原则七:抗过拟合 — 理论基础](#原则七抗过拟合)
18
+ 9. [理论来源索引](#理论来源索引)
19
+
20
+ ---
21
+
22
+ ## Skill 的本质
23
+
24
+ 剥离所有技术细节后,Skill 的本质是:
25
+
26
+ > **一个将人类领域知识编码为 AI 可执行的认知协议的接口。**
27
+
28
+ - **人类领域知识**:承载的是专家的思维方式和判断标准,不是操作步骤
29
+ - **编码**:将波兰尼所说的"默会知识"外显化为可传递的形式
30
+ - **AI 可执行**:不是给人看的文档,而是给 AI 理解和执行的认知框架
31
+ - **认知协议**:不是命令序列("先做A再做B"),而是思维协议("在此情境下如此判断")
32
+
33
+ ### Skill 的成熟度光谱
34
+
35
+ ```
36
+ Level 0: 操作手册 — "先做A,再做B,如果C则做D"
37
+ Level 1: 决策树 — "在X情况下选择Y,因为Z"
38
+ Level 2: 原则框架 — "遵循这些原则,在具体情境中自主判断"
39
+ Level 3: 认知协议 — "像这个领域的专家一样思考"
40
+ ```
41
+
42
+ Level 0-1 易过时(步骤和条件会变),Level 2-3 持久(原则和思维方式很少过时)。优化方向是让核心部分向 Level 2-3 演进。
43
+
44
+ ---
45
+
46
+ ## 原则一:传意不传形
47
+
48
+ ### 理论根基
49
+
50
+ **Constitutional AI(Anthropic)**:让 AI 内化原则而非记忆规则。内化原则的 AI 能在新情境中自主做出符合设计意图的判断。
51
+
52
+ **维特根斯坦的语言游戏**:词语的意义不在于定义,而在于使用。过度具体的规则在新语境中失效,而抽象原则可以被重新诠释以适应新情境。
53
+
54
+ **波兰尼的默会知识**:"我们知道的比能说出来的多。"最高效的知识传递不是列规则,而是展示专家面对歧义时的判断过程。
55
+
56
+ ### 为什么 ALWAYS/NEVER 是黄旗
57
+
58
+ 硬性规则传递的是*形式*(在所有情况下做X),而非*意图*(因为Y原因,在Z情境下做X是好的)。Claude 具备 Theory of Mind,给出原因后它能自主判断边界情况。硬性规则反而剥夺了这种判断能力。
59
+
60
+ 当然,某些约束确实需要硬性规则(如安全性、合规性)。此时附上原因说明,让 AI 理解为什么这是不可协商的。
61
+
62
+ ---
63
+
64
+ ## 原则二:渐进披露
65
+
66
+ ### 理论根基
67
+
68
+ **认知负荷理论(Sweller)**:工作记忆有限。认知负荷分三类:
69
+ - 内在负荷:材料本身的复杂度
70
+ - 外在负荷:呈现方式造成的无谓消耗
71
+ - 关联负荷:构建知识图式的有益努力
72
+
73
+ 目标:最小化外在负荷,最大化关联负荷。
74
+
75
+ **分块理论(Miller)**:短期记忆处理约 7±2 个信息块。通过层级结构(原则 → 标准 → 检查项)实现信息的递进分块。
76
+
77
+ **脚手架理论(Vygotsky)**:学习发生在"最近发展区"。Skill 应设计渐进式支持结构——核心指令是永久脚手架,references/ 是按需脚手架。
78
+
79
+ ### 上下文窗口是稀缺资源
80
+
81
+ 所有 skill 的 description 共享上下文预算。始终在上下文中的触发层必须极度精简(~100 词/skill)。认知层在触发后加载,应控制在 500 行以内。资源层按需加载,无大小限制。
82
+
83
+ ---
84
+
85
+ ## 原则三:信噪比优化
86
+
87
+ ### 理论根基
88
+
89
+ **Shannon 信息论**:Prompt 是信道,用户意图是信号,歧义和冗余是噪声。指令设计的本质是信噪比优化。
90
+
91
+ **奥卡姆剃刀**:如无必要,勿增实体。每条指令需要证明自己存在的必要性。
92
+
93
+ ### 信号密度的量化思考
94
+
95
+ - 关键行为约束用结构化格式(表格、列表)——高信号密度
96
+ - 背景信息极简表达——必要但不喧宾夺主
97
+ - 5 条精确的规则胜过 20 条模糊的规则
98
+ - 指令长度应与任务复杂度匹配——不是越短越好,也不是越详尽越好
99
+
100
+ ### 冗余的悖论
101
+
102
+ 适度冗余保护核心信息——关键原则在不同位置重复强调是信号。过度冗余降低 SNR——同一信息无新上下文的重复是噪声。区分标准:这次重复是否增加了新的上下文或视角?
103
+
104
+ ---
105
+
106
+ ## 原则四:单一职责
107
+
108
+ ### 理论根基
109
+
110
+ **SOLID-SRP(Robert C. Martin)**:一个模块只应因为一个理由而改变。
111
+
112
+ **Unix 哲学**:做一件事并做好。通过组合实现复杂能力。
113
+
114
+ **OpenAI Agent 最佳实践**:渐进复杂度——从简单开始,只在需要时增加复杂度。
115
+
116
+ ### 触发的经济学
117
+
118
+ 模糊职责的 Skill 在触发匹配时产生歧义——AI 不确定何时该用。这导致两种失败:
119
+ 1. Undertrigger:该用时没用(召回率低)
120
+ 2. Overtrigger:不该用时用了(精确率低)
121
+
122
+ 清晰的单一职责让 description 可以精确描述"做什么"和"何时用",从而提升触发准确率。
123
+
124
+ ---
125
+
126
+ ## 原则五:闭环验证
127
+
128
+ ### 理论根基
129
+
130
+ **控制论(Wiener)**:闭环控制是可靠系统的必要条件。反馈的延迟和质量决定系统稳定性。
131
+
132
+ **波利亚的问题解决四步法**:"回顾"阶段是理解和泛化的关键。
133
+
134
+ **Reflexion 架构**:通过自我反思从失败中学习。
135
+
136
+ ### 开环的指数风险
137
+
138
+ 开环控制(给指令后不检查结果)在复杂任务中的失败率随步骤数指数增长。假设每步成功率 90%,10 步后整体成功率仅 35%。验证点的作用是在失败扩散前截断错误链。
139
+
140
+ ---
141
+
142
+ ## 原则六:复杂度适配
143
+
144
+ ### 理论根基
145
+
146
+ **双过程理论(Kahneman)**:思维分为 System 1(快速直觉)和 System 2(慢速分析)。常规任务应可由"快思考"处理,只在需要深度推理时才激活"慢思考"。这就是复杂度分流的认知科学基础。
147
+
148
+ **有限理性(Simon)**:不追求"最优流程"的幻觉,而提供"足够好"的决策框架。何时停止优化本身就是一个需要设计的判断准则。
149
+
150
+ **必要多样性定律(Ashby)**:控制系统的复杂度必须至少与被控系统相当。简单指令无法可靠控制复杂任务——但过度复杂的指令在简单任务上是浪费。
151
+
152
+ ---
153
+
154
+ ## 原则七:抗过拟合
155
+
156
+ ### 理论根基
157
+
158
+ **ML 泛化理论**:训练集上表现完美但测试集上失败 = 过拟合。Skill 的"训练集"是测试用例,"测试集"是真实用户输入。为特定测试用例量身定做的修改是过拟合。
159
+
160
+ **锚定效应(Kahneman)**:示例具有极强的锚定力量——它们会成为输出的隐性模板。坏的示例比没有示例更危险,因为它会锚定所有后续输出。
161
+
162
+ **Anthropic 的 "Generalize from Feedback"**:从反馈中提炼通用原则,而非为特定失败打补丁。
163
+
164
+ ### 健康的示例设计
165
+
166
+ - 3-5 个多样化示例,覆盖不同场景
167
+ - 展示推理过程,而非仅展示最终结果
168
+ - 示例之间应有足够差异性,避免锚定到单一模式
169
+ - 定期用新的、未见过的输入测试 skill
170
+
171
+ ---
172
+
173
+ ## 理论来源索引
174
+
175
+ ### 认知科学
176
+ - John Sweller — 认知负荷理论
177
+ - George Miller — 分块理论(7±2 法则)
178
+ - Lev Vygotsky — 最近发展区与脚手架理论
179
+
180
+ ### 心理学
181
+ - Daniel Kahneman — 双过程理论、锚定效应
182
+ - Herbert Simon — 有限理性与满意解
183
+
184
+ ### 哲学
185
+ - Ludwig Wittgenstein — 语言游戏
186
+ - Michael Polanyi — 默会知识
187
+ - William of Ockham — 奥卡姆剃刀
188
+
189
+ ### 信息论与控制论
190
+ - Claude Shannon — 信息熵、信噪比
191
+ - Norbert Wiener — 反馈循环与闭环控制
192
+ - W. Ross Ashby — 必要多样性定律
193
+
194
+ ### 软件工程
195
+ - Robert C. Martin — SOLID 原则
196
+ - Unix 哲学 — 做一件事并做好
197
+
198
+ ### AI Agent 设计
199
+ - Anthropic — Building Effective Agents、Constitutional AI
200
+ - OpenAI — A Practical Guide to Building Agents
201
+ - 学术界 — ReAct、Plan-and-Execute、Reflexion 架构