关于 selftune
selftune 是一项技能及命令行工作流,用会话证据评估和改进 Agent 技能。它帮助运营者检查发布准备情况、演进技能包、发布更改并监测结果,也可根据重复遥测模式搭建工作流技能。
主要功能
- 01检查技能健康状况与就绪度
- 02通过回放和测试评估技能包
- 03改进技能路由和内容
- 04发布更改并监测回归
- 05依据遥测搭建工作流技能
适用场景
- 01检查技能是否达到发布条件
- 02依据会话证据改进技能
- 03监测已发布技能的回归
- 04从重复模式创建工作流技能
MCP 相关
CLI 可通过 `selftune mcp serve` 启动 MCP 服务,以只读方式通过 stdio 暴露本地技能注册表。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ selftune-dev/ selftune --skill selftune安装后在 Claude Code 中输入/selftune确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
selftune.contribute.jsonsettings_snippet.jsonagents/diagnosis-analyst.mdevidence-cohort-teacher.mdevolution-reviewer.mdintegration-guide.mdpattern-analyst.mdassets/activation-rules-default.jsonmulti-skill-settings.jsonsingle-skill-settings.jsonevals/evals.jsonrouting.jsonreferences/cli-quick-reference.mdcreator-playbook.mdexamples.mdgrading-methodology.mdinteractive-config.mdinvocation-taxonomy.mdlogs.mdsetup-patterns.mdtroubleshooting.mdversion-history.mdworkflows/AutoActivation.mdBadge.mdBaseline.mdComposability.mdContribute.mdContributions.mdCreate.mdCreateTestDeploy.md详细介绍
selftune
观察真实 Agent 会话,检测遗漏的触发条件,评估执行质量,通过套件评估(重放、基线、评分、正文、单元测试和部署后监控)改进技能,并根据重复出现的遥测模式搭建工作流技能。
你是操作者。 用户安装此技能,是为了让你自主管理他们的技能健康状况。用户会说“设置 selftune”“改进我的技能”或“我的技能运行得怎么样?”之类的话——你需要据此选择下方正确的工作流。用户不会直接运行 CLI 命令;由你来运行。
初始化
搜索、加载和按任务激活均不需要初始化遥测。通过 SkillSearch 使用现有本地套件时,不要运行设置。
如果 ~/.selftune/config.json 不存在,请先阅读 workflows/Initialize.md。必须先安装 CLI(selftune 位于 PATH 中),其他命令才能正常运行。完成初始化之前,不要运行其他命令。
主要生命周期
除非用户明确要求执行低级工作流,否则默认遵循此生命周期:
-
status- 使用
selftune status - 对草稿套件,使用
selftune create status --skill-path <path>
- 使用
-
verify- 使用
selftune verify --skill-path <path> - 如果 verify 报告缺少就绪状态或证据,请按照其返回的下一个低级命令操作,而不是重新运行整个流程
- 使用
-
publish- 对草稿套件,使用
selftune publish --skill-path <path> - 对已上线的技能,
publish通常指经过验证的Improve操作加上Watch
- 对草稿套件,使用
-
improve- 使用
selftune improve --skill <name> --skill-path <path> - 如果技能已有套件证据或草稿套件清单,让
--scope auto自动选择范围有限的套件搜索 - 如果已明确测得的差距,并想指定修改范围,请设置
--scope description|routing|body|package - 如果问题同时涉及路由和正文,或想先比较测得的前沿结果再决定发布内容,请使用
--scope package - 如果希望自动将胜出的套件候选提升回草稿,请省略
--dry-run
- 使用
-
run- 使用
selftune run
- 使用
除非用户直接要求,或默认生命周期失败,否则将 eval generate、unit-test、replay、baseline、watch 和正文专项改进视为高级辅助工作流。
命令执行策略
selftune <command> [options]
命令的输出格式各不相同:
- 默认输出 JSON:
selftune doctor和selftune watch会在 stdout 上输出结构化 JSON。 - 默认输出文本: 当 stdout 是 TTY 时,
selftune status、selftune last、selftune verify、selftune publish和selftune improve会输出易于阅读的文本。 - 混合运行时输出:
selftune run/selftune orchestrate会在 stdout 上输出 JSON,并在 stderr 上输出人工可读的报告。 - 可选 JSON 输出:
selftune sync --json会启用结构化 JSON 输出。 - 服务:
selftune dashboard会启动本地 SPA 服务端,不会输出数据。 - MCP 服务:
selftune mcp serve会通过 stdio 暴露只读的本地技能注册表。 - JSON:
selftune library会协调已安装、缓存、草稿和已归档的套件。 - 搜索:
selftune skills search "task or collection" --json会查找本地技能,但不会激活它们;参见workflows/SkillSearch.md。
进行健康问题修复时,优先采用 selftune doctor 输出中的机器可读 guidance.next_command 或顶层 next_command,而不要根据说明文字推断下一步。
运行 selftune <command> --help 查看准确的标志。需要完整标志参考时,请阅读 references/cli-quick-reference.md。
软件包评估流程(创作者信任闭环)
当用户希望改进技能时,默认先采用此软件包评估流程,再直接着手修改。每一步都会积累可衡量的证据,证明软件包已准备好发布:
draft— 软件包已存在,但仍不完整verify_blocked— 草稿仍处于以下某个明确的就绪状态:needs_spec_validation、needs_package_resources、needs_evals、needs_unit_tests、needs_routing_replay或needs_baselineverified— 信任关卡已通过,技能已准备好发布published— 技能已成功发布watching— 部署后监控已启动needs_improvement— 可衡量的证据显示触发、路由、正文或价值方面存在不足unhealthy— hooks、遥测、配置或 selftune 本身出现故障
如果用户询问“我怎么知道这个技能是否有效?”或“这个技能现在值得信任吗?”,请从此流程入手,再使用 selftune status、仪表板或技能报告,说明仍缺少哪些内容、软件包是否已准备好发布,或是否已在进行实时监控。
基于设备的证明标准
当用户要求使用实际数据、前后对比或设备上的证据进行证明时,不要用合成样本、汇总评分或仅基于 Git 的修正来替代用户要求的证据。
- 在评估候选方案之前,先找出一个真实的本地会话或跟踪记录,并追溯到原始用户输入和观察到的助手输出。
- 固定源路径、会话 ID、事件时间戳、测试框架、模型/配置、确切输入,以及相关技能版本或策略摘要。
- 并排展示忠实的基线摘录和具体的候选输出。通过率摘要不能替代可见输出。
- 使用相同的明确行为检查来评估两种输出,并引用满足或违反各项检查的源事件。
- 将合成案例和基于 Git 的案例视为管道或回归证据,而不是用户真实使用轨迹有所改善的证明。
- 至少展示一个设备端案例后,才能宣布已满足真实数据要求。如果隔离的托管重放会在未经批准的情况下暴露本地数据,请使用已观察到的修正轨迹或本地测试框架,并说明测试框架的局限,不要伪造等效性。
工作流路由
对于查找/搜索技能、为此任务使用集合、临时项目技能或清理任务技能,请使用 workflows/SkillSearch.md。先搜索,只加载选定的说明,并在完成前清理任务的激活状态。
| 触发关键词 | 工作流 | 文件 |
|---|---|---|
| 创建技能,新建技能包,编写技能,初始化技能包,搭建包结构,基准测试报告,包报告,发布报告 | Create | workflows/Create.md |
| 验证技能,创建者循环,我可以信任这个技能吗,如何知道这个技能是否有效,测试此技能,准备发布,准备部署 | Verify | workflows/Verify.md |
| 发布技能,交付技能,部署技能,正式上线,发布技能 | Publish | workflows/Publish.md |
| 搜索运行,包前沿,候选搜索,有界包演进,比较包候选项,优化包,同时改进路由和正文,有界演进 | SearchRun | workflows/SearchRun.md |
| 评分,打分,评估,评估会话,自动评分 | Grade | workflows/Grade.md |
| 评测,评测集,触发不足,技能统计,生成评测 | Evals | workflows/Evals.md |
| 改进,优化技能,让技能更好,触发词,捕获更多查询,应用提案,应用贡献者提案 | Improve | workflows/Improve.md |
| 演进描述,仅演进描述,改进触发词措辞 | Evolve | workflows/Evolve.md |
| 演进正文,演进路由,完整正文演进,重写技能,教师学生,审查本地轨迹候选项,准备候选项 | EvolveBody | workflows/EvolveBody.md |
| 回滚演进,撤销,恢复,还原演进,返回,撤销上次更改 | Rollback | workflows/Rollback.md |
| 监视,监控,回归,部署后,持续关注 | Watch | workflows/Watch.md |
| 诊断,健康,钩子,故障,排查,不工作,出问题了 | Doctor | workflows/Doctor.md |
| 导入,导入数据,codex 日志,opencode,openclaw,pi,封装 codex | Ingest | workflows/Ingest.md |
| 重放,回填,claude 转录记录,历史会话 | Replay | workflows/Replay.md |
| 贡献,分享偏好,选择加入/退出创建者分享,批准/撤销贡献 | Contributions | workflows/Contributions.md |
| 创建者贡献,selftune.contribute.json,启用/禁用创建者贡献 | CreatorContributions | workflows/CreatorContributions.md |
| 信号仪表板,贡献者信号,信号页面,社区仪表板,社区数据,贡献者统计,信号健康状况,信号情况如何,社区情况如何 | SignalsDashboard | workflows/SignalsDashboard.md |
| 贡献,分享,导出包,导出数据,匿名化,回馈社区 | Contribute | workflows/Contribute.md |
| 初始化,设置,配置,搭建,首次使用,安装,配置 selftune | Initialize | workflows/Initialize.md |
| cron,计划,自动化演进,自动运行 | Cron | workflows/Cron.md |
| 计划,selftune 计划,launchd,systemd,crontab,自动化设置 | Schedule | workflows/Schedule.md |
| 后台服务,守护进程,登录时启动,持久化仪表板,菜单栏服务,服务不可用,服务锁过期,修复锁,轮换本地令牌 | Service | workflows/Service.md |
| 自动激活,建议,激活规则,提示,为什么要建议 | AutoActivation | workflows/AutoActivation.md |
| 仪表板,可视化,打开仪表板,显示仪表板,提供仪表板服务 | Dashboard | workflows/Dashboard.md |
| 演进记忆,会话连续性,最后发生了什么 | EvolutionMemory | workflows/EvolutionMemory.md |
| 评分基线,基线提升,创造价值,技能价值,无技能对比 | Baseline | workflows/Baseline.md |
| 评测单元测试,技能测试,测试技能,生成测试,运行测试 | UnitTest | workflows/UnitTest.md |
| 运行输出评测,与无技能对比,基准测试技能输出,评测迭代,盲测对比 | EvalRun | workflows/EvalRun.md |
| 评测可组合性,共现,技能冲突,类别重叠,同类技能混淆 | Composability | workflows/Composability.md |
| 导入评测,skillsbench,外部评测,基准测试任务 | ImportSkillsBench | workflows/ImportSkillsBench.md |
| 遥测,分析,禁用分析,选择退出,跟踪,隐私 | Telemetry | workflows/Telemetry.md |
| 编排,自主运行,完整循环,改进所有技能,运行 selftune,运行 selftune 循环,结合包搜索运行,自动改进包 | Run | workflows/Run.md |
| 同步,刷新,事实来源,重新扫描会话 | Sync | workflows/Sync.md |
| 徽章,README 徽章,技能徽章,健康徽章 | Badge | workflows/Badge.md |
| 工作流,发现工作流,搭建工作流技能,根据日志构建技能 | Workflows | workflows/Workflows.md |
| 恢复,重建 sqlite,恢复数据库,旧版回填 | Recover | workflows/Recover.md |
| 快速入门,开始使用,引导,新手设置,新用户 | Quickstart | workflows/Quickstart.md |
| 卸载,移除 selftune,清理,拆除 | Uninstall | workflows/Uninstall.md |
| 修复,重建使用记录,修复技能使用记录,可信的使用记录 | RepairSkillUsage | workflows/RepairSkillUsage.md |
| 未使用的技能,非活跃技能,重复安装,过期的技能版本,整合技能,移除技能,清理技能,清理技能,技能组合,隔离技能,恢复技能 | SkillPortfolio | workflows/SkillPortfolio.md |
| 技能库,所有技能,已安装位置,缓存技能,归档技能,协调技能 | Library | workflows/Library.md |
| 技能集,建议技能集,分类技能,技能类别,共同使用的技能,项目技能,可复用的技能设置,关联技能,符号链接技能,将技能应用到项目,项目配置文件,将技能集添加到项目,设置项目技能 | SkillSets | workflows/SkillSets.md |
| 导出规范数据,规范数据导出,规范遥测数据,推送负载 | ExportCanonical | workflows/ExportCanonical.md |
| 钩子,运行钩子,调用钩子,手动钩子,调试钩子 | Hook | workflows/Hook.md |
| codex/opencode/cline/pi 钩子,平台钩子,非 claude 钩子,多 Agent | PlatformHooks | workflows/PlatformHooks.md |
| 注册表,分发,推送/建议/安装/同步/回滚技能,提交本地技能更改,团队技能 | Registry | workflows/Registry.md |
| 导出,转储,jsonl,导出 sqlite,调试导出 | Export | (直接运行:selftune export) |
| 状态,健康摘要,技能健康状况,技能情况如何,运行 selftune | Status | (直接运行:selftune status) |
| 最近,最近的会话,近期会话,发生了什么 | Last | (直接运行:selftune last) |
工作流 Grade、Improve、Watch 和 Ingest 也可以通过 selftune orchestrate 自主运行。 | ||
当存在包级评估证据时,selftune orchestrate(别名为 selftune run) | ||
| 可以自动选择包级有界搜索,而不是描述级 evolve。 |
交互式配置
运行会修改内容的工作流(evolve、evolve-body、evals、baseline)之前,请查阅
references/interactive-config.md,了解预检配置模式、模型层级参考和快速路径规则。
专用 Agent
selftune 在 agents/ 中提供了专用 Agent。阅读相关 Agent 文件并
遵循其中的说明——可以直接执行,也可以启动子 Agent。
| 触发关键词 | Agent 文件 | 使用时机 |
|---|---|---|
| 诊断、根本原因、为何失败、调试性能 | agents/diagnosis-analyst.md | doctor/status 后仍反复获得低评级或失败原因不明 |
| 模式、冲突、跨技能、重叠 | agents/pattern-analyst.md | 技能重叠、路由错误或相互干扰 |
| 审查演进、检查提案、能否安全部署 | agents/evolution-reviewer.md | 部署高风险或效果边缘的演进之前 |
| 设置 selftune、集成、配置项目 | agents/integration-guide.md | 复杂设置:monorepo、多技能、混合平台 |
| 本地轨迹候选、证据群组提案 | agents/evidence-cohort-teacher.md | 根据轨迹模式准备有界、仅供审查的正文候选项 |
高级工作流
当用户明确要求执行底层步骤、主要生命周期流程失败,或调试需要更深入的证据时,加载以下文件:
workflows/Evals.mdworkflows/UnitTest.mdworkflows/EvalRun.mdworkflows/Baseline.mdworkflows/Replay.mdworkflows/Watch.mdworkflows/Evolve.mdworkflows/EvolveBody.mdworkflows/Composability.mdworkflows/ImportSkillsBench.mdworkflows/SkillPortfolio.mdworkflows/SkillSearch.mdworkflows/SkillSets.mdworkflows/Service.md
反例
以下情况不应触发 selftune——它们虽包含相同关键词,但并不符合条件:
- “修复这个 React 水合错误”——常规调试,不是技能改进
- “制作一份关于 Q3 业绩的 PowerPoint”——pptx 技能,不是 selftune
- “运行我的单元测试”——项目测试,不是技能评估测试
- “如何使用 Research 技能?”——技能_用法_,不是_改进_
- “根据这些数据生成报告”——内容生成,不是技能演进
- “我的构建失败了”——项目问题,不是 selftune 健康状况
- “评估这段代码是否存在安全问题”——代码审查,不是会话评级
- “提升这个函数的性能”——代码优化,不是技能优化
如果所需技能已可用,请直接使用该技能。如果用户要求查找技能、将技能集合引入此项目,或临时使用技能, 请转到 SkillSearch。改进请求仍使用评估生命周期。
创作者定向贡献
此技能附带一个 selftune.contribute.json 配置,用于启用创作者定向信号中继。当用户安装 selftune 并批准贡献后,匿名使用信号(trigger、grade、miss_category)会中继给 selftune 创作者,以改进技能,让所有人受益。
- 附带配置中的
creator_id是创作者的公开 Creator ID。 - 用户通过
selftune contributions approve selftune选择加入。 - 绝不会共享原始会话内容——只会共享保护隐私的汇总信号。
- 创作者端的设置请参阅
workflows/CreatorContributions.md。 - 终端用户选择加入/退出的说明请参阅
workflows/Contributions.md。
路由关键词:创作者贡献、selftune 信号、dogfood 中继、社区贡献、信号共享、选择加入创作者、创作者 UUID。
更多参考资料
按需加载——只有当前任务需要时才阅读:
| 参考资料 | 阅读时机 |
|---|---|
references/cli-quick-reference.md | 需要了解 --help 以外的准确 CLI 标志 |
references/troubleshooting.md | 诊断常见错误 |
references/examples.md | 需要逐步了解场景操作流程 |
references/creator-playbook.md | 发布供他人安装的技能;发布前与发布后的流程 |
references/interactive-config.md | 修改工作流之前 |
references/grading-methodology.md | 对会话进行评分或解读评分 |
references/invocation-taxonomy.md | 分析触发覆盖情况 |
references/logs.md | 解析或调试日志文件 |
references/setup-patterns.md | 复杂的平台特定设置 |
references/version-history.md | 查看版本之间的变更 |
settings_snippet.json | 初始化期间 |