feat(skill): beta 技能 diagnosing-bugs + 月度审阅与 evals 工具
skill-gate / gate (pull_request) Waiting to run
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(待观察后晋升)
This commit is contained in:
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
"""列出各技能的 evals 与是否已有回归报告(reports/evals/<name>.md)。"""
|
||||
from __future__ import annotations
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
rows = []
|
||||
for pj in sorted(ROOT.glob("skills-*/*-plugin/.claude-plugin/plugin.json")):
|
||||
meta = json.loads(pj.read_text())
|
||||
name = meta.get("install_name")
|
||||
if not name:
|
||||
continue
|
||||
ev = next((pj.parent.parent / "skills").rglob("evals/evals.json"), None)
|
||||
cases = 0
|
||||
if ev:
|
||||
try:
|
||||
cases = len(json.loads(ev.read_text()).get("evals", []))
|
||||
except Exception:
|
||||
cases = 0
|
||||
report = ROOT / "reports" / "evals" / f"{name}.md"
|
||||
rows.append((name, meta.get("status", "promoted"), cases, report.is_file()))
|
||||
|
||||
with_evals = sum(1 for r in rows if r[2] > 0)
|
||||
with_report = sum(1 for r in rows if r[3])
|
||||
print(f"{'技能':32} {'status':10} {'用例':4} 回归报告")
|
||||
for name, status, cases, has_report in rows:
|
||||
if cases == 0:
|
||||
continue
|
||||
print(f"{name:32} {status:10} {cases:<4} {'有' if has_report else '-'}")
|
||||
print(f"\n有 evals 的技能: {with_evals}/{len(rows)};已有回归报告: {with_report}/{with_evals}")
|
||||
Reference in New Issue
Block a user