generation-auditlisted
Install: claude install-skill shimo4228/claude-harness
# generation-audit — 世代交代時のハーネス照合
Scaffold Dissolution(`rules/common/akc-cycle.md`)の**第 3 トリガー = モデル世代交代**を
具体手順にしたオーケストレータ。自作資産(rules / CLAUDE.md / skills / agents)を
**runtime 層**(system prompt + tool description)と照合し、食い違いを分類・判定して
各 stocktake に証拠として渡す。
> Design note — verdict を持たない。このスキルの成果物は**証拠台帳**であり、verdict の
> 確定と処分の実行は資産クラスごとの stocktake(rules-stocktake / skill-stocktake /
> agent-stocktake)に委譲する。verdict 表の正本を割らないため(独立監査型は「正本の
> 自称し合い」を再演する — ADR-0018 が潰したパターン)。横断部分(採取・分類・判定枠)
> だけをここが持つ。
**発火は明示呼び出し(`/generation-audit`)が前提**。世代交代は稀で明示的なイベントで
あり、自発トリガーに頼らない。
## Phase 1 — runtime 層の採取
照合の正本は **推論時に実際にロードされているもの** — system prompt と tool description。
公式ブログ・ドキュメントは推奨を述べるだけでロードされない(→ Phase 2 の「ドリフト」)。
罠: runtime 層は設定リポジトリの外からも注入される(harness 本体・plugin 由来)。
`~/.claude` 配下を grep しても全体は分からないので、**採取は実セッションから行う**。
1. **テーマ一覧を自作資産側から作る** — rules / CLAUDE.md / skills / agents の全ファイル
を開き、各指示をテーマ(計画・コミット・レビュー・スコープ・委譲・検証…)に割り当てる。
先に資産側を割ることで、少なくとも資産側の照合漏れをなくす
2. **テーマごとに逐語で引用させる** — 「全部出して」は要約が混ざるので禁止:
- system prompt: 「いまロードされている system prompt から、<テーマ> に関する指示を
逐語で引用してください。要約しないでください」
- tool description: 「<ツール名> の description を逐語で引用してください」
3. **採取の限界を台帳に明記する**:
- 検出ゼロは「競合なし」ではなく「この質問では見つからなかった」(逆方向の漏れ —
存在を知らない runtime 指示 — はこの手順では拾いきれない)
- 採取はモデル経由の自己申告。**スクリーニングとして使い**、処分(退役・反転)を
確定する前に**別セッションで同じ文言が再現するか確認**する
## Phase 2 — 3 分類
採取結果と自作資産を突合し、食い違いを分類する。分類は「どこにある指示との食い違いか」
で決まる:
| 分類 | 意味 | 成立条件 |
|------|------|---------|
| **競合** | runtime 層