会話履歴からスキルの改善点を Issue 化し、Routines で毎日直させる
開発スキルの終了時に会話ログ(jsonl)から「うまくいかなかった兆候」を拾って Issue に起票し、別の無人用スキルを Routines で1日1回動かして SKILL.md を直す PR を出させる。
ソニックガーデンの事例では13日で40件以上の自動修正コミットが入った(マージは人間がレビュー)。自分では気づかなかったサブエージェントとのやり取りの問題まで拾えたという。
3段の構成
| 段 | どこで | やること |
|---|---|---|
| 発見 | ローカル | 最新の ~/.claude/projects/.../*.jsonl をサブエージェントに読ませ、兆候を抽出して Issue 起票 |
| 判定+適用 | Claude Code on the Web | Issue を読んで採否を決め、採用なら SKILL.md を直して PR |
| 無人運転 | Routines | 判定+適用スキルを毎日1回実行 |
拾う兆候の例: ユーザーの修正指示(「違う」「やめて」)、同じ指示の繰り返し、進まないステップのループ、レビューで SKILL.md の文面が原因と名指しされた箇所。
品質ゲート
- 意図どおり直ったか(最大3周)→ SKILL.md の書き方(最大3周)→ 公開リポへの漏えい(絶対パス・内部ホスト名・認証情報、最大2周)を直列に流し、全体をさらに最大3周回す
無人運転でのハマりどころ
- サブスキルから戻った直後に止まる: 「止まらないで」を判断ポイントの直前にも書く
- サブスキルが長い文章を返すと完了扱いになる: 末尾を
{"status": ..., "suggested_edits": [...]}のような短い JSON で閉じる .claude/配下への書き込みは許可ダイアログで止まる: 作業ファイルは.triage/などに置いて.gitignoreallowed-toolsの書き漏れ(TodoWrite など)で止まる- Web 環境の既定 Stop hook が未コミット状態で誤発火する: 状況説明をオーケストレータとサブスキルの両方に書く
出典
- @moneymog 2026-06-20(紹介): @moneymog · 2026-06-20
- 元記事: zenn.dev
- 関連: skill は定期リファクタとテストで「確率的な挙動」を抑える、/retro: 繰り返す作業は「CLI + skill」に落とす