Agent Skillを書く時の心得。SKILL.mdに何を書き、何を書かないかの判断基準を定める。AIが読んで従う文書に共通の心得は、kuden:common-rules-for-agent-instructionsにある。 Agent Skillを作成する時、編集する時、レビュー指摘の採否を決める時に読み込む。
中文简介正在准备中。当前显示原文说明。
対話コンテキストをexportする。会話で共有された目的・意図・設計判断・制約条件を `.dev/contexts/` ディレクトリに書き出し、PRが存在する場合はPRコメントにも投稿する。次の作業者(レビュワー、別セッションのAI、バグハンティングのAIなど)に引き継ぐ。
ユーザーが「コンテキストを書き出して」「対話コンテキストをexport」「会話した内容を.devに保存して」と言った時に使用する。
中文简介正在准备中。当前显示原文说明。
安装前可以查看交给 AI 代理的指令内容。
会話を通じて共有された開発コンテキスト(目的・意図・設計判断・制約条件など)を .dev/contexts/{サニタイズ済みブランチ名}.md に書き出す。PRが存在する場合はPRコメントにも投稿する。
このファイルは以下の場面で活用される:
Bashツールで以下を実行する:
git branch --show-current && git rev-parse --short HEAD && gh pr view --json number -q .number
ブランチ名、source commit、PR番号を取得する。Updated atには現在の日時(YYYY-MM-DD HH:mm:ss)を記入する。
ブランチ名をファイル名として使う際、以下の文字を - に置換する:
/ \ : * ? " < > |
例: dependabot/npm_and_yarn/feed-5.2.0 → dependabot-npm_and_yarn-feed-5.2.0
以降の手順では、サニタイズ後のブランチ名を「サニタイズ済みブランチ名」と呼ぶ。
出力先をgit worktreeの状況に応じて決める。
Bashツールで git worktree list を実行し、現在の作業ツリーがmain worktree(リポジトリ本体の作業ツリー)か、リンクされたworktreeかを判断する。worktreeで作業している場合はmain worktreeのパスも把握する。
main treeで作業中の場合は、出力先ディレクトリを .dev/contexts/ とする。
worktree内で作業中の場合は、AskUserQuestionツールで出力先を確認する:
{main treeのパス}/.dev/contexts/ とする。worktreeを破棄してもローカルファイルが残る.dev/contexts/ とする以降の手順では、決定したパスを「出力先ディレクトリ」と呼ぶ。
{出力先ディレクトリ}/{サニタイズ済みブランチ名}.md が既に存在するか確認する。
存在する場合は、Readツールで読み込む。次に、そのファイルが この会話内で自分がexportしたものか(同一セッション)、それとも別のセッションが書き出したものか(別セッション) を判定する。
この判定に基づき、ステップ3で「既存ファイルの更新ルール」を適用する。
このSKILL.mdと同じディレクトリにある TEMPLATE.md を読み込み、その構造に従ってファイルを作成する。
出力先ディレクトリが存在しない場合は作成する。
Writeツールで {出力先ディレクトリ}/{サニタイズ済みブランチ名}.md に書き出す。
ステップ1でPR番号が取得できなかった場合(PRが未作成)は、この手順をスキップする。
Bashツールで以下を実行する:
gh repo view --json owner,name -q '.owner.login + "/" + .name' && gh api user -q .login
1行目がリポジトリの {owner}/{repo}、2行目が現在のGitHubユーザー名となる。
Bashツールで以下を実行し、PRコメント一覧から対話コンテキストのコメントを検索する。TEMPLATE.mdの見出し形式 # {ブランチ名} 対話コンテキスト で始まるコメントのみを対象とする:
gh api repos/{owner}/{repo}/issues/{PR番号}/comments --paginate -q '.[] | select(.body | startswith("# {ブランチ名} 対話コンテキスト")) | {id: .id, login: .user.login}'
{ブランチ名} にはカレントブランチ名(サニタイズ前)を埋め込む。startswith で見出し行の完全一致を確認することで、「対話コンテキスト」という文字列を含むだけの無関係なコメントを除外する。
複数見つかった場合は、自分のコメントを優先して対象とする。自分のコメントが複数ある場合は最新のものを使う。自分のコメントがなく別ユーザーのコメントのみの場合は、最新のものを対象とする。
検索結果に応じて以下のように分岐する。コメント本文はファイルから読み込む方式を使い、シェルのエスケープ問題を避ける。
新規コメントを投稿する:
gh pr comment {PR番号} --body-file "{出力先ディレクトリ}/{サニタイズ済みブランチ名}.md"
既存コメントを更新する:
gh api repos/{owner}/{repo}/issues/comments/{コメントID} --method PATCH -F "body=@{出力先ディレクトリ}/{サニタイズ済みブランチ名}.md"
別ユーザーのコメントは権限上編集できないため、AskUserQuestionツールで以下の選択肢を提示する:
gh pr comment で新規コメントを投稿する投稿または更新が完了した場合、PRコメントのURLをユーザーに報告する。スキップした場合はその旨を報告する。
「設計方針」と「却下した代替案」の境界:
「発見された制約」と「注意が必要な難所」の境界:
先行セッションの記録は「先人の発見」として尊重する。
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
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が実行する。ユーザーが直接呼び出す事は想定していない。
中文简介正在准备中。当前显示原文说明。
リポジトリの1つの領域をセキュリティ観点で調査し、Codexの批判的レビューを経てレポートを出力する。 codepatrol skillが起動したsubagentが実行する。ユーザーが直接呼び出す事は想定していない。
中文简介正在准备中。当前显示原文说明。