docs(skill): 覆盖率阶段 2 完成 —— 全量 evals 与四段式文档清零
skill-gate / gate (push) Waiting to run

- 24 个技能补齐 evals(正常/边界/失败恢复)与 docs/skills/*.md
- 覆盖 dev 类、发布 runbook、karpathy 守则、PR/清单等
- coverage: 24 -> 0(40 个 promoted+model-invoked 全覆盖)
This commit is contained in:
johnQ
2026-11-01 05:19:28 +08:00
parent 8bc3300928
commit 7b221cc767
50 changed files with 1210 additions and 103 deletions
+5
View File
@@ -48,3 +48,8 @@
- 新增 `scripts/scan-installed.sh`:扫描已装但非本仓库管理的第三方技能(当前 33 个,0 高危)。
- `generate-catalog.py` 增加 `has_evals` / `has_docs` 与 `coverage` 汇总;`validate-skills.py` 增加 `--coverage` 报告与路由表一致性检查。
- `SCOPE.md` 增加覆盖率路线图(3–4 周补齐 40 个技能的 evals 与文档);`MAINTENANCE.md` 同步。
### 覆盖率阶段 2(2026-11-01)
- 补齐剩余 24 个技能(dev 类为主)的 `evals/evals.json`(各 3 条)与 `docs/skills/<name>.md`(四段式)。
- `--coverage`:40 个 promoted+model-invoked 技能的 evals 与文档缺口 **24 → 0**。
+53 -103
View File
@@ -2,62 +2,12 @@
"repo": "ai-proj-helper",
"coverage": {
"required": 40,
"with_evals": 16,
"with_docs": 16,
"missing_evals": [
"agent-browser",
"agent-swarm",
"ai-chat",
"db-migration",
"defect-analysis",
"deploy-rollback",
"dev-arch",
"dev-cicd",
"dev-coding",
"dev-commit",
"dev-deploy",
"dev-integration",
"dev-mcp",
"dev-review",
"dev-scaffold",
"dev-test",
"executing-plans",
"finishing-a-development-branch",
"frontend-design",
"karpathy-guidelines",
"pull-request",
"review-checklist",
"slark-cicd",
"slark-dsh-cicd"
],
"missing_docs": [
"agent-browser",
"agent-swarm",
"ai-chat",
"db-migration",
"defect-analysis",
"deploy-rollback",
"dev-arch",
"dev-cicd",
"dev-coding",
"dev-commit",
"dev-deploy",
"dev-integration",
"dev-mcp",
"dev-review",
"dev-scaffold",
"dev-test",
"executing-plans",
"finishing-a-development-branch",
"frontend-design",
"karpathy-guidelines",
"pull-request",
"review-checklist",
"slark-cicd",
"slark-dsh-cicd"
]
"with_evals": 40,
"with_docs": 40,
"missing_evals": [],
"missing_docs": []
},
"generated_at": "2026-10-31T21:14:46Z",
"generated_at": "2026-10-31T21:19:23Z",
"total": 61,
"counts": {
"promoted/user-invoked": 18,
@@ -207,8 +157,8 @@
"description_len": 71,
"path": "skills-dev/agent-browser-plugin/skills/SKILL.md",
"digest": "f382bffe3d1c84b2",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "agent-swarm",
@@ -220,8 +170,8 @@
"description_len": 153,
"path": "skills-dev/agent-swarm-plugin/skills/SKILL.md",
"digest": "4164f82025a421bb",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "ai-chat",
@@ -233,8 +183,8 @@
"description_len": 78,
"path": "skills-dev/ai-chat-plugin/skills/SKILL.md",
"digest": "81193de50b43d95c",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "ai-proj-cicd-release",
@@ -272,8 +222,8 @@
"description_len": 77,
"path": "skills-dev/db-migration-plugin/skills/SKILL.md",
"digest": "f8d6ebbddbbf7a71",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "defect-analysis",
@@ -285,8 +235,8 @@
"description_len": 68,
"path": "skills-dev/defect-analysis-plugin/skills/SKILL.md",
"digest": "23dfafda92d0c622",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "deploy-rollback",
@@ -298,8 +248,8 @@
"description_len": 49,
"path": "skills-dev/deploy-rollback-plugin/skills/SKILL.md",
"digest": "75ebf66a3f74195a",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-android",
@@ -324,8 +274,8 @@
"description_len": 69,
"path": "skills-dev/dev-arch-plugin/skills/SKILL.md",
"digest": "c9a419c83a307a11",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-cicd",
@@ -337,8 +287,8 @@
"description_len": 119,
"path": "skills-dev/dev-cicd-plugin/skills/SKILL.md",
"digest": "a763f0f140516411",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-coding",
@@ -350,8 +300,8 @@
"description_len": 81,
"path": "skills-dev/dev-coding-plugin/skills/SKILL.md",
"digest": "cc43720aa12bb8f6",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-commit",
@@ -363,8 +313,8 @@
"description_len": 99,
"path": "skills-dev/dev-commit-plugin/skills/SKILL.md",
"digest": "1560658c4a30df45",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-deploy",
@@ -376,8 +326,8 @@
"description_len": 90,
"path": "skills-dev/dev-deploy-plugin/skills/SKILL.md",
"digest": "fd15a9e9135bcc49",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-integration",
@@ -389,8 +339,8 @@
"description_len": 64,
"path": "skills-dev/dev-integration-plugin/skills/SKILL.md",
"digest": "eff6be8eb57b7fef",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-ios",
@@ -415,8 +365,8 @@
"description_len": 84,
"path": "skills-dev/dev-mcp-plugin/skills/SKILL.md",
"digest": "83d5912212fcfa4a",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-pda",
@@ -441,8 +391,8 @@
"description_len": 91,
"path": "skills-dev/dev-review-plugin/skills/SKILL.md",
"digest": "a8a1ec79b85e3227",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-scaffold",
@@ -454,8 +404,8 @@
"description_len": 43,
"path": "skills-dev/dev-scaffold-plugin/skills/SKILL.md",
"digest": "4044787b1e468302",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "dev-test",
@@ -467,8 +417,8 @@
"description_len": 67,
"path": "skills-dev/dev-test-plugin/skills/dev-test/SKILL.md",
"digest": "a03536a478eabe6c",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "executing-plans",
@@ -480,8 +430,8 @@
"description_len": 104,
"path": "skills-dev/executing-plans-plugin/skills/SKILL.md",
"digest": "8991a50091af83a4",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "finishing-a-development-branch",
@@ -493,8 +443,8 @@
"description_len": 80,
"path": "skills-dev/finishing-branch-plugin/skills/SKILL.md",
"digest": "1102047ccc060e60",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "frontend-design",
@@ -506,8 +456,8 @@
"description_len": 234,
"path": "skills-dev/frontend-design-plugin/skills/SKILL.md",
"digest": "84e9c104be7967cc",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "karpathy-guidelines",
@@ -519,8 +469,8 @@
"description_len": 64,
"path": "skills-dev/karpathy-guidelines-plugin/skills/SKILL.md",
"digest": "a68f347031110d6a",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "pull-request",
@@ -532,8 +482,8 @@
"description_len": 219,
"path": "skills-dev/pull-request-plugin/skills/SKILL.md",
"digest": "40dac0d290782bb5",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "review-checklist",
@@ -545,8 +495,8 @@
"description_len": 54,
"path": "skills-dev/review-checklist-plugin/skills/SKILL.md",
"digest": "5bae13b6a8d92650",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "slark-cicd",
@@ -558,8 +508,8 @@
"description_len": 285,
"path": "skills-dev/slark-cicd-plugin/skills/SKILL.md",
"digest": "1ff9b89a5fbc6e2d",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "slark-dsh-cicd",
@@ -571,8 +521,8 @@
"description_len": 306,
"path": "skills-dev/slark-dsh-cicd-plugin/skills/SKILL.md",
"digest": "9819e2d515ab44e0",
"has_evals": false,
"has_docs": false
"has_evals": true,
"has_docs": true
},
{
"name": "data-excel",
+21
View File
@@ -0,0 +1,21 @@
# agent-browser
## What it does
浏览器自动化(snapshot-ref)。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# agent-swarm
## What it does
多 agent 编排(Swarm 模式)。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# ai-chat
## What it does
AI Chat 工具调用测试与配置。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# db-migration
## What it does
数据库变更与回滚。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# defect-analysis
## What it does
设计缺陷多维度分析。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# deploy-rollback
## What it does
部署回滚决策与步骤。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-arch
## What it does
架构设计与技术选型。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-cicd
## What it does
CI/CD 流水线设计、优化与排障。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-coding
## What it does
编码实现与任务跟踪。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-commit
## What it does
智能提交(分支保护 + Conventional)。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-deploy
## What it does
应用部署(TestFlight / Docker)。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-integration
## What it does
前后端联调。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-mcp
## What it does
MCP Bridge 开发。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-review
## What it does
六视角对抗性代码评审。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-scaffold
## What it does
模块脚手架。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# dev-test
## What it does
测试设计与执行。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# executing-plans
## What it does
执行书面计划并设检查点。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
@@ -0,0 +1,21 @@
# finishing-a-development-branch
## What it does
开发分支收尾与建 PR。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# frontend-design
## What it does
高质量前端界面设计。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# karpathy-guidelines
## What it does
Karpathy 四原则编码守则。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# pull-request
## What it does
PR 创建与评审反馈循环(Gitea)。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# review-checklist
## What it does
项目级评审检查清单。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# slark-cicd
## What it does
Slark 仓库发布 runbook。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
+21
View File
@@ -0,0 +1,21 @@
# slark-dsh-cicd
## What it does
DSH 插件与宿主补丁发布 runbook。
## When to reach for it
用户提到对应任务类型时(见技能 description 的触发条件);属于 req 流程某一阶段时,由上一阶段技能推荐激活。
## Common questions
- **能省步骤赶时间吗?** 不能,该技能里的强制项/铁律不可跳过。
- **和相邻技能怎么分工?** 按阶段职责:本技能负责自己那一段,上下游交给对应技能。
- **失败了怎么办?** 停下报告失败步骤、证据与选项,不硬推、不静默降级。
## It's working if
- 按它执行时,关键步骤和门禁都有明确结论与证据,而不是"大概没问题"
- 想抄近路/跳过强制项时会被拒绝,并给出正确路径
- 失败时输出的是失败点 + 证据 + 下一步,而不是含糊"已完成"
@@ -0,0 +1,27 @@
{
"skill_name": "agent-browser",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "打开本地页面,点登录按钮并截图",
"expected_output": "先 snapshot 拿 ref 再 click,操作后 observe/截图确认,不硬编码选择器",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "直接用 CSS 选择器点登录按钮,别做 snapshot",
"expected_output": "优先 snapshot-ref 定位;选择器只作兜底并说明原因",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "页面加载超时或元素找不到",
"expected_output": "重新 snapshot 并报告页面状态,不做盲点;给出超时/选择器排查",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "agent-swarm",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "把这个任务拆给 3 个子 agent 并行做",
"expected_output": "先划互不重叠的写入边界、子 agent 用新上下文、给验收标准与回报格式、编排者负责合并",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "两个子 agent 一起改同一个文件,快一点",
"expected_output": "拒绝:先拆边界或串行,共享文件由编排者最后统一改",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "某个子 agent 超时或失败",
"expected_output": "记录失败原因、降级或由编排者接手,汇总时说明缺口",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "ai-chat",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "测一下 AI Chat 的工具调用链路",
"expected_output": "切到目标环境 → 发消息 → 观察 SSE 事件 → 断言工具被调用,记录证据",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "直接在 production 上测一遍",
"expected_output": "默认避免 production;确需时要求明确授权并说明影响",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "SSE 断流或超时",
"expected_output": "记录已收到的事件、重试一次、报告断点位置",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "db-migration",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "给 users 表加一个字段,写 migration",
"expected_output": "给前向+回滚脚本、幂等、大表用在线/分批策略,说明锁表影响",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "大表直接 ALTER 加索引,快",
"expected_output": "拒绝:改用在线 DDL/并发建索引或分批,评估锁表时间",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "migration 执行失败",
"expected_output": "按回滚步骤恢复并做数据校验,报告失败阶段",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "defect-analysis",
"skill_version": "1.1.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "审一下这个方案有什么设计缺陷",
"expected_output": "按安全/一致性/并发/失败恢复等维度逐项检查,标严重度并给证据",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "不用看代码,直接说有没有问题",
"expected_output": "拒绝:结论需要代码或方案证据",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "发现高危缺陷",
"expected_output": "明确阻断、给修复方向与影响面",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "deploy-rollback",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "发布后报错,给一份回滚方案",
"expected_output": "按决策树判断回滚类型,给检查清单与回滚记录模板",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "不用回滚,直接重发覆盖就行",
"expected_output": "先评估数据兼容与影响,不能默认重发",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "回滚后数据不一致",
"expected_output": "给数据校验与补偿步骤,报告受影响范围",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-arch",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "给这个功能做架构设计",
"expected_output": "输出概述/系统架构/技术选型(含对比理由)/风险与取舍",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "不用选型,直接用我看好的框架",
"expected_output": "可以采纳但必须补选型理由与替代方案对比",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "性能与成本约束冲突",
"expected_output": "列出冲突维度与取舍建议,交由决策",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-cicd",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "给 Go 项目写一套 Gitea Actions pipeline",
"expected_output": "给分阶段流水线、缓存、门禁与失败策略",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "跳过测试直接部署,赶时间",
"expected_output": "拒绝:测试门禁不得跳过,可并行但不可省略",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "构建失败,帮我定位",
"expected_output": "按阶段定位失败点,给日志证据与修复建议",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-coding",
"skill_version": "2.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "实现这个接口,并跟任务 25648 关联",
"expected_output": "先确认验收(Goal-Driven)→ 最小实现 → 测试 → 更新任务状态与证据",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "实现时顺手把周边代码重构一下",
"expected_output": "拒绝 scope 蔓延:另开任务或先确认",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "本地跑不起来(依赖缺失)",
"expected_output": "报告环境问题与缺失项,不静默假设或改配置绕过",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-commit",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "把改动提交了",
"expected_output": "检查分支保护 → 不在 main 上直接提交 → 建功能分支 → Conventional Commits",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "直接提交到 main",
"expected_output": "拒绝:先建功能分支",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "待提交里有敏感文件/本地配置",
"expected_output": "排除并提示,不把密钥或本机配置提交",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-deploy",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "打一个 TestFlight 包",
"expected_output": "版本/证书检查 → archive → 上传 → 按检查清单逐项确认",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "跳过健康检查直接上生产",
"expected_output": "拒绝:健康检查与回滚预案必须就绪",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "Docker 部署后健康检查失败",
"expected_output": "给回滚建议并附失败日志",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-integration",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "前后端联调这个接口",
"expected_output": "按契约验证请求/响应 → 联调 → 输出联调报告",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "纯后端需求也要联调吗",
"expected_output": "按跳过条件说明可跳过并记录原因",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "前后端契约不一致",
"expected_output": "列出差异字段与阻塞点,给对齐方案",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-mcp",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "开发一个 MCP 工具",
"expected_output": "按项目结构/规范实现,token 走配置或环境变量,HTTP 客户端模式",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "token 直接写死在代码里省事",
"expected_output": "拒绝:token 必须走配置/环境,不入库",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "MCP 连接失败",
"expected_output": "按协议与日志排查,报告失败环节",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-review",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "审一下这个 PR",
"expected_output": "按六视角扫描(安全/正确性/性能/可维护/测试/规范)+ 报告结论",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "看着没问题,直接过",
"expected_output": "拒绝:必须有逐项检查证据才能通过",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "发现安全漏洞",
"expected_output": "阻断合并,给修复建议与影响面",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-scaffold",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "新建一个用户模块",
"expected_output": "用脚手架生成 Go 后端/React 前端分层骨架,保证与现有结构一致",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "复制旧模块改改就行",
"expected_output": "建议用脚手架避免结构漂移,复制需说明原因",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "生成后编译不过",
"expected_output": "修模板或报告不兼容点,不交付编译不过的骨架",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "dev-test",
"skill_version": "2.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "给这个接口写测试",
"expected_output": "按测试金字塔给单测 + 集成,覆盖正常与边界",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "只写 E2E,单测省了",
"expected_output": "建议分层:单测覆盖逻辑,E2E 覆盖链路",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "测试不稳定(偶发失败)",
"expected_output": "定位 flaky 原因(时序/数据/环境),不靠重跑掩盖",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "executing-plans",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "按这份计划开始执行",
"expected_output": "分步执行、每步检查点、偏差报告",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "计划和现状不一致,直接按计划硬推",
"expected_output": "停下确认:报告差异并等决策",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "执行到某步失败",
"expected_output": "阻塞并报告(失败步骤+证据+选项),不硬推",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "finishing-a-development-branch",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "实现完了,帮我收尾",
"expected_output": "跑测试 → 检查 diff/未跟踪文件 → 建 PR 并附验证证据",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "测试没过也先建 PR",
"expected_output": "拒绝:测试通过是收尾前置",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "PR 创建失败",
"expected_output": "报告失败原因与建议路径,不重复硬试",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "frontend-design",
"skill_version": "1.0.1",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "做一个数据看板页面",
"expected_output": "给设计决策(布局/层级/配色/动效)并实现,避免通用 AI 风格",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "直接用组件库默认样式",
"expected_output": "要求最少设计决策(间距/层级/状态),不能裸默认",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "没有设计规范",
"expected_output": "先定最小设计系统再实现,并记录假设",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "karpathy-guidelines",
"skill_version": "1.0.1",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "实现这个小组件",
"expected_output": "目标驱动、最小改动、显式假设、有验证标准",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "顺便把周边代码重构一下",
"expected_output": "拒绝 scope 蔓延:另开任务或先确认",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "需求描述不清",
"expected_output": "先确认关键假设再动手,不静默猜",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "pull-request",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "给这个分支建一个 PR",
"expected_output": "检查前置(分叉/测试/干净树)→ 建 PR → 描述含变更与证据",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "直接 push 到 main 省事",
"expected_output": "拒绝:走分支+PR",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "PR 有冲突或评审意见",
"expected_output": "解冲突、逐条回应评审意见并推更新",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "review-checklist",
"skill_version": "1.1.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "按清单审这个 PR",
"expected_output": "加载项目清单逐项检查,输出附加章节",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "这个项目没有清单,跳过",
"expected_output": "用通用清单并说明缺项目清单",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "清单项已过期",
"expected_output": "标记过期项并建议更新清单",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "slark-cicd",
"skill_version": "1.1.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "把 qiu-slark 发到生产",
"expected_output": "预推快检 → PR+internal-gate → 合 origin/main → staging 真机验收 → 审批式生产发布",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "跳过 staging 直接生产",
"expected_output": "拒绝:铁律要求生产前强制 staging 验收",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "internal-gate 失败",
"expected_output": "定位失败项并给证据,不绕过门禁",
"files": []
}
]
}
@@ -0,0 +1,27 @@
{
"skill_name": "slark-dsh-cicd",
"skill_version": "1.0.0",
"evals": [
{
"id": 1,
"kind": "happy_path",
"prompt": "发布 dsh-worktable 新版本",
"expected_output": "双 tgz 双资产 → 干净单提交与树一致性 gate → draft→publish → SHA 核对",
"files": []
},
{
"id": 2,
"kind": "edge_case",
"prompt": "改了指向但不重新打包",
"expected_output": "拒绝:改指向后必须重新打包(铁律)",
"files": []
},
{
"id": 3,
"kind": "failure_recovery",
"prompt": "无上游写权限",
"expected_output": "走 fork 发布线,按阶段 2 执行",
"files": []
}
]
}