Agent Skillを書く時の心得。SKILL.mdに何を書き、何を書かないかの判断基準を定める。AIが読んで従う文書に共通の心得は、kuden:common-rules-for-agent-instructionsにある。 Agent Skillを作成する時、編集する時、レビュー指摘の採否を決める時に読み込む。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
対話コンテキストをexportする。会話で共有された目的・意図・設計判断・制約条件を `.dev/contexts/` ディレクトリに書き出し、PRが存在する場合はPRコメントにも投稿する。次の作業者(レビュワー、別セッションのAI、バグハンティングのAIなど)に引き継ぐ。
ユーザーが「コンテキストを書き出して」「対話コンテキストをexport」「会話した内容を.devに保存して」と言った時に使用する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
会話を通じて共有された開発コンテキスト(目的・意図・設計判断・制約条件など)を .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が実行する。ユーザーが直接呼び出す事は想定していない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.