skill-reviewerlisted
Install: claude install-skill astroicers/skill-quality-research
# skill-reviewer
審查一個 Agent Skill repo,產出**分級式剖面診斷**——不只 pass/fail,而是「符合哪個星級的特徵剖面、距下一級還缺什麼」。
## 方法論前提(必讀,決定措辭紀律)
本 skill 的 rubric 來自 97 個 repo 的星數梯度分析。核心發現:**在該樣本與時點,skill 的星數關聯的是「可安裝/可發現/可信任」的打包面,不是寫作工藝**。因此:
- **只能說「符合 X 星級剖面」,禁止說「會得到 X 星」** — 星數還取決於發布時機、作者聲量、行銷,不在 artifact 可測範圍。
- **lint 的 packaging benchmark 不等於品質** — 一個 craft 極佳的 skill 可能 packaging 分數低(如無一行安裝)。craft verdict 必須靠你(LLM)讀 SKILL.md 後判定,不可只看 lint 分數。
- **安全一律是門檻,不加分** — 高星 repo 也出過惡意 install script。
## 流程(嚴格照序)
### 步驟 1:先跑 deterministic lint
```bash
python3 scripts/lint_skill.py <目標repo目錄> --json
```
讀它的輸出。它給你:hygiene 門檻結果、packaging benchmark 分數與 tier、gap_list、security 紅旗、以及 `craft_llm_todo`(≤5 個待你質化審的 SKILL.md 樣本路徑)。
> **例外:呼叫端已經跑過 lint 時,不要重跑。**
> 本 skill 也會被 gate pseudocode 當作 Gate Checker 呼叫(如 ASP 的 `evaluate_G5`)。
> 那種情況下呼叫端通常已用 **change-scoped** 模式跑過(`--changed-files ...`),
> 並把 JSON 交給你。**直接消費那份輸出**——repo-wide 重跑會得到**不同的 severity 語義**
> (H-005 的 `change_scoped_severity`:改壞本次變更的檔是 error,既有爛攤子只是 warning),
> 兩份混用會讓判定漂移。判準的 canonical 只有一份(ADR-031)。
> (此條 2026-08-17 補:一次不知情執行者的 G5 實測中,它自己推出了這個結論並偏離本步驟——
> 它推對了,但那是它補的,不是這裡寫的。)
### 步驟 2:hygiene 門檻先判生死
lint 的 `hygiene` 有任何 `severity: error` 未過(如 H-001 無合規 SKILL.md)→ **craft verdict 直接 needs-revision**。門檻定義見 `references/rubric-manual-dimensions.yaml` 的 hygiene 組。
⚠️ **但仍要往下走完步驟 3。** 原文寫「不必往下」是錯的:`skill_md_compliant_count == 0` 有兩種
完全不同的成因——「壞掉的 skill repo」與「**根本不是 skill repo**」(純發佈清單型,見步驟 3 形狀表)。
不走到步驟 3 就分不出來,而兩者的處置相反。2026-08-27 對 `superpowers-marke