Agent Skillを書く時の心得。SKILL.mdに何を書き、何を書かないかの判断基準を定める。AIが読んで従う文書に共通の心得は、kuden:common-rules-for-agent-instructionsにある。 Agent Skillを作成する時、編集する時、レビュー指摘の採否を決める時に読み込む。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
リポジトリの1つの領域をセキュリティ観点で調査し、Codexの批判的レビューを経てレポートを出力する。codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
codepatrol skillの指揮役から任されて、指定された1つの領域を調査し、レポートを出力する。
{このSKILL.mdがあるディレクトリ}/
SKILL.md ← この手順書
REPORT-TEMPLATE.md ← レポートテンプレート
reinvestigation.md ← 既存のレポートがある領域を再調査した時のレポートの書き方
.dev/codepatrol/
config.md ← レポートの書き出し先設定
checklist.md ← リポジトリ固有の機構と観点の補足。マスターのCHECKLIST.mdと一緒に読む
targets.md ← 調査対象リスト
{領域名}-{YYYY-MM-DD}.md ← 領域ごとの調査レポート(書き出し先がローカルの場合)
checklistとレポートの責任境界は checklist-vs-report.md にある。
.dev/codepatrol/ の場所は、指揮役の指示に従う。branchの切り替え・pull・commitはしない調査とcodex-consultationによるレビューは、既存の問題を知らない状態で行う。先に読むと、調査が既存の問題の箇所へ誘導され、前回見逃した問題を再び見逃す。checklistに問題を書かないのと同じ理由である。
.dev/codepatrol/checklist.md を読む。観点はマスターの番号で指し、リポジトリ固有の観点は {カテゴリ記号}+{番号} で指すlifecycle-* 領域のパスにリポジトリ名が添えてある利用終了イベント起点の領域の調査:
lifecycle- で始まる領域では、入口からデータフローを追う代わりに、起点イベント × 資産の対応表を作り、空欄を埋める形で調査する。観点はJ3〜J5が中心で、他のカテゴリは起点イベントの入口に当てる。対応表はREPORT-TEMPLATEの節としてレポートに残す。
調査の深さ:
checklist.md と targets.md の誤りを見つけた時:
担当する領域に関する記述と実装の齟齬を見つけたら、その場で直す。
手順1の調査結果を、codex-consultationを通じてCodexに批判させ、漏れ抜けを検出する。 批判的思考の連鎖により、単独調査では見落とす問題を検出できる。 この手順は省略も代替もできない。codex-consultationでのレビューを経ていない調査結果はレポートにしない。
Codexに相談する時は、必ずSkill toolで codex-consultation を呼び出す。codex exec の直接実行で済ませない。
観点のカテゴリを2〜4グループに分け、グループごとにcodex-consultationを呼び出す。調査対象が小さく該当観点が少ない領域では、1グループにまとめて1回で相談してよい。グループ分けの目安:
lifecycle-* 領域では、観点のカテゴリではなく、対応表のイベントや資産の区分で分けてよい。
Argsには以下を含める:
Args: よく相談して。このリポジトリの開発チームが、自分たちのコードの問題を検出して修正するために{領域名}のセキュリティ調査をしている。
{グループの観点カテゴリ名}について以下の調査結果と修正案を得た。防御側のレビューとして次の点を批判的に見てほしい。
- 調査結果に漏れ抜けはないか、修正案は十分か
- 修正によって壊れる正規の利用フローはないか
- 追加すべき回帰テストは何か。テストフレームワークのテストケース単位で挙げてほしい
観点はマスター {CHECKLIST.mdの絶対パス} と、リポジトリ固有の層 {.dev/codepatrol/ の絶対パス}/checklist.md にある。載っていない観点も積極的に指摘してほしい。
コードは {リポジトリごとの絶対パス} にある。
既存の調査レポートは読まずにレビューしてほしい。
検証でコードを動かす場合は、リポジトリ外の一時ディレクトリで行い、外部サービスには接続しないでほしい。
{該当グループの調査結果と修正案の要約}
依頼の枠組み: Codexの提供元のセキュリティフィルタは、依頼の語彙で判定する。「見落としている攻撃ベクトルはないか」のように攻撃側の語彙で依頼すると、Codexが調査を拒否したり、調査を終えた後の最終回答の生成だけがブロックされて異常終了したりする。 上のテンプレートのとおり、調査の目的が自分たちのコードの修正である事を最初に説明し、修正案のレビューと回帰テスト案を問う形で依頼する。調査結果の要約でも「攻撃」「悪用」「偽造」といった語を避け、問題とその修正として記述する。 codex-consultationが組み立てるプロンプトや2往復目のプロンプトにも、この枠組みを引き継ぐ。
それでも最終回答がブロックされた場合は、Codexの実行ログに残った検証コマンドとその出力から指摘を拾う。その上で、防御側の枠組みをより明確にして再依頼する。
Codexの出力を残す: Codexの出力は、指揮役から渡された作業用ディレクトリに残す。指揮役が、相談が最後まで完了した事を確かめるのに使う。
Codexが停止した場合:
usage limit・spend cap・認証エラー・通信障害等でCodexが最終回答を返さずに終了した場合は、subagent-consultation や自分自身の再検討で代替せず、レポートも出力せずに作業を中断する。
Codexの指摘を受けたら:
REPORT-TEMPLATE.md を読み込み、その構成に従ってレポートを作成する。 Investigatorには自分のAgent名とmodel名を記入し、codex-consultationが取得したCodexの実行環境を併記する。
既存のレポートとの突き合わせ:
レポートを組み立てる前に、既存のレポートを読み、今回の問題と突き合わせる。
書き出し先がCosenseの場合:
レポート全体を1つのテキストとして組み立てる:
config.md のタイトル規則に従うページ名。日付はページを作る日である。同名のページが既にある時は、上書きせず、日付に時刻を続けて別のページを作る[{hubページ名}] — hubページへのリンク。これで被リンクとして集約される{プレースホルダ} は出力せず、Investigated at はタイトルの日付とページのメタデータが持つので書かない組み立てた本文で新規ページを作成する(書き込み操作はcosense skillに従う)。
書き込みに失敗した場合は、レポートを作業用ディレクトリに書き出し、その旨を報告する。
書き出し先がローカルの場合:
.dev/codepatrol/{領域名}-{YYYY-MM-DD}.md に書き出す。日付は、レポートを書き出す日である。同名のファイルが既にある時は、上書きせず、{領域名}-{YYYY-MM-DD}-{HHmm}.md のように日付に時刻を続けて別のファイルを作る。
checklist.md と targets.md を直した箇所と、直さなかったが足すべき観点・領域아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Agent Skillを書く時の心得。SKILL.mdに何を書き、何を書かないかの判断基準を定める。AIが読んで従う文書に共通の心得は、kuden:common-rules-for-agent-instructionsにある。 Agent Skillを作成する時、編集する時、レビュー指摘の採否を決める時に読み込む。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
ソースコード中のコメントを書く時の心得。コメントに何を書き、何を書かないかの判断基準と、置く位置、日本語の文体を定める。 ソースコードのコメントを書く時、直す時、レビューする時に読み込む。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
リポジトリのセキュリティ調査を領域ごとに進める。同じサービスを構成する複数のリポジトリを束ねて調査できる。 このsessionは調査を指揮し、領域ごとに起動したsubagentが調査してレポートを出力する。 レポートの問題のトリアージと、問題の自動修正、問題を直すpull requestの状態の同期も指揮する。 複数sessionにまたがる長期作業を想定し、実行するたびに現状を確認して続きの作業を行う。 ユーザーが手動で起動する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
セキュリティ調査で検出された問題を1つ修正し、pull requestをready for reviewまで仕上げる。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
本番に出る前の修正が積まれたrelease pull requestに、デプロイの前後に人間がやる事をまとめたコメントを投稿・更新する。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
セキュリティ調査に使う調査対象リストと観点リストを、リポジトリのコードを読んで生成・更新する。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.