skill-gate / gate (pull_request) Waiting to run
- 新增 diagnosing-bugs(beta):先建红循环再推理、二分定位、补回归测试;含 evals 与四段式文档 - 路由表加入难查 bug 行 - scripts/monthly-review.sh:一条命令跑月度审阅 - scripts/evals-status.py + reports/evals/TEMPLATE.md:evals 覆盖与回归报告模板 - skill-creator 实战记录 #1(待观察后晋升)
26 lines
1.1 KiB
Bash
Executable File
26 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 月度技能审阅:一条命令跑完 MAINTENANCE 里的月度项。
|
||
# 用法: ./scripts/monthly-review.sh
|
||
set -uo pipefail
|
||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||
echo "== 技能月度审阅 $(date '+%F %H:%M') =="
|
||
echo; echo "-- 1. 覆盖率(promoted + model-invoked)--"
|
||
python3 scripts/validate-skills.py --coverage
|
||
echo; echo "-- 2. 本仓库安全扫描 --"
|
||
./scripts/scan-skill.sh | tail -2
|
||
echo; echo "-- 3. 第三方已装技能扫描 --"
|
||
./scripts/scan-installed.sh | tail -2
|
||
echo; echo "-- 4. catalog 是否最新 --"
|
||
python3 scripts/generate-catalog.py --check
|
||
echo; echo "-- 5. catalog 摘要与 description 异常项 --"
|
||
python3 - <<'PY'
|
||
import json
|
||
d = json.load(open('catalog.json'))
|
||
print("总数:", d['total'], "| 分布:", d['counts'])
|
||
bad = [(x['name'], x['description_len']) for x in d['skills']
|
||
if x['description_len'] < 60 or x['description_len'] > 600]
|
||
print("description 长度异常:", bad if bad else "无")
|
||
cov = d.get('coverage', {})
|
||
print(f"覆盖率: evals {cov.get('with_evals')}/{cov.get('required')},文档 {cov.get('with_docs')}/{cov.get('required')}")
|
||
PY
|