Skip to main content
カスタムエージェントはベータ版です。動作や画面は今後変わる可能性があります。

Skills & docs

skills と docs は、すでにリポジトリにあるガイドです。Kodus はそれらをコピーせず、毎回のレビューでプルリクエストのターゲットブランチから読み込みます。そのため、そのブランチでの編集は設定に戻らなくても反映され、プルリクエストが自分を評価するルールを変えることはできません。 skill 内のスクリプトはテキストとしてエージェントに渡され、実行されることはありません。

Kodus が見つける場所

Skills は次の場所で検出されます。
  • .claude/skills/*/SKILL.md
  • .claude/agents/*.md
  • .agents/skills/*/SKILL.md
  • .github/skills/*/SKILL.md
SKILL.md は、name(小文字・数字・ハイフンで、フォルダー名と一致)と description を持つ YAML フロントマターで始まります。これらがない skill は理由とともに “Not a valid skill” と表示されます。エージェントは SKILL.md(最大 500 行、約 5,000 トークン)と、その隣のファイルを 1 フォルダー下まで(例:references/payments.md)読みます。
.claude/skills/ledger-rules/SKILL.md
Docs は CONTRIBUTING.md、ARCHITECTURE.md、CONVENTIONS.md、STYLEGUIDE.md、docs/**/*.md(最大 30 件)から提案されます。任意のパスを手動で追加することもできます。拡張子のあるファイルは doc、フォルダー(またはその中の SKILL.md)は skill になります。

紐付け

skill や doc を紐付ける場所は 2 つあります。
  • エージェントのページの Files & knowledge → Skills & docs:Add skill or doc でエージェントが従えるものを一覧表示するか、Add by path を使います。
  • Skills & docs ページ(What to review の Custom agents の横のリンク):登録済みのすべての skill と doc に、Main review と各エージェントのチェックボックスがあります。Main review に紐付けると、Kody 自身のレビューにガイドが渡されます。
グローバルレベルの Skills & docs ページでは、手入力したパスしか受け付けません。リポジトリごとに個別に読み込まれるため、各パスが存在するかはリポジトリの設定を開いて確認してください。
Also a Kody Rules source と表示されたファイルは、すでに Kody Rules に使われています。エージェントにも紐付けると、同じルールが 2 回コメントされることがあります。

予算

エージェントごと、およびメインレビューごとの制限: エージェントやメインレビューが制限を超えると、Skills & docs ページが警告します。レビューでは、予算を超えた docs は切り詰められるかスキップされ、警告が記録されます。

指摘での使われ方

規約に関する指摘は、適用するルールを引用する必要があります。Kodus はターゲットブランチ上のガイドで引用を確認し、見つからなければ指摘を破棄します。投稿されるコメントはルールを引用します。

Plugins (MCP)

エージェントは、ワークスペースにインストールされたプラグイン(課題管理、Wiki、モニタリングなど)を参照できます。Tools → Plugins でエージェントのプラグインをオンにし、Use every tool のままにするか、Customize で一覧を選びます。 提供されるのは読み取りツールだけで、書き込みツールは決して提供されません。ツールを読み取り専用と明示するプラグインはその申告どおりに扱われます。明示しないプラグインでは、名前に読み取りの動詞(get、list、search、read、find…)があり、書き込みの動詞がないツールだけが対象になります。レビューがチームに代わってチケットを作成したりメッセージを投稿したりすることはありません。 エージェントは、変更がそこに記録されたもの(プルリクエストの説明にあるチケットなど)を指しているときにプラグインを参照し、見つけた内容を引用します。インストール方法は プラグイン を参照してください。

Team CLIs

エージェントはチームのコマンドラインツールを最大 3 つ実行できます。重複コード検出、スキーマチェッカー、社内 linter などです。CLI は隔離された E2B サンドボックス内、リポジトリのチェックアウトの中でのみ実行されます。それ以外のサンドボックスでは CLI はインストールされず、エージェントは CLI なしで実行されます。 Tools → CLIs で Add CLI をクリックします。 インストールのルール。 対応インストーラー:npm、pnpm、yarn、pip、pip3、pipx、uv、go、cargo。すべてのパッケージを固定する必要があります(tool@1.2.3、tool==1.2.3、tool@sha256:…)。@latest などのタグ、バージョン範囲、URL、Git ソース、ローカルパス、シェル構文は拒否されます。
呼び出しの実行方法。 エージェントが渡すのは引数で、シェルコマンドではありません。パイプ、リダイレクト、glob、変数は文字どおりに渡されます。許可されたプレフィックスで始まらない呼び出しは拒否されます。各 CLI は専用のユーザーで、タイムアウト、専用の一時ディレクトリ、そのユーザーだけが読めるファイルとともに実行されます。出力には上限があり、呼び出しの後には CLI が起動したものや一時ディレクトリに書いたものがすべて削除されます。CLI の各ステップは sandbox プロバイダー経由で root として実行され、レビューが動くユーザーを経由することはありません。そのユーザーはリポジトリの取得前に root になる手段(sudo を含む)をすべて失うため、プルリクエストのコードが CLI のプロセスやファイルに届くことはありません。これを確認できなかった sandbox では CLI は実行されません。 ブロックされるコマンド。 シークレットを持つ CLI では、保存時と実行時の両方で、環境を一覧表示するプレフィックスや引数(printenv、env、set、export、declare、/proc 配下のもの)、トークンを表示する一般的なコマンド(auth token、auth status --show-token、auth:token、config get、configure get、print-access-token、get-access-token)、バイナリとしてのシェルやインタープリター(bash、node、python、npx など)、シークレットを $NAME や ${NAME} の形で参照する引数を Kodus が拒否します。引数がシェルを通ることはないため、Kodus 自身が展開することはありません。 ネットワーク。 許可リストはホスト名で適用されます。CLI の HTTPS 接続はプロキシを通り、要求されたサーバー名がリストにある場合(完全一致、サブドメインは不可)にのみ転送されます。プロキシはその名前を自分で解決し、プライベートや内部のアドレスを拒否します。CLI にはそれ以外のネットワークアクセスはありません(DNS、暗号化されていない HTTP、他のポートはすべて不可)。許可されたホストは、認証情報を含め CLI が送るものを受け取りますし、ネットワークでは読み取りと書き込みを区別できません。読み取り専用で最小権限のトークンを使い、信頼できるホストだけを許可してください。 シークレットの扱い。 シークレットは保存時に暗号化され(AES-256-GCM、エージェント・CLI・変数名に紐づけ)、ブラウザには二度と返されず、Stored · hidden と表示されます。シークレットは保存された CLI とその設定レベルに紐づきます。CLI に変更(名前、インストール、バイナリ、許可されたプレフィックス、許可されたドメイン、Runs project code、シークレットの名前)があると、保存時にも Try it でもすべてのシークレットの再入力が求められます。使い方のメモとタイムアウトだけは再入力なしで変更できます。読み取れなくなった保存済みシークレットも再入力が必要です。Try it は編集中のレベルに保存されたシークレットだけを使い、継承したものは使いません。シークレットが届くのはその CLI のプロセスだけで、インストール、他の CLI、エージェントのプロンプトには届きません。CLI の出力では、base64、URL エンコード、16 進数、JSON エスケープで表示された場合も含め、エージェント、Try it、プルリクエストのコメント、ログに渡る前にすべてのシークレットが *** に置き換えられます。マスキングではあらゆる変換(分割された値や部分的な値)を認識できないため、上記のコマンドをブロックしています。 CLI に基づく指摘では、コメントにファイルを名指しする出力行が表示されます。
インストールに失敗すると、エージェントはその CLI なしで実行され、警告が記録されます。Try it では Warnings に表示されます。

ast-grep rules

Tools → Advanced → Structural search (ast-grep rules) で、エージェントに ast-grep のルールを次のいずれかで与えます。
  • インライン:ルールの YAML そのもの。複数のルールは --- で区切ります。各ルールに id と rule が必要です。
  • ルールファイル:リポジトリ内の .yml または .yaml ファイルのパスを 1 行で。プルリクエストのターゲットブランチから読み込まれます。
ルールはプルリクエストの変更ファイルに対して実行されます。ルールのマッチは証拠です。実行中にそのファイルでマッチしたルールを引用する指摘は、引用チェックとモデルによる検証をスキップします。ルールの上限は 64,000 バイトです。フィールドのヒントには見つかったルールが一覧表示され、id や rule のないルールが報告されます。 ルールを設定していなくても、エージェントはリポジトリ全体でアドホックな構造検索を使えます。

関連ページ

カスタムエージェント

レベル、エージェントのページ、Try it、レビューでの実行の流れ。

jscpd で重複コードを検出

チームの CLI を使う完全なエージェントの例。