技能创建系统 (Skill Creator) v1.2.0
概述
Skill Creator 是 ChainlessChain 的内置系统技能,用于创建、测试、优化和验证其他技能。v1.2.0 新增了 LLM 驱动的描述优化循环(optimize-description),可自动评估并改写技能描述,使其触发精度最大化。
版本历史
| 版本 | 变更 |
|---|---|
| v1.0.0 | 基础功能:create、test、optimize(静态)、validate、list-templates |
| v1.2.0 | 新增 optimize-description LLM 驱动描述优化循环;_deps 注入 spawnSync;支持 --advanced、--iterations 标志 |
核心动作
create
从名称和描述生成 SKILL.md + handler.js 骨架文件。
skill run skill-creator "create my-skill \"做某件事的技能\""- 自动推断
category(knowledge/automation/development/system/media/productivity) - 若技能目录已存在,返回
alreadyExists: true并附上模板内容(不覆盖)
test
调用指定技能的 handler.js 并展示结果。
skill run skill-creator "test smart-search 搜索示例"optimize(快速启发式)
对 SKILL.md 的 description 字段进行静态检查:
- 长度 < 50 字符 → 建议补充更多触发场景
- 缺少
use when/trigger关键词 → 建议添加触发语句 - 长度 > 200 字符 → 建议精简
skill run skill-creator "optimize code-review"optimize-description(LLM 驱动优化循环)
v1.2.0 新增。使用 LLM 对描述进行迭代优化,步骤如下:
- 生成 eval 查询集:LLM 生成 20 条真实用户请求(10 个应触发、10 个不应触发)
- 60/40 分割:随机打散后前 60% 为训练集,后 40% 为测试集(防止过拟合)
- 计算基线测试分:在测试集上评估当前描述的触发准确率
- 迭代优化循环(最多 N 次,默认 5 次):
- 在训练集评估失败项(触发结果与预期不符)
- 若无失败 → 提前终止
- LLM 根据失败案例改写描述
- 在测试集评估新描述分数
- 若测试分更高 → 记录为最优描述
- 写回 SKILL.md:将最优描述替换
description字段(仅在有改进时) - 保存结果:输出至
<skillDir>/.opt-workspace/results.json
# 基础用法(默认 5 次迭代)
skill run skill-creator "optimize-description code-review"
# 指定迭代次数
skill run skill-creator "optimize-description code-review --iterations 3"
# 通过 --advanced 标志触发(等价于 optimize-description)
skill run skill-creator "optimize code-review --advanced"
skill run skill-creator "optimize code-review --advanced --iterations 3"validate
检查技能目录的完整性和 SKILL.md 格式:
skill run skill-creator "validate ultrathink"检查项:
SKILL.md存在且有 YAML frontmatter- 包含
name、description、handler字段 handler.js存在且可require()handler.js导出execute()和init()函数
list-templates / get-template
列出或获取内置模板:
skill run skill-creator "list-templates"
skill run skill-creator "get-template basic"
skill run skill-creator "get-template api-integration"内置模板:
| 模板名 | 说明 |
|---|---|
basic | 最简单的问候技能,单动作结构 |
multi-action | 多动作任务追踪器(create/list/complete/stats) |
api-integration | REST API 调用模板,含 _deps 注入和认证 |
file-processor | Markdown 文件分析,含 _deps.fs 注入 |
code-analyzer | 纯正则表达式代码复杂度分析 |
技术设计
_deps 注入模式
所有 I/O 操作通过 _deps 对象访问,支持单元测试时注入 mock:
const _deps = { fs, path, spawnSync };
module.exports = { _deps, async execute() {...} };
// 测试中:
handler._deps.fs = createMockFs({ ... });
handler._deps.spawnSync = vi.fn().mockReturnValue({ status: 0, stdout: "YES" });LLM 调用(CLI 模式)
callLLM(prompt) 函数通过 spawnSync 调用 chainlesschain ask 命令:
function callLLM(prompt) {
const result = _deps.spawnSync(
process.execPath,
[process.argv[1], "ask", prompt],
{ encoding: "utf-8", timeout: 60000, windowsHide: true,
env: { ...process.env, CHAINLESSCHAIN_QUIET: "1" } }
);
if (result.error || result.status !== 0) return null;
return (result.stdout || "").trim() || null;
}- 仅在
chainlesschain skill run上下文中可用 - LLM 不可用时(非 CLI 环境、超时等)返回
null,所有依赖 LLM 的操作优雅降级
评估逻辑
generateEvalQueries:要求 LLM 生成严格的 JSON 数组格式:
[{"query":"...", "should_trigger": true}, ...]evaluateDescriptionDetailed:每条查询单独问 LLM:
Would you invoke this skill to help? Answer with exactly YES or NO.improveDescription:提供失败案例和改写指南,让 LLM 返回新描述(≤200字符,略微"激进"以提升触发率)。
降级处理
| 失败场景 | 行为 |
|---|---|
| LLM 不可用(status≠0) | 返回 { success: false, action: "optimize-description", hint: "Run via: chainlesschain skill run ..." } |
| eval queries 生成失败(<4条) | 同上 |
| 中途 LLM 失败 | 停止迭代,写回当前最优描述 |
| 无改进 | 不更新 SKILL.md,报告"description is already optimal" |
文件结构
desktop-app-vue/src/main/ai-engine/cowork/skills/builtin/skill-creator/
├── SKILL.md # 技能声明(v1.2.0)
└── handler.js # 主逻辑(_deps 注入 + LLM 优化循环)测试覆盖
| 层次 | 文件 | 数量 |
|---|---|---|
| 单元测试 | skills/__tests__/v1.2.0-skill-creator.test.js | 50 个测试 |
| 集成测试 | cli/__tests__/integration/skill-creator-handler.test.js | 12 个测试 |
| E2E 测试 | cli/__tests__/e2e/skill-creator-commands.test.js | 14 个测试 |
全部通过(76 个测试)。
附录:规范章节补全(v5.0.3.108)
本文为系统设计子文档。为对齐项目文档标准结构,下列章节以
见正文指引或简述方式补齐若干视角,不重复正文细节。
1. 概述
见正文「模块概述 / 功能描述」。技能创建系统(Skill Creator v1.2):创建 / 优化 / 评测技能。
2. 核心特性
技能创建 / 优化 / eval / 性能基准。
3. 系统架构
见正文「架构设计」。
4. 系统定位
ChainlessChain 的「技能创建系统」。
5. 核心功能
见正文模块概述与各节。
6. 技术架构
见正文实现章节。
7. 系统特点
见正文(状态 / 版本 / 特性)。
8. 应用场景
见正文应用场景 / 背景。
9. 竞品对比
见正文对比(如有)。
10. 配置参考
见正文配置 / 参数章节。
11. 性能指标
见正文性能 / 指标章节。
12. 测试覆盖
见正文测试章节。
13. 安全考虑
见正文安全 / 权限章节。
14. 故障排除
见正文故障 / 已知限制章节。
15. 关键文件
见正文实现位置 / 关键文件章节。
16. 使用示例
见正文使用 / API 示例。
17. 相关文档
系统设计主文档、docs-site 对应功能页。
