Agent Skillを書く時の心得。SKILL.mdに何を書き、何を書かないかの判断基準と、レビュー指摘の採否の基準を定める。 Agent Skillを作成する時、編集する時、レビュー指摘の採否を決める時に読み込む。
codepatrol-sync-state
セキュリティ調査で検出された問題を直すpull requestの状態を、トリアージページと調査レポートに反映する。codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
含まれるファイル(1)
- SKILL.md6.7 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
状態同期
codepatrol skillの指揮役から任されて、問題を直すpull requestの実際の状態を、トリアージページと調査レポートに反映する。
修正の作業は、複数の人間とAIが並行して進める。ページに書かれた状態は、実際の状態からずれていく。mergeされたのにレビュー希望のまま残る、他の人が着手したのにページに書かれていない、片方のページにだけ書かれている、といったずれである。ずれが残ると、次の調査やトリアージが、対応済みの問題を未対応だと誤認する。
このskillを実行する時の前提
- ユーザーに質問できない。判断がつかない事は、最後の報告に書く
- コードは読まない
- pull requestは読むだけにする。pull requestやコメントの作成・編集はしない
- 書き出し先がCosenseの場合だけを扱う。起点のページと、pull requestが作られるリポジトリは、指揮役の指示に従う
- Cosenseの読み書きは、cosense skillに従う
対象のページ
起点は、指揮役から渡されたトリアージページである。レポートは、トリアージページの各行からリンクされている物を対象にする。
トリアージページの冒頭に書かれた編集ルールを、着手する前に読む。 状態アイコンの意味と、書いてよい事・書いてはいけない事は、そこで決まっている。この手順書と食い違う時は、ページの記述を優先する。
トリアージページが無い時は、hubページに集約された、各領域の最新のレポートを対象にする。
ページの状態を、実際の状態に合わせる
ページにあるpull requestの行について、pull requestの実際の状態を確かめ、状態アイコンを合わせる。印が表すのはpull requestの状態で、問題が解決したかどうかではない。
| その行のpull requestの状態 | 印 |
|---|---|
| 全てmergeされている | 完了 |
| draftの物を含む | 作業中 |
| 上のどちらでもなく、openである | レビュー希望 |
- 同じpull requestの行が、トリアージページとレポートの両方にある。両方を直す
- 片方のページにだけ書かれている状態は、もう片方にも写す。写すのは、誰が着手しているかと、pull requestの状態だけである。考察や申し送りは写さない
- mergeされずにcloseされたpull requestを表す印は無い。ページに載っていなければ、足さない
ページに無いpull requestを探す
問題を直すpull requestのうち、ページに載っていない物を探す。見落としは、この方向で起きる。実装者がページに書かずに修正を出す事がある。
載っていないpull requestは、概要欄を読み、どの問題の修正かを判断する。問題の修正であれば、状態アイコンを付けて、トリアージページとレポートの両方に足す。問題の修正でなければ、足さない。
前回の同期の時期は、探す範囲を絞る手掛かりになる。ただし、前回より前に作られたpull requestが、後から問題の修正になる事がある。日付で絞る時は、タイムゾーンにも気を付ける。日付の境目の前後に作られたpull requestが漏れる事がある。
完了した後の残タスク
完了の印が付いた行について、残タスクが無いかを確かめる。pull requestがmergeされても、問題が全て解決したとは限らない。一部だけを直した、別の課題として残した、既存のデータの棚卸しが要る、実環境の確認が要る、といった場合である。残タスクは、完了の印を外さずに、1行のサマリーで表す。
- レポートの問題に残タスクが書かれていれば、トリアージページのpull requestの行の下に、1行のサマリーを足す。複数あっても1行にまとめる。詳細はレポートにあるので、サマリーだけでよい
- pull requestの概要欄にだけ書かれている作業は、先にレポートの問題に写す。概要欄から写した事が分かるように書き、概要欄に無い事は書かない。その上で、トリアージページにサマリーを足す
- 既に同じ趣旨の行があれば、足さない
人間が書いた行
人間が並行してページを編集している。
- 人間が書いた行でも、状態アイコンは、実際の状態に合わせて直す。直した事を報告する
- 文言は変えない。ただし、実際の状態と食い違う語は落とし、落とした事を報告する。「draftのまま」のような語である
- pull requestへのリンクを持たない着手の宣言の行は、触らない
- pull requestの行の末尾にある署名は、実装者の物である。自分の署名に変えない
直さずに報告する事
次の事を見つけた時は、ページを直さず、指揮役に報告する。
- pull requestが、mergeされずにcloseされた。ページに載っている行を消すか、残すかの判断が要る
- 残タスクのサマリーが、後のpull requestで解消されたように見える。作業が済んだかは、pull requestからは確かめられない
- レポートに、対象の条件に合う問題が増えている。トリアージページに行を足すかの判断が要る
- レポートが「問題なし」と判定した箇所を、直すpull requestが動いている
- 同じpull requestが、トリアージページとレポートで、別の問題に紐づいている。pull requestの概要欄を読んでも決められない時である
指揮役への報告
次の3つに分けて報告する。
- 直した行
- 正しかったので触らなかった行。触らなかった行も挙げると、見落としではない事が分かる
- 判断が要るので、直さずに残した事
加えて、次の事を報告する。
- 新しくページに足したpull requestと、紐づけた問題
- ページに載っていなかったが、問題の修正ではないと判断したpull request
- 状態アイコンが付いた行の数と、確かめたpull requestの数
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
ソースコード中のコメントを書く時の心得。コメントに何を書き、何を書かないかの判断基準と、置く位置、日本語の文体を定める。 ソースコードのコメントを書く時、直す時、レビューする時に読み込む。
リポジトリのセキュリティ調査を領域ごとに進める。同じサービスを構成する複数のリポジトリを束ねて調査できる。 このsessionは調査を指揮し、領域ごとに起動したsubagentが調査してレポートを出力する。 レポートの問題のトリアージと、問題の自動修正、問題を直すpull requestの状態の同期も指揮する。 複数sessionにまたがる長期作業を想定し、実行するたびに現状を確認して続きの作業を行う。 ユーザーが手動で起動する。
セキュリティ調査で検出された問題を1つ修正し、pull requestをready for reviewまで仕上げる。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
本番に出る前の修正が積まれたrelease pull requestに、デプロイの前後に人間がやる事をまとめたコメントを投稿・更新する。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
リポジトリの1つの領域をセキュリティ観点で調査し、Codexの批判的レビューを経てレポートを出力する。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。