Communityコーディング&開発github.com

eins78/agent-skills

エージェントスキル集:セッション管理、TypeScriptパターン、Chrome CDP、tmux、Apple連携

agent-skills とは?

このスキルコレクションは、Claude CodeなどのAIエージェント向けに設計された実用的なユーティリティを提供します。具体的には、AIコードレビュー、セッション管理、TypeScriptパターン、Chrome DevTools Protocol(CDP)操作、tmux統合、Apple製品との連携といった機能が含まれています。各スキルは個別のスクリプトとして提供され、エージェントのワークフローにシームレスに組み込むことができます。これにより、開発者はAIアシスタントの能力を拡張し、より効率的なコーディングセッションを実現できます。プラットフォームに依存せず、Claude Codeや類似のAIエージェントで利用可能です。

対応✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add eins78/agent-skills

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AIコードレビュー

セッション中にCLI経由で別のAIモデルにコードレビューを依頼します。

前提条件

  • gemini CLIがインストールされていること(${CLAUDE_SKILL_DIR}/scripts/install-dependencies.shを実行)
  • 認証:GEMINI_API_KEY環境変数(推奨。「有料API」を参照)またはGoogleアカウントOAuth(初回はgeminiを対話的に実行)
  • オプション:OpenAIレビュー用のcodex CLI(brew install codex)

重要:レビューを絶対にスキップしないこと

品質は速度に優先します。 レビューがリクエストされた場合、結果を待つ必要があります。以下のことは絶対に行わないでください:

  • レート制限やタイムアウトのためにレビューをスキップする
  • レビューなしで進めて「後でレビューできます」と言う
  • 外部モデルを呼び出さずに自分自身のレビューで代用する

gemini CLIはレート制限のリトライを自動的に処理します。スクリプトがタイムアウト(終了コード2)で終了した場合は、ユーザーに助けを求めてください。黙って続行しないでください。

レート制限(無料枠 - Googleアカウント認証)

メトリクス制限
1分あたりのリクエスト数60 RPM
1日あたりのリクエスト数1,000 RPD
容量(トークン/時間)非常に低い - 本当のボトルネック
モデルGoogleが自動選択(時間とともにアップグレード)
コスト$0

重要: RPM/RPDの制限が問題になることは稀です。Googleは容量クォータ(一定時間内に処理されるトークンの総数)も強制しており、こちらがはるかに厳しいです。大規模なレビューペイロード(コード+自動コンテキスト)は、わずか数リクエストでこのクォータを使い切り、TerminalQuotaErrorが発生し、数時間(通常1〜3時間)のリセット待ちになります。これは新しい自動選択モデル(例:Gemini 2.5 Pro)で特に顕著です。

クォータの負荷を軽減するには:

  • 小規模/焦点を絞ったレビューには--no-contextを使用してトークン使用量を削減する
  • 大規模なレビューは小さなチャンクに分割する
  • 有料APIキーを使用して容量制限を完全に回避する(下記参照)

CLIは1分あたりのレート制限ヒット(数秒でリセット)に対して自動的にリトライします。容量クォータはリトライしません。リセットウィンドウを待つ必要があります。スクリプトには1時間のタイムアウトがあります。これを超えた場合は中断され、ユーザーに助けを求める必要があります。

有料API(定期的な使用に推奨)

無料枠の容量クォータは、セッションごとに数回以上のレビューを行うには非現実的です。有料APIキーを使用すると、最小限のコストでこのボトルネックを解消できます。

セットアップ

  1. Google AI Studioからキーを取得する
  2. 関連するGoogle Cloudプロジェクトで請求先を有効にする - 課金が有効になっていないと、APIキーは引き続き無料枠の容量制限(OAuthと同じボトルネック)を使用します。AI Studioでは:設定→請求、またはGoogle Cloudコンソールで行います。
  3. gemini CLIをAPIキー認証を使用するように設定する:
    # gemini設定(~/.gemini/settings.json)で認証タイプを設定
    # geminiを一度対話的に実行 - 認証方法の選択を求められます。
    # プロンプトが表示されたら「Gemini API Key」を選択します。
    
  4. 環境変数を設定する:
    export GEMINI_API_KEY="あなたのキー"
    
    これをシェルプロファイルに追加すると、新しいシェルが自動的に認識します。すでに実行中のセッション(例:Claude Code)の場合は、ファイルを読み込むかセッションを再起動する必要があります。
  5. 動作確認:gemini -p "hello" - OAuthプロンプトやクォータエラーなしで応答するはずです。

コスト見積もり(Gemini 2.5 Pro)

トークンコスト
レビューあたりの入力(コンテキスト+差分)〜8-12K〜$0.01-0.015
レビューあたりの出力〜1-2K〜$0.01-0.02
レビューあたりの合計〜$0.02-0.04
使用レベルレビュー数/月推定コスト
軽度(週に数回)〜20〜$0.50
中程度(1日に数回)〜60〜$1.50
高頻度(1日に何度も)〜150〜$4.00

使用状況の追跡

  • AI Studio → ダッシュボード → 使用量タブ(リクエスト、トークン、コスト)
  • Google Cloudコンソール → APIとサービス → ダッシュボード → 「Generative Language API」
  • 請求レポート → SKUでグループ化してモデルごとの内訳を表示
  • ヒント: 同じプロジェクト内で複数のキーを作成し、AIレビューの使用量と対話型gemini CLIの使用量を分離する

使用方法

ステップ1:レビュー対象を決定する

コンテキストに基づいて選択します:

状況送信するもの
コードを書いた直後変更した特定のファイル
機能の途中git diff(ステージングされていない変更)
コミット前git diff --cached(ステージングされた変更)
ブランチレビューgit diff main...HEAD
特定の懸念事項単一のファイルまたは関数

ステップ2:レビューを実行する

${CLAUDE_SKILL_DIR}/scripts/review.shにあるレビュースクリプトを使用します。このパスはカレントワーキングディレクトリに関係なく、スキル自身のディレクトリに解決されます。./scripts/review.shは使用しないでください(CWDからの相対パスであり、他のリポジトリでは失敗します)。コードを直接geminiやcodexにパイプしないでください - 常にレビュースクリプトを使用してください。

# ステージングされていない変更をレビュー(デフォルト)
${CLAUDE_SKILL_DIR}/scripts/review.sh

# ステージングされた変更をレビュー
${CLAUDE_SKILL_DIR}/scripts/review.sh --staged

# 特定のファイルをレビュー
${CLAUDE_SKILL_DIR}/scripts/review.sh path/to/file1.swift path/to/file2.swift

# mainとのブランチ差分をレビュー
${CLAUDE_SKILL_DIR}/scripts/review.sh --branch

# リモートとのブランチ差分をレビュー(mainで直接作業する場合)
REVIEW_BASE_BRANCH=origin/main ${CLAUDE_SKILL_DIR}/scripts/review.sh --branch

# より良いレビューのために追加のコンテキスト文字列を指定
${CLAUDE_SKILL_DIR}/scripts/review.sh --context "SwiftUIアプリ、iOS 18+、Swift 6" path/to/file.swift

# 特定の計画ファイルを使用してレビュー
${CLAUDE_SKILL_DIR}/scripts/review.sh --plan PLAN.md path/to/file.swift

# 自動コンテキストをスキップ(コード/差分のみ送信)
${CLAUDE_SKILL_DIR}/scripts/review.sh --no-context --staged

ステップ3:フィードバックに対応する

レビューを受け取った後:

  1. ERRORレベルの問題はすぐに対処する
  2. WARNING項目を検討する - やむを得ない理由がない限り修正する
  3. INFO項目は提案 - 判断して対応する
  4. レビューで不明な点が提起された場合は、ユーザーと話し合う

障害への対応

終了コード意味アクション
0成功レビューのフィードバックに対応
1レビューするコードがない/引数が不正引数を確認
2タイムアウト(1時間以上ブロック)ユーザーに助けを求める - レビューをスキップしない

自動コンテキスト

レビュースクリプトは、すべてのレビューにプロジェクトコンテキストを自動的に先頭に追加し、レビュアーが規約、アーキテクチャ、意図を理解できるようにします。CLAUDE.mdに「コードレビューコンテキスト」セクションを手動で追加する必要はありません。

自動的に含まれるもの(順序):

  1. 実装計画 - 最初に見つかったもの:--planフラグ、リポジトリルートのPLAN.md、最新の.claude/plans/*.md
  2. プロジェクト指示 - 最初に見つかったもの:リポジトリルートのCLAUDE.md、GEMINI.md、AGENTS.md
  3. ファイルツリー - 深さ3のリポジトリ構造

これをスキップするには--no-contextを使用します(例:非常に大きなペイロードの場合)。

--contextフラグは、自動コンテキストに加えて追加のインラインコンテキスト文字列を追加します。

プロバイダー設定

デフォルトのプロバイダーはgeminiです。セッションごとに上書き:

# OpenAIを使用する場合
REVIEW_PROVIDER=codex ${CLAUDE_SKILL_DIR}/scripts/review.sh

重要な注意事項

  • レビューは助言的なものです - 2番目のモデルは誤検出を出す可能性があります
  • 大きな差分(>50KB)は切り詰められる可能性があります。必要に応じて小さなレビューに分割してください。
  • レビューモデルはプロンプトモード(-p)で実行され、リポジトリを参照することはできません。プロジェクトコンテキストは自動的に含まれ、これを補います - 上記「自動コンテキスト」を参照してください。

関連スキル