skill-gate / gate (pull_request) Waiting to run
- scripts/scheduled-task.sh:daily/weekly/monthly 只做确定性动作,需模型判断的部分生成 queue 文件 - scripts/install-schedulers.sh:装成用户级 launchd(daily 07:20 / weekly 周一 10:00 / monthly 1 日 10:00) - .gitea issue/PR 模板:新技能提案走同一套 SCOPE 门槛问题 - README 一键部署 2 步 → 4 步;MAINTENANCE 增加定时任务一节与边界说明
74 lines
4.3 KiB
Markdown
74 lines
4.3 KiB
Markdown
# 技能维护节奏
|
||
|
||
> 配套 `SCOPE.md`(收不收)、`skill-creator`(怎么建)、`docs/skill-routing.md`(用哪个)。
|
||
> 本文件管「多久做一次什么」。
|
||
|
||
## 每次改动(任何分支)
|
||
|
||
> **批量提交前先建分支**:`git checkout -b <branch>`,再提交、推分支、开 PR。不要直接 commit 到 main(2026-11-01 阶段 2 漏建分支直接进 main,少了 PR 记录)。
|
||
|
||
|
||
1. 过 `SCOPE.md` 收录门槛(真实失败 + 组合不出来),新技能默认先 `beta`。
|
||
2. 跑四道门禁:`validate-skills.py --strict`、`scan-skill.sh`、`generate-catalog.py --check`、`tests/install-skills.test.sh`。
|
||
- 本机已用 `./scripts/install-git-hooks.sh` 装好 pre-commit / pre-push,commit/push 时自动执行;Gitea Actions 暂无 runner,不能依赖 CI。
|
||
- 跳过单次:`SKILL_GATE_SKIP=1 git commit ...`,提交信息里写原因。
|
||
3. 技能有增删改 → **同步回改** `docs/skill-routing.md` 与 `catalog.json`。
|
||
4. 更新 `plugin.json` 版本号与 `CHANGELOG.md`。
|
||
|
||
## 每日(随 7:30 项目日报)
|
||
|
||
- 两台机器跑 `install-skills.sh --audit`:**drift > 0 就要报**,并注明是「未安装 / 版本落后 / 本地改动」。
|
||
- 门禁失败或扫描出高危:立即处理,不等到日报。
|
||
- 例外:`beta` 与 `deprecated` 不计入 drift。
|
||
|
||
## 每周一 10:00 — evals 抽样回归
|
||
|
||
- 范围:上周改过的技能 + 3 个高风险技能(`dev-coding`、`dev-review`、`req-design`)。
|
||
- 每技能取 1 条关键用例,做「有技能 / 无技能」对比,按 rubric 打分。
|
||
- 结果记录到 `reports/evals/YYYY-Www.md`(模板 `reports/evals/TEMPLATE.md`),进周报。
|
||
- 用 `python3 scripts/evals-status.py` 看哪些技能已有 evals、哪些已有回归报告。
|
||
- 连续两次无增量的技能 → 按 `SCOPE.md` 评估降级。
|
||
- 不做全量(61 技能 × 3 用例成本过高);全量只在治理大改时做。
|
||
|
||
## 每月 1 日 10:00 — 漂移与目录审阅
|
||
|
||
- 两台机器 `--audit` 漂移必须为 0(beta/deprecated 除外)。
|
||
- 审 `catalog.json`:`description` 长度 <80 或 >600 的标黄;含「各种 / 等等 / 相关」这类泛化词的标出。
|
||
- 第三方技能(arkcli 等)有变动时,评估是否影响团队技能;跑一次 `./scripts/scan-installed.sh`。
|
||
- 跑 `./scripts/monthly-review.sh` 一次出齐:覆盖率、本仓库扫描、第三方扫描、catalog 一致性、description 异常项。
|
||
|
||
## 每季度首月 1 日 10:30 — 治理复核
|
||
|
||
- 人工过一遍 `docs/skill-routing.md`:删掉不再用的引用、补上新技能。
|
||
- 清理 `deprecated`:满 3 个月且无回滚需求 → 删除插件目录。
|
||
- 复核分桶与调用模式:还有没有命令型技能占着 `model-invoked`。
|
||
- 复核覆盖率:`--coverage` 的两项缺口是否按路线图收敛。
|
||
- 更新本文件与 `CHANGELOG.md`。
|
||
|
||
## 定时任务(launchd,2026-11-01 起)
|
||
|
||
节拍不再挂在「会话提醒」上(会话一断就失效),改成宿主级 launchd:
|
||
|
||
```bash
|
||
./scripts/install-schedulers.sh # 安装(幂等;换机器重跑一次即可复现)
|
||
./scripts/install-schedulers.sh --status # 看状态与最近产出
|
||
./scripts/install-schedulers.sh --run daily # 立刻跑一次(调试)
|
||
./scripts/install-schedulers.sh --uninstall
|
||
```
|
||
|
||
| 任务 | 时间 | 脚本做什么 | 产出 |
|
||
| --- | --- | --- | --- |
|
||
| `daily` | 每天 07:20 | 漂移 audit + 入库安全扫描 + 覆盖率 | `reports/skill-health/daily-YYYY-MM-DD.md`(`latest.md` 供 7:30 日报直接读) |
|
||
| `weekly` | 每周一 10:00 | 算上周改动技能 + 3 个高风险项,生成 evals 抽样队列 | `reports/evals/queue-YYYY-MM-DD.md` |
|
||
| `monthly` | 每月 1 日 10:00 | 一条命令跑完月度审阅;1/4/7/10 月附季度治理清单 | `reports/monthly/review-YYYY-MM.md`、`quarterly-YYYY-Qn.md` |
|
||
|
||
**边界**:脚本只做确定性动作。真跑 evals、审阅 routing 这类需要模型判断的部分,脚本只生成队列文件,由项目经理 Bot 在 7:30 日报里接手执行——分工不写在脚本里就会漏。
|
||
|
||
日志:`reports/_scheduler/<job>.log`。
|
||
|
||
## 责任分工
|
||
|
||
- 项目经理 Bot:执行节奏、出周/月报、盯漂移与门禁。
|
||
- 改技能的 agent:负责门禁四件套与路由回改。
|
||
- 人工拍板项:废弃技能、路由变更、`promoted` 晋升。
|