<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AgentKoji</title>
    <description>The latest articles on DEV Community by AgentKoji (@agentkoji).</description>
    <link>https://dev.to/agentkoji</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4202252%2F2d877528-34c9-4b77-85d0-4abade6545fc.jpg</url>
      <title>DEV Community: AgentKoji</title>
      <link>https://dev.to/agentkoji</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agentkoji"/>
    <language>en</language>
    <item>
      <title>What AI Coding Tools Cost per Month</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:23:03 +0000</pubDate>
      <link>https://dev.to/agentkoji/what-ai-coding-tools-cost-per-month-49e5</link>
      <guid>https://dev.to/agentkoji/what-ai-coding-tools-cost-per-month-49e5</guid>
      <description>&lt;p&gt;Adding up official list prices (all checked 2026-10-23, USD), an AI coding budget lands around &lt;strong&gt;$20/month&lt;/strong&gt; to try one tool solo, &lt;strong&gt;$120&lt;/strong&gt; for daily side-project use, and &lt;strong&gt;$125&lt;/strong&gt; for a five-person team. These are generic examples, not anyone's actual spending. Prices change, so check official pages before subscribing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monthly prices (billed monthly)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Monthly&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;Max 5x / Max 20x&lt;/td&gt;
&lt;td&gt;$100 / $200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude&lt;/td&gt;
&lt;td&gt;Team (Standard seat)&lt;/td&gt;
&lt;td&gt;$25 per seat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ChatGPT (Codex)&lt;/td&gt;
&lt;td&gt;Plus&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ChatGPT (Codex)&lt;/td&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;$25 per user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor&lt;/td&gt;
&lt;td&gt;Plus / Premium&lt;/td&gt;
&lt;td&gt;$8 / $30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cursor&lt;/td&gt;
&lt;td&gt;Teams&lt;/td&gt;
&lt;td&gt;from $30 per seat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Copilot&lt;/td&gt;
&lt;td&gt;Pro / Pro+ / Max&lt;/td&gt;
&lt;td&gt;$10 / $39 / $100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Gotchas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code isn't included in Claude Free; it is in Pro, Max and Team. Max is monthly only&lt;/li&gt;
&lt;li&gt;Codex CLI with a ChatGPT plan needs Plus or higher&lt;/li&gt;
&lt;li&gt;Cursor Plus runs Grok models only&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Three sample setups
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Solo trial:     Claude Pro $20                       = $20/month
Side project:   Claude Max 5x $100 + ChatGPT Plus $20 = $120/month
Small team:     Claude Team Standard $25 × 5         = $125/month
                (annual: $20 × 5 = $100/month)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A second subscription lets you keep working when one tool hits its limit. ChatGPT Business for five also comes to $125; Cursor Teams is $150 and up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Costs beyond the subscription
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;API keys bill per use at API rates&lt;/li&gt;
&lt;li&gt;Claude usage credits bill overage at standard API rates; Copilot lets you set a budget for extra usage&lt;/li&gt;
&lt;li&gt;Third-party models on Cursor Premium and above are billed at API list price&lt;/li&gt;
&lt;li&gt;CI runs draw on plan usage or API billing; an always-on agent adds server cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limits reset on different clocks
&lt;/h2&gt;

&lt;p&gt;Claude: five-hour session limit plus weekly limit (shared between chat and Claude Code). Cursor: weekly. Copilot: monthly allowance.&lt;/p&gt;

&lt;p&gt;Sources: claude.com/pricing, learn.chatgpt.com/docs/pricing, cursor.com/pricing, github.com/features/copilot/plans (checked 2026-10-23)&lt;/p&gt;

&lt;p&gt;👉 Full article with annual pricing and all sources: &lt;a href="https://agentkoji.com/en/articles/ai-dev-monthly-cost/" rel="noopener noreferrer"&gt;https://agentkoji.com/en/articles/ai-dev-monthly-cost/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>Run Parallel AI Agents with Git Worktrees</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:22:26 +0000</pubDate>
      <link>https://dev.to/agentkoji/run-parallel-ai-agents-with-git-worktrees-2kg3</link>
      <guid>https://dev.to/agentkoji/run-parallel-ai-agents-with-git-worktrees-2kg3</guid>
      <description>&lt;p&gt;Two agents in one working tree step on each other's edits. The fix is to give each Claude Code session its own directory and branch with git worktree. Here's the condensed version (tested on git 2.54.0 and Claude Code 2.1.309, 2026-10-23).&lt;/p&gt;

&lt;h2&gt;
  
  
  Git worktree basics
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;todo-app
git worktree add ../todo-app-login &lt;span class="nt"&gt;-b&lt;/span&gt; feature/login
git worktree list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Things that bite:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A branch can be checked out in only one worktree at a time.&lt;/strong&gt; A second one fails with &lt;code&gt;fatal: 'feature/login' is already used by worktree at ...&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git worktree remove&lt;/code&gt; refuses while modified or untracked files remain&lt;/li&gt;
&lt;li&gt;If you delete a worktree with &lt;code&gt;rm&lt;/code&gt;, clean up with &lt;code&gt;git worktree prune -v&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Claude Code's --worktree
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--worktree&lt;/span&gt; feature-auth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates &lt;code&gt;.claude/worktrees/feature-auth/&lt;/code&gt; on a new branch &lt;code&gt;worktree-feature-auth&lt;/code&gt;. Run it in another terminal with a different name for a second session. Add &lt;code&gt;.claude/worktrees/&lt;/code&gt; to &lt;code&gt;.gitignore&lt;/code&gt;. New worktrees branch from the default branch; set &lt;code&gt;worktree.baseRef&lt;/code&gt; to &lt;code&gt;"head"&lt;/code&gt; to branch from current work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What each worktree needs
&lt;/h2&gt;

&lt;p&gt;A worktree is a fresh checkout: no &lt;code&gt;node_modules&lt;/code&gt;, no gitignored &lt;code&gt;.env&lt;/code&gt;. Install dependencies in each one. A &lt;code&gt;.worktreeinclude&lt;/code&gt; file (gitignore syntax) copies matching gitignored files into new worktrees:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.env
.env.local
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dev-server ports and local databases are shared, so give each worktree its own port.&lt;/p&gt;

&lt;h2&gt;
  
  
  How many to run
&lt;/h2&gt;

&lt;p&gt;On a subscription, usage is shared across sessions (five-hour and weekly limits), so more sessions hit limits sooner. The costs docs say agent teams use roughly 7x more tokens than standard sessions when teammates run in plan mode. We found no official maximum.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cleaning up
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Interactive session with no changes: an unnamed worktree and its branch are removed automatically&lt;/li&gt;
&lt;li&gt;With changes: you're asked to keep or remove; resume with &lt;code&gt;claude --worktree &amp;lt;name&amp;gt; --resume&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-p&lt;/code&gt; runs leave worktrees behind; remove them with &lt;code&gt;git worktree remove&lt;/code&gt; (&lt;code&gt;git worktree unlock&lt;/code&gt; first if locked)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sources: &lt;a href="https://git-scm.com/docs/git-worktree" rel="noopener noreferrer"&gt;https://git-scm.com/docs/git-worktree&lt;/a&gt; , &lt;a href="https://code.claude.com/docs/en/worktrees" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/worktrees&lt;/a&gt; (checked 2026-10-23)&lt;/p&gt;

&lt;p&gt;👉 Full article: &lt;a href="https://agentkoji.com/en/articles/agent-parallel-worktree/" rel="noopener noreferrer"&gt;https://agentkoji.com/en/articles/agent-parallel-worktree/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>git</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Claude Codeでコードレビュー：Code Reviewと/code-review</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:15:49 +0000</pubDate>
      <link>https://dev.to/agentkoji/claude-codedekodorebiyucode-reviewtocode-review-276l</link>
      <guid>https://dev.to/agentkoji/claude-codedekodorebiyucode-reviewtocode-review-276l</guid>
      <description>&lt;p&gt;Claude にコードをレビューさせる入口は2つあります。組織で GitHub に入れる &lt;strong&gt;Code Review&lt;/strong&gt;（Team / Enterprise 向け）と、どのプランでも使える手元の &lt;strong&gt;&lt;code&gt;/code-review&lt;/code&gt;&lt;/strong&gt; です。要点をまとめます（2026年10月23日時点、公式ドキュメントに基づく）。&lt;/p&gt;

&lt;h2&gt;
  
  
  手元の /code-review
&lt;/h2&gt;

&lt;p&gt;今のブランチの変更を読み、正しさに関わるバグを会話に返します。&lt;code&gt;/review&lt;/code&gt; は別名です。対象を省くと、上流より先のコミットと未コミットの変更が対象になります。&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;対象&lt;/th&gt;
&lt;th&gt;打つもの&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;直近15コミット&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/code-review HEAD~15..HEAD&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ブランチどうし&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/code-review main...feature/due-dates&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PR 番号&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/code-review 1234&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;パス&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/code-review src/todos&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;--fix&lt;/code&gt;：見つかった問題を直させる（&lt;code&gt;/rewind&lt;/code&gt; で戻らないものがあるので git で戻す）&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--comment&lt;/code&gt;：PR に行コメントとして書き込む&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--max-findings &amp;lt;n&amp;gt;&lt;/code&gt;：件数の上限&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;low&lt;/code&gt;〜&lt;code&gt;max&lt;/code&gt;：effort の段階。&lt;code&gt;ultra&lt;/code&gt; でクラウドの複数エージェントレビュー&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;手元のレビューは CLAUDE.md に従い、&lt;code&gt;REVIEW.md&lt;/code&gt; は読みません。&lt;/p&gt;

&lt;h2&gt;
  
  
  組織の Code Review
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Team と Enterprise のみ。GitHub（Enterprise Server 含む）が対象&lt;/li&gt;
&lt;li&gt;Zero Data Retention、HIPAA 構成、CMEK の組織では使えない&lt;/li&gt;
&lt;li&gt;Owner が管理画面で有効化 → GitHub 接続 → GitHub App を導入 → リポジトリ選択 → テスト PR で &lt;strong&gt;Claude Code Review&lt;/strong&gt; の check run を確認&lt;/li&gt;
&lt;li&gt;既定は「プッシュのたびにレビュー」。PR 作成時のみ・手動（&lt;code&gt;@claude review&lt;/code&gt;）に変えられる。深さは Quick / Standard / Deep&lt;/li&gt;
&lt;li&gt;料金はトークン使用量で usage credits から請求。1回の決まった値段はない&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  コメントの読み方
&lt;/h2&gt;

&lt;p&gt;🔴 Important（マージ前に直す）、🟡 Nit（小さな問題）、🟣 Pre-existing（もとからあるバグ）。check run は失敗になりません。&lt;code&gt;@claude review always&lt;/code&gt; / &lt;code&gt;stop&lt;/code&gt; で自動レビューを切り替えられます。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;指摘が無いことは安全の証明ではありません。&lt;/strong&gt; Code Review は PR を承認もブロックもせず、ビルドもテストもしません。マージの判断はチームが持ちます。&lt;/p&gt;

&lt;p&gt;出典：&lt;a href="https://code.claude.com/docs/en/code-review" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/code-review&lt;/a&gt; ほか（2026-10-23確認）&lt;/p&gt;

&lt;p&gt;GitHub Actions との使い分けは元記事にあります。&lt;/p&gt;

&lt;p&gt;👉 全文：&lt;a href="https://agentkoji.com/ja/articles/claude-code-code-review/" rel="noopener noreferrer"&gt;https://agentkoji.com/ja/articles/claude-code-code-review/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>codereview</category>
      <category>github</category>
    </item>
    <item>
      <title>Gemini CLIの始め方：インストール・認証・無料枠・GEMINI.md</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:15:13 +0000</pubDate>
      <link>https://dev.to/agentkoji/gemini-clinoshi-mefang-insutoruren-zheng-wu-liao-waku-geminimd-2jnh</link>
      <guid>https://dev.to/agentkoji/gemini-clinoshi-mefang-insutoruren-zheng-wu-liao-waku-geminimd-2jnh</guid>
      <description>&lt;p&gt;Gemini CLI は、Google の Gemini をターミナルから使うオープンソースのツールです。要件・インストール・認証と無料枠・GEMINI.md の要点をまとめます（2026年10月23日時点。手元では &lt;code&gt;npx&lt;/code&gt; でバージョンとヘルプのみ確認）。&lt;/p&gt;

&lt;h2&gt;
  
  
  要件とインストール
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 20.0.0 以上&lt;/li&gt;
&lt;li&gt;macOS 15 以上 / Windows 11 24H2 以上 / Ubuntu 20.04 以上&lt;/li&gt;
&lt;li&gt;メモリは軽い使い方で 4GB、大きなコードベースなら 16GB 以上
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @google/gemini-cli   &lt;span class="c"&gt;# npm&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;gemini-cli             &lt;span class="c"&gt;# Homebrew&lt;/span&gt;
npx @google/gemini-cli              &lt;span class="c"&gt;# インストールせずに試す&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;起動は &lt;code&gt;gemini&lt;/code&gt;。手元では次の結果でした。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npx -y @google/gemini-cli@0.65.0 --version
0.65.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  認証と無料枠（1人1日あたり、抜粋）
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;認証&lt;/th&gt;
&lt;th&gt;プラン&lt;/th&gt;
&lt;th&gt;上限&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google アカウント&lt;/td&gt;
&lt;td&gt;Gemini Code Assist（個人向け）&lt;/td&gt;
&lt;td&gt;1,000 リクエスト&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google アカウント&lt;/td&gt;
&lt;td&gt;Google AI Pro / Ultra&lt;/td&gt;
&lt;td&gt;1,500 / 2,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini API キー&lt;/td&gt;
&lt;td&gt;無料枠&lt;/td&gt;
&lt;td&gt;250 リクエスト（Flash のみ）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vertex AI&lt;/td&gt;
&lt;td&gt;Express mode&lt;/td&gt;
&lt;td&gt;変動（課金有効化まで90日）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;公式は個人の Google アカウントでのログインを勧めています。API キーは &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; に入れます。非対話モードでは API キーか Vertex AI を使います。認証の方法によって適用される規約が変わる点に注意してください。料金・上限は変わることがあるので公式で確認を。&lt;/p&gt;

&lt;p&gt;出典：&lt;a href="https://github.com/google-gemini/gemini-cli/blob/main/docs/resources/quota-and-pricing.md" rel="noopener noreferrer"&gt;https://github.com/google-gemini/gemini-cli/blob/main/docs/resources/quota-and-pricing.md&lt;/a&gt; （2026-10-23確認）&lt;/p&gt;

&lt;h2&gt;
  
  
  よく使うコマンド
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/auth&lt;/code&gt; 認証の変更、&lt;code&gt;/init&lt;/code&gt; GEMINI.md の下書き、&lt;code&gt;/memory show&lt;/code&gt; 読み込まれた指示の表示&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/stats model&lt;/code&gt; 使用量と上限、&lt;code&gt;/compress&lt;/code&gt; 会話の要約、&lt;code&gt;/clear&lt;/code&gt; リセット&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  GEMINI.md と設定
&lt;/h2&gt;

&lt;p&gt;GEMINI.md は毎回のプロンプトと一緒に送られる指示ファイルです。&lt;code&gt;~/.gemini/GEMINI.md&lt;/code&gt;、ワークスペースとその上の階層、ツールが触れたディレクトリから読まれ、すべてつなげて送られます。&lt;code&gt;context.fileName&lt;/code&gt; で &lt;code&gt;["AGENTS.md", "GEMINI.md"]&lt;/code&gt; のように変えられます。設定は &lt;code&gt;~/.gemini/settings.json&lt;/code&gt; と &lt;code&gt;.gemini/settings.json&lt;/code&gt; で、プロジェクトが優先です。&lt;/p&gt;

&lt;p&gt;Claude Code との事実ベースの比較表は元記事にあります。&lt;/p&gt;

&lt;p&gt;👉 全文：&lt;a href="https://agentkoji.com/ja/articles/gemini-cli-getting-started/" rel="noopener noreferrer"&gt;https://agentkoji.com/ja/articles/gemini-cli-getting-started/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gemini</category>
      <category>ai</category>
      <category>cli</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Claude Codeのコマンド早見表と自作コマンド</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:08:35 +0000</pubDate>
      <link>https://dev.to/agentkoji/claude-codenokomandozao-jian-biao-tozi-zuo-komando-10lj</link>
      <guid>https://dev.to/agentkoji/claude-codenokomandozao-jian-biao-tozi-zuo-komando-10lj</guid>
      <description>&lt;p&gt;Claude Code の &lt;code&gt;/&lt;/code&gt; コマンドを作業の流れに沿って整理し、&lt;code&gt;.claude/commands/&lt;/code&gt; での自作コマンドの作り方をまとめました（Claude Code 2.1.309、2026年10月23日時点）。&lt;/p&gt;

&lt;h2&gt;
  
  
  基本
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;コマンドはメッセージの先頭でだけ認識され、後ろの文字は引数になる&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/&lt;/code&gt; で一覧が出て、続けて打つと絞り込める&lt;/li&gt;
&lt;li&gt;ターミナルでは先頭に skill を最大6つ続けて書ける（&lt;code&gt;/skill-a /skill-b do XYZ&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;応答中に送ると待ち行列に入る。&lt;code&gt;/status&lt;/code&gt;、&lt;code&gt;/tasks&lt;/code&gt;、&lt;code&gt;/usage&lt;/code&gt; はすぐ動く&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  場面別の早見表（抜粋）
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;場面&lt;/th&gt;
&lt;th&gt;コマンド&lt;/th&gt;
&lt;th&gt;何をするか&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;初めてのリポジトリ&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CLAUDE.md の下書きを作る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/permissions&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;allow・ask・deny のルールを管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;作業中&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/plan&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;plan mode に入る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;コンテキストの使用状況を見る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/compact [指示]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;会話を要約して空きを作る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/btw [質問]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;履歴に残さず横道の質問&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;並列&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/batch &amp;lt;指示&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;大きな変更を分けて worktree で進める&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;出荷の前&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/diff&lt;/code&gt;、&lt;code&gt;/code-review&lt;/code&gt;、&lt;code&gt;/security-review&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;差分の確認とレビュー&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;セッション&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/clear&lt;/code&gt;、&lt;code&gt;/resume&lt;/code&gt;、&lt;code&gt;/branch&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;新規・再開・分岐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;不調&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/rewind&lt;/code&gt;、&lt;code&gt;/doctor&lt;/code&gt;、&lt;code&gt;/debug&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;巻き戻し・点検・ログ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;いつでも&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;/usage&lt;/code&gt;、&lt;code&gt;/status&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;利用枠・状態&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;出典：&lt;a href="https://code.claude.com/docs/en/commands" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/commands&lt;/a&gt; （2026-10-23確認）&lt;/p&gt;

&lt;h2&gt;
  
  
  自作コマンド
&lt;/h2&gt;

&lt;p&gt;カスタムコマンドは skill に統合されましたが、&lt;code&gt;.claude/commands/&lt;/code&gt; の Markdown も動きます。ファイル名がコマンド名です。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Fix a todo-app issue by number. Use when the user gives an issue number.&lt;/span&gt;
&lt;span class="na"&gt;argument-hint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;[issue-number]"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

Fix issue #$ARGUMENTS in the todo app.
&lt;span class="p"&gt;
1.&lt;/span&gt; Read the failing test or the steps in the issue.
&lt;span class="p"&gt;2.&lt;/span&gt; Make the smallest change that fixes it.
&lt;span class="p"&gt;3.&lt;/span&gt; Run &lt;span class="sb"&gt;`npm test`&lt;/span&gt; and report the result.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;.claude/commands/fix-issue.md&lt;/code&gt; に置くと &lt;code&gt;/fix-issue 42&lt;/code&gt; で &lt;code&gt;$ARGUMENTS&lt;/code&gt; が &lt;code&gt;42&lt;/code&gt; になります。位置ごとなら &lt;code&gt;$0&lt;/code&gt;、&lt;code&gt;$1&lt;/code&gt;。サブディレクトリは &lt;code&gt;:&lt;/code&gt; 区切りで、&lt;code&gt;.claude/commands/release/notes.md&lt;/code&gt; は &lt;code&gt;/release:notes&lt;/code&gt; です。&lt;code&gt;disable-model-invocation: true&lt;/code&gt; で Claude が自分から使わなくなります。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;claude plugin validate .claude/commands&lt;/code&gt; で書式を確認できます。YAML が壊れたファイルは、メタデータが空のまま読み込まれる、とエラーに出ました。&lt;/p&gt;

&lt;h2&gt;
  
  
  commands と skills
&lt;/h2&gt;

&lt;p&gt;同じ名前なら skill が優先されます。補助ファイルを置けるので、新しく作るなら skill が公式のおすすめです。&lt;/p&gt;

&lt;p&gt;出典：&lt;a href="https://code.claude.com/docs/en/skills" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/skills&lt;/a&gt; （2026-10-23確認）&lt;/p&gt;

&lt;p&gt;全コマンドの表と「うまく出ないとき」の確認表は元記事にあります。&lt;/p&gt;

&lt;p&gt;👉 全文：&lt;a href="https://agentkoji.com/ja/articles/claude-code-slash-commands/" rel="noopener noreferrer"&gt;https://agentkoji.com/ja/articles/claude-code-slash-commands/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>UserPromptSubmitの使い方（Claude Code hooks）</title>
      <dc:creator>AgentKoji</dc:creator>
      <pubDate>Fri, 23 Oct 2026 10:07:56 +0000</pubDate>
      <link>https://dev.to/agentkoji/userpromptsubmitnoshi-ifang-claude-code-hooks-4b0e</link>
      <guid>https://dev.to/agentkoji/userpromptsubmitnoshi-ifang-claude-code-hooks-4b0e</guid>
      <description>&lt;p&gt;UserPromptSubmit は、プロンプトを送ったとき Claude が処理する前に動く hook です。プロンプトに文脈を足したり、Claude に届く前に止めたりできます。ここでは「文脈を足す hook」と「API キーらしき文字列を止める hook」の要点をまとめます（Claude Code 2.1.309、2026年10月23日時点。スクリプトにダミー JSON を流して確認）。&lt;/p&gt;

&lt;h2&gt;
  
  
  いつ動くか
&lt;/h2&gt;

&lt;p&gt;自分で打ったときだけでなく、次のときにも動きます。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;予約タスクが動いたとき（&lt;code&gt;/loop&lt;/code&gt; を含む）&lt;/li&gt;
&lt;li&gt;バックグラウンドのサブエージェントが結果を返したとき&lt;/li&gt;
&lt;li&gt;別のセッションからメッセージが届いたとき&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;入力 JSON には &lt;code&gt;prompt&lt;/code&gt; が入ります。&lt;code&gt;/deploy staging&lt;/code&gt; のようなコマンドは、展開前の1行のまま届きます。&lt;/p&gt;

&lt;h2&gt;
  
  
  例1：文脈を足す
&lt;/h2&gt;

&lt;p&gt;exit 0 で stdout に出した文（または JSON の &lt;code&gt;additionalContext&lt;/code&gt;）が Claude の文脈に足されます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class="c"&gt;# .claude/hooks/prompt-context.sh  (UserPromptSubmit)&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CLAUDE_PROJECT_DIR&lt;/span&gt;:?&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit &lt;/span&gt;0
&lt;span class="nv"&gt;branch&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;git branch &lt;span class="nt"&gt;--show-current&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;changed&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;git status &lt;span class="nt"&gt;--porcelain&lt;/span&gt; 2&amp;gt;/dev/null | &lt;span class="nb"&gt;wc&lt;/span&gt; &lt;span class="nt"&gt;-l&lt;/span&gt; | &lt;span class="nb"&gt;tr&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;' '&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Current branch: &lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;branch&lt;/span&gt;&lt;span class="k"&gt;:-&lt;/span&gt;&lt;span class="nv"&gt;unknown&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;. Uncommitted files: &lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;changed&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;. Today: &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;date&lt;/span&gt; +%F&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;."&lt;/span&gt;
&lt;span class="nb"&gt;exit &lt;/span&gt;0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;実行は 0.03〜0.04 秒でした。この1行は毎プロンプト足されるので、たいていのターンで要るものだけにします。&lt;/p&gt;

&lt;h2&gt;
  
  
  例2：API キーらしき文字列を止める
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class="c"&gt;# .claude/hooks/block-secrets-in-prompt.sh  (UserPromptSubmit)&lt;/span&gt;
&lt;span class="nv"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.prompt // ""'&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;'%s'&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$prompt&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-Eq&lt;/span&gt; &lt;span class="s1"&gt;'sk-ant-[A-Za-z0-9_-]{10,}|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{30,}'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
  &lt;/span&gt;jq &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s1"&gt;'{decision: "block",
          reason: "プロンプトに API キーらしき文字列があります。消してから、環境変数で渡してください。",
          hookSpecificOutput: {hookEventName: "UserPromptSubmit", suppressOriginalPrompt: true}}'&lt;/span&gt;
&lt;span class="k"&gt;fi
&lt;/span&gt;&lt;span class="nb"&gt;exit &lt;/span&gt;0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;reason&lt;/code&gt; は人にだけ見え、Claude には届きません。&lt;code&gt;suppressOriginalPrompt: true&lt;/code&gt; で、止めたときのメッセージから元の文を省けます。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ただし、鍵がディスクに残らなくなるわけではありません。&lt;/strong&gt; 公式によると、送った文はセッションの記録など手元のファイルに残ることがあります。防げるのは鍵がモデルに届くことです。貼ってしまった鍵は作り直します。&lt;/p&gt;

&lt;h2&gt;
  
  
  settings.json と注意点
&lt;/h2&gt;

&lt;p&gt;UserPromptSubmit は matcher 非対応なので &lt;code&gt;matcher&lt;/code&gt; は書きません。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"UserPromptSubmit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;$CLAUDE_PROJECT_DIR&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;/.claude/hooks/prompt-context.sh"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;$CLAUDE_PROJECT_DIR&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;/.claude/hooks/block-secrets-in-prompt.sh"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;既定のタイムアウトは30秒（多くのイベントの600秒より短い）&lt;/li&gt;
&lt;li&gt;タイムアウトすると出力は捨てられ、プロンプトはそのまま届く。止めたいなら &lt;code&gt;"onFailure": "block"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;特定の skill やコマンドだけに反応させるなら &lt;code&gt;UserPromptExpansion&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;exit 2&lt;/code&gt; と stderr でも止められる&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;出典：&lt;a href="https://code.claude.com/docs/en/hooks" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/hooks&lt;/a&gt; （2026-10-23確認）&lt;/p&gt;

&lt;p&gt;返し方の一覧表や関連する hook の記事は、元記事にあります。&lt;/p&gt;

&lt;p&gt;👉 全文：&lt;a href="https://agentkoji.com/ja/articles/claude-code-userpromptsubmit/" rel="noopener noreferrer"&gt;https://agentkoji.com/ja/articles/claude-code-userpromptsubmit/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
