scribe
過去の closed PR / issue と workspace/research/ の調査結果から繰り返しの共通項を抽出し、最新コードと突き合わせて docs/wiki/ に PR で提案する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
過去の closed PR / issue と workspace/research/ の調査結果から繰り返しの共通項を抽出し、最新コードと突き合わせて docs/wiki/ に PR で提案する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | scribe |
| description | 過去の closed PR / issue と .claude/workspace/research/ の調査結果から繰り返しの共通項を抽出し、最新コードと突き合わせて docs/wiki/ に PR で提案する。 |
| when_to_use | scribe 実行, wiki 抽出, 共通項の蒸留, PR/issue からの知見蓄積, research 成果の蓄積, run scribe, wiki extraction, distill recurring patterns |
| allowed-tools | Bash(git:*) Bash(gh:*) Bash(find:*) Read Write Edit LS |
このリポジトリの過去の merged PR/closed issue と .claude/workspace/research/ の調査結果から、定型手順/規約や再発指摘/失敗パターンとして繰り返し現れる共通項を抽出し、最新コードと突き合わせて docs/wiki/ に蓄積する。提案は必ず PR で行う。
| 条件 | 内容 |
|---|---|
| PR 経由 | デフォルトブランチへ直接コミット / プッシュしない |
| 進捗の記録 | cursor は最後にマージされた scribe PR の mergedAt。research ファイルはその mergedAt と mtime を比べる |
| 閾値 2 件 | 根拠が 2 件未満の共通項はページにせず docs/wiki/_candidates.md に置く。research ファイル 1 件を根拠 1 件と数える |
| 事実のみ | PR / issue と research ファイルに書かれた事実、および現在のコードで確認できた事実のみ書く。推測で埋めない |
| 参照の追跡性 | .claude/workspace/research/ のファイルパスを docs/wiki/ 配下に書かない |
| worktree 隔離 | 編集 / commit は隔離 worktree 内で行い、ユーザーの作業ツリーを動かさない |
gh pr list --label scribe --state open --limit 1 で未マージの scribe PR を確認する。あれば追い越さず、中断して報告するdocs/wiki/README.md が無ければ ${CLAUDE_SKILL_DIR}/templates/readme.md のテンプレートで作成し、後続の PR に含めるgh label create scribe --description "scribe による wiki 提案" で作成するgh pr list --label scribe --state merged --limit 1 --json mergedAt -q '.[0].mergedAt' で取得するgh pr list --state merged --search '-label:scribe' と gh issue list --state closed の全件、および find .claude/workspace/research -name '*.md' の全件を対象にするgh pr list --state merged --search "-label:scribe merged:><mergedAt>" で集める。issue は gh issue list --state closed --search "closed:><mergedAt>" で集める。調査ファイルは find .claude/workspace/research -name '*.md' -newermt "<mergedAt>" で集める*.md だけとし、他の形式は読まない。ファイル内の Generated: 行は cursor に使わないdocs/wiki/*.md と docs/wiki/_candidates.md を読み、既存ページ/候補を把握するgh pr view <番号> --comments/gh issue view <番号> --comments で本文/コメントまで読むdocs/decisions/ の領分なので対象外根拠の書き方は、PR/issue 由来なら #番号、research 由来なら (research) とする。
| 該当先 | 操作 |
|---|---|
| 既存ページの共通項 | 根拠を追記し、内容に変化があれば更新 |
| 候補に 2 件目の根拠 | ページへ昇格し、候補の行を消す |
| どこにも無い繰り返しの兆し | _candidates.md に「内容 1 行 + 根拠」で追記 |
| 1 度きりの個別事情 | 書かない |
ページ化/昇格/更新の前に、各共通項を現在のコードと突き合わせる。成立を確認した項目には現行コードの位置を参照コードとして path + シンボル名で付記し(行番号は書かない)、検証で落とした項目は § Phase 6: PR 作成 の PR 本文に列挙する。あわせて、今回のスコープに関係しない既存ページも含めた docs/wiki/*.md 全ページの参照コードを掃除する。ファイルの存在と、ファイル内でのシンボル名の grep 一致を機械的に確認し、壊れていた参照は現行コードを読み直して張り替える。参照先を失って共通項自体が成立しなくなっていた場合は不成立として更新する。
| 確認 | 不成立時の扱い |
|---|---|
| 規約 / 手順が現在の実装でも成立するか | 書かない。既存ページの項目なら不成立として更新する |
| lint / hook / CI ですでに機械的に強制されていないか | 書かない |
| 参照するパス / コマンドが現存するか | 現行のパス / コマンドに直して書く |
ページ化/昇格/更新するページでは、共通項が docs/decisions/ の特定 DR の決定から派生している場合に限り、「由来」節に DR のファイルパスを書く。判定は反事実テスト「その DR が supersede されたらこのページは書き換えが必要になるか」で、Yes のときだけ張る。1 ページに 3 本以上並んだら各リンクへ反事実テストを再適用し、No になったものを外す。
あわせて、既存ページも含めた全ページの由来リンクを掃除する。DR ファイルの実在と status を確認し、superseded なら後継 DR を読んで、共通項が引き続き成立する場合は由来を後継へ張り替え、成立しない場合は不成立として更新する。
上限は 1 回あたり最大 3 ページで、昇格 + 更新の合計として数え、_candidates.md の編集、§ Phase 4: 最新コードとの突き合わせ の参照修理、§ Phase 5: 由来リンクの判定 の由来修理は数えない。超過分は根拠件数の多い順に優先し、残しを PR 本文に明記する。変更が何も無ければ PR を作らない。候補追記のみでも PR を作る。
git fetch origin <デフォルトブランチ> の後、origin/<デフォルトブランチ> から隔離 worktree とブランチ scribe/<yyyymmdd-HHMMSS> を作る${CLAUDE_SKILL_DIR}/templates/page.md の骨格に従って docs/wiki/ を編集し、メッセージ docs(wiki): <共通項名, ...> を追加/更新 でコミットするgh pr create --base <デフォルトブランチ> を実行する。タイトル [scribe] <共通項名, ...> を追加/更新、ラベル scribeissue が build に投入できる形かを検分し、verdict (build-ready / needs-plan / needs-fix) と指摘を返す。起票には使わない (/issue)。PR のスクリーニングには使わない (/preview)。
Inspect whether an issue is in shape to hand to build, returning a verdict (build-ready / needs-plan / needs-fix) and the findings. Do NOT use to file an issue (use /issue) or to screen a PR (use /preview).
critic-design による敵対的批判を伴う設計探索。生き残った案を構造化 plan にまとめ、自己点検して呼び出し元に返す。plan の永続先は issue の Plan 節が唯一。計画意図のないコードベース調査には使わない (代わりに /research)。
Design exploration with adversarial critique by critic-design. Assembles the surviving approach into a structured plan, self-checks it, and returns it to the caller. The issue's Plan section is the plan's only persistent home. Do NOT use for codebase investigation without planning intent (use /research instead).
構造化されたタイトルと本文で GitHub Issue を生成する。単独で成立し、前段を要求しない。challenge / research の成果物が会話にあれば本文の根拠に使い、/think の plan 下書きがあれば `## Plan` 節へ移設する。issue 番号を渡すと、起票済みで Plan 節を持たない issue へ plan を転記する。
Generate GitHub Issue with structured title and body. Standalone; requires no upstream stage. When challenge / research artifacts exist in the conversation, they feed the body's evidence; when a /think plan draft exists, it is transferred into the `## Plan` section. Given an issue number, it transfers a plan into a filed issue that has no Plan section.