<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ponytail on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/ponytail/</link>
        <description>Recent content in Ponytail on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Wed, 24 Jun 2026 21:02:49 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/ponytail/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Ponytail インストールガイド：Codex、Claude Code、Gemini CLI での使い方</title>
        <link>https://knightli.com/ja/2026/06/24/ponytail-ai-agent-coding-plugin-guide/</link>
        <pubDate>Wed, 24 Jun 2026 21:02:49 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/06/24/ponytail-ai-agent-coding-plugin-guide/</guid>
        <description>&lt;p&gt;Ponytail は、AI コーディングエージェント向けのかなり面白いプラグインです。&lt;/p&gt;
&lt;p&gt;AI に派手な実装をさせるのではなく、その逆です。コードを書く前に一度止まり、削除で済まないか、既存コードを再利用できないか、標準ライブラリやブラウザ、プラットフォームの機能で解決できないかを確認させます。&lt;/p&gt;
&lt;p&gt;プロジェクト：&lt;a class=&#34;link&#34; href=&#34;https://github.com/DietrichGebert/ponytail&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DietrichGebert/ponytail&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こんな経験があるなら、Ponytail の考え方はかなり刺さります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;日付ピッカーが欲しいだけなのに、AI がコンポーネントライブラリを入れ、ラッパーを書き、スタイルを足し、タイムゾーンの話まで始める。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;小さなロジック変更だけなのに、AI が helper を三層に分ける。
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bug を一つ直したいだけなのに、AI がファイルの半分をリファクタリングする。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ponytail の狙いは、AI を「怠け者だが信頼できるシニア開発者」のように振る舞わせ、まず最小変更を探させることです。&lt;/p&gt;
&lt;h2 id=&#34;ponytail-とは&#34;&gt;Ponytail とは
&lt;/h2&gt;&lt;p&gt;Ponytail は、AI コーディングエージェントに読ませる作業ルールのセットです。&lt;/p&gt;
&lt;p&gt;コードを書く前に、次の階段を確認するよう促します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. これは本当に存在する必要があるか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. コードベースにすでにあるか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. 標準ライブラリでできないか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4. プラットフォームのネイティブ機能でできないか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;5. 既存依存関係でできないか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;6. 1行で解決できないか？
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;7. 最後に、必要十分な新しいコードだけを書く。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これは code golf ではありません。短ければよいという話でもありません。無駄な作業を減らすための考え方です。消せるなら消し、再利用できるなら再利用し、ネイティブ機能で足りるなら車輪を再発明しない。&lt;/p&gt;
&lt;p&gt;README には日付ピッカーの例があります。&lt;/p&gt;
&lt;p&gt;普通の AI は &lt;code&gt;flatpickr&lt;/code&gt; を入れ、wrapper を書き、スタイルを追加し、境界条件を説明し始めるかもしれません。&lt;/p&gt;
&lt;p&gt;Ponytail 風なら、まずこれを考えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これが Ponytail が AI に身につけさせたい判断です。&lt;/p&gt;
&lt;h2 id=&#34;解決するのは短いコードではなく過剰設計&#34;&gt;解決するのは「短いコード」ではなく「過剰設計」
&lt;/h2&gt;&lt;p&gt;Ponytail は「AI に 1 行だけ書かせるもの」と誤解されやすいです。&lt;/p&gt;
&lt;p&gt;より正確には、不要な設計を減らすものです。&lt;/p&gt;
&lt;p&gt;安全境界は残します。必要な検証、エラー処理、セキュリティ処理、アクセシビリティを削ることは推奨しません。やるべきことはやる。ただし、小さな要求のために余計な複雑さを持ち込まない。&lt;/p&gt;
&lt;p&gt;向いている場面は次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小さなフロントエンド機能;&lt;/li&gt;
&lt;li&gt;フォームコントロール;&lt;/li&gt;
&lt;li&gt;簡単なユーティリティ関数;&lt;/li&gt;
&lt;li&gt;設定ファイルの調整;&lt;/li&gt;
&lt;li&gt;小さな bug 修正;&lt;/li&gt;
&lt;li&gt;コードレビューでの過剰実装チェック;&lt;/li&gt;
&lt;li&gt;AI がコードを変更する前の制約追加;&lt;/li&gt;
&lt;li&gt;既存実装を先に探させる作業。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;次のように理解するのは違います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;常に 1 行だけ書く;&lt;/li&gt;
&lt;li&gt;絶対に依存関係を増やさない;&lt;/li&gt;
&lt;li&gt;絶対にリファクタリングしない;&lt;/li&gt;
&lt;li&gt;コード量を減らすために保守性を犠牲にする;&lt;/li&gt;
&lt;li&gt;速さのためにコードを読まない。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ponytail の要点は「実装には怠惰、読解には怠惰でない」です。&lt;/p&gt;
&lt;h2 id=&#34;対応する-ai-コーディングツール&#34;&gt;対応する AI コーディングツール
&lt;/h2&gt;&lt;p&gt;README によると、Ponytail は多くのツールに対応しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code;&lt;/li&gt;
&lt;li&gt;Codex;&lt;/li&gt;
&lt;li&gt;GitHub Copilot CLI;&lt;/li&gt;
&lt;li&gt;Pi agent harness;&lt;/li&gt;
&lt;li&gt;OpenCode;&lt;/li&gt;
&lt;li&gt;Gemini CLI;&lt;/li&gt;
&lt;li&gt;Antigravity CLI;&lt;/li&gt;
&lt;li&gt;CodeWhale;&lt;/li&gt;
&lt;li&gt;Swival;&lt;/li&gt;
&lt;li&gt;OpenClaw;&lt;/li&gt;
&lt;li&gt;Cursor、Windsurf、Cline、Aider、Kiro、Zed などのルールファイル方式。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;良い点は、メインの AI ツールを必ずしも変えなくてよいことです。&lt;/p&gt;
&lt;p&gt;Codex を使っているなら Codex プラグインとして入れます。Claude Code なら Claude Code のプラグインマーケットを使います。エディタにルールだけ入れたい場合は、対応するルールファイルをコピーできます。&lt;/p&gt;
&lt;h2 id=&#34;codex-で-ponytail-をインストールする&#34;&gt;Codex で Ponytail をインストールする
&lt;/h2&gt;&lt;p&gt;Codex CLI の場合、README の入口は次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex plugin marketplace add DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後、Codex 内で：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;/plugins&lt;/code&gt; を開く;&lt;/li&gt;
&lt;li&gt;Ponytail marketplace を選ぶ;&lt;/li&gt;
&lt;li&gt;Ponytail をインストールする;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/hooks&lt;/code&gt; を開く;&lt;/li&gt;
&lt;li&gt;2つの lifecycle hooks を確認して信頼する;&lt;/li&gt;
&lt;li&gt;新しい会話を開始する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Codex デスクトップアプリでは、インストール後にアプリを再起動するとプラグインが認識されると README にあります。&lt;/p&gt;
&lt;p&gt;注意点として、Ponytail の Claude Code / Codex プラグインは小さな Node.js lifecycle hooks を 2 つ実行するため、&lt;code&gt;node&lt;/code&gt; が PATH にある必要があります。&lt;code&gt;node&lt;/code&gt; がない場合でも skills は動きますが、always-on の自動有効化はされません。&lt;/p&gt;
&lt;p&gt;まず確認します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;見つからない場合は Node.js を入れるか、非対話 shell の PATH から &lt;code&gt;node&lt;/code&gt; が見えるようにします。&lt;/p&gt;
&lt;h2 id=&#34;claude-code-でのインストール&#34;&gt;Claude Code でのインストール
&lt;/h2&gt;&lt;p&gt;Claude Code では次を使います。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin marketplace add DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;次にもう一つ送ります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin install ponytail@ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;README では、この 2 つを別々のメッセージとして送るように説明されています。&lt;/p&gt;
&lt;p&gt;Claude デスクトップアプリで &lt;code&gt;/plugin&lt;/code&gt; がない場合は、UI から personal plugin marketplace を追加します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Customize を開く;&lt;/li&gt;
&lt;li&gt;personal plugins の横にあるプラスをクリックする;&lt;/li&gt;
&lt;li&gt;プラグインを作成して marketplace を追加する;&lt;/li&gt;
&lt;li&gt;Add from repository を選ぶ;&lt;/li&gt;
&lt;li&gt;Ponytail の GitHub リポジトリ URL を入力する。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;github-copilot-cli-でのインストール&#34;&gt;GitHub Copilot CLI でのインストール
&lt;/h2&gt;&lt;p&gt;Copilot CLI では次を使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copilot plugin marketplace add DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copilot plugin install ponytail@ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;対話式の Copilot CLI セッション内でも slash command が使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin marketplace add DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin install ponytail@ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;インストール後は、README にある Ponytail コマンドも使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ponytail:ponytail ultra
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ponytail:ponytail-review
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;gemini-cli-と-antigravity-cli&#34;&gt;Gemini CLI と Antigravity CLI
&lt;/h2&gt;&lt;p&gt;Gemini CLI では次のコマンドです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gemini extensions install https://github.com/DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ルールセットが各セッションのコンテキストとして読み込まれ、&lt;code&gt;/ponytail&lt;/code&gt; 関連コマンドが登録されます。&lt;/p&gt;
&lt;p&gt;Antigravity CLI では：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agy plugin install https://github.com/DietrichGebert/ponytail
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;README では、Google が Gemini CLI を Antigravity CLI に改名しつつあるとも説明されています。しばらくは両方の経路が存在する可能性があるので、自分が入れている CLI 名に合わせます。&lt;/p&gt;
&lt;h2 id=&#34;opencode-で使う&#34;&gt;OpenCode で使う
&lt;/h2&gt;&lt;p&gt;OpenCode では &lt;code&gt;opencode.json&lt;/code&gt; に次を追加できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;&amp;#34;plugin&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;@dietrichgebert/ponytail&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ローカル checkout から実行するなら、ローカルプラグインファイルを指せます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;&amp;#34;plugin&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;./.opencode/plugins/ponytail.mjs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;OpenCode でプロジェクト設定を管理している場合に向いています。&lt;/p&gt;
&lt;h2 id=&#34;ルールだけ使いたい場合&#34;&gt;ルールだけ使いたい場合
&lt;/h2&gt;&lt;p&gt;Ponytail リポジトリには、各ツール向けのルールファイルもあります。&lt;/p&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.cursor/rules/&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.windsurf/rules/&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.clinerules&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.kiro/steering/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ツールがプロジェクト単位のルールを読めるなら、対応ファイルをコピーするだけでも使えます。&lt;/p&gt;
&lt;p&gt;たとえば VS Code の Codex 拡張は &lt;code&gt;AGENTS.md&lt;/code&gt; を読みます。Ponytail の &lt;code&gt;AGENTS.md&lt;/code&gt; をプロジェクトルートやグローバル Codex 設定に置けば、Codex にこの考え方を守らせられます。&lt;/p&gt;
&lt;p&gt;プラグイン方式はより完全で、ルールファイル方式は軽量です。&lt;/p&gt;
&lt;h2 id=&#34;ponytail-と相性の良い指示&#34;&gt;Ponytail と相性の良い指示
&lt;/h2&gt;&lt;p&gt;インストール後、完全に自動に任せるだけでなく、タスク内で方向を合わせると安定します。&lt;/p&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please check whether similar code already exists first. Reuse existing code where possible, and only add the smallest new implementation if it does not exist.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;または：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not overengineer this request. First check whether the standard library, native HTML controls, or installed dependencies can solve it.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;コードレビューなら：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Review this change in the Ponytail style. Focus on over-abstraction, duplicate implementation, unnecessary dependencies, and places where native features can replace custom code.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;こうした指示は Ponytail のルールと同じ方向なので、結果が安定しやすくなります。&lt;/p&gt;
&lt;h2 id=&#34;ponytail-に向いている典型タスク&#34;&gt;Ponytail に向いている典型タスク
&lt;/h2&gt;&lt;h3 id=&#34;1-フロントエンドコントロール&#34;&gt;1. フロントエンドコントロール
&lt;/h3&gt;&lt;p&gt;日付、色、ファイルアップロード、数値入力、スイッチ、セレクトなど。&lt;/p&gt;
&lt;p&gt;AI はすぐにコンポーネントライブラリを入れがちですが、多くの場合はネイティブ HTML で十分です。&lt;/p&gt;
&lt;h3 id=&#34;2-ユーティリティ関数&#34;&gt;2. ユーティリティ関数
&lt;/h3&gt;&lt;p&gt;重複除去、ソート、フォーマット、パス処理、日付処理など。&lt;/p&gt;
&lt;p&gt;標準ライブラリと既存 helper を見てから、新しい関数が必要かを判断します。&lt;/p&gt;
&lt;h3 id=&#34;3-設定変更&#34;&gt;3. 設定変更
&lt;/h3&gt;&lt;p&gt;ESLint、TypeScript、Hugo、Vite、Docker、CI 設定など。&lt;/p&gt;
&lt;p&gt;設定問題の多くは 1 行の変更で済み、新しいスクリプトやツールチェーンは不要です。&lt;/p&gt;
&lt;h3 id=&#34;4-小さな-bug-修正&#34;&gt;4. 小さな bug 修正
&lt;/h3&gt;&lt;p&gt;Ponytail は最小修正点を探すのに向いており、1 つの bug から大きなリファクタリングに広がるのを防ぎます。&lt;/p&gt;
&lt;h3 id=&#34;5-コードレビュー&#34;&gt;5. コードレビュー
&lt;/h3&gt;&lt;p&gt;「過剰設計チェッカー」として使えます。&lt;/p&gt;
&lt;p&gt;diff を見せて、次を確認させます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;車輪の再発明がないか;&lt;/li&gt;
&lt;li&gt;不要な新規依存がないか;&lt;/li&gt;
&lt;li&gt;直接削除できるコードがないか;&lt;/li&gt;
&lt;li&gt;要求より複雑な実装になっていないか;&lt;/li&gt;
&lt;li&gt;既存モジュールを再利用できないか。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;注意点&#34;&gt;注意点
&lt;/h2&gt;&lt;p&gt;Ponytail の方向は良いですが、新しい教条にしてはいけません。&lt;/p&gt;
&lt;p&gt;次のようなものは、コードを減らすために削ってはいけません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;入力検証;&lt;/li&gt;
&lt;li&gt;権限チェック;&lt;/li&gt;
&lt;li&gt;データ損失の防止;&lt;/li&gt;
&lt;li&gt;並行処理とトランザクション安全性;&lt;/li&gt;
&lt;li&gt;ユーザープライバシー;&lt;/li&gt;
&lt;li&gt;アクセシビリティ;&lt;/li&gt;
&lt;li&gt;エラー処理;&lt;/li&gt;
&lt;li&gt;重要ログ;&lt;/li&gt;
&lt;li&gt;テストカバレッジ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;シンプルと雑は違います。&lt;/p&gt;
&lt;p&gt;セキュリティ境界、金銭、ユーザーデータ、本番操作に関わる機能では、最小実装でも境界処理を明確にする必要があります。&lt;/p&gt;
&lt;h2 id=&#34;おすすめの試し方&#34;&gt;おすすめの試し方
&lt;/h2&gt;&lt;p&gt;初めて使うなら、次の順で試すのがよいです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;小さなプロジェクトでインストールする;&lt;/li&gt;
&lt;li&gt;日付ピッカーや色選択のように AI が過剰実装しがちな要求で試す;&lt;/li&gt;
&lt;li&gt;Ponytail なしの結果と比較する;&lt;/li&gt;
&lt;li&gt;既存 diff をレビューさせる;&lt;/li&gt;
&lt;li&gt;最後に日常プロジェクトへ入れる。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;いきなり大規模リファクタリングで試さない方がよいです。&lt;/p&gt;
&lt;p&gt;Ponytail が最も効くのは、本来は小さいのに AI が大きくしがちなタスクです。&lt;/p&gt;
&lt;h2 id=&#34;一言まとめ&#34;&gt;一言まとめ
&lt;/h2&gt;&lt;p&gt;Ponytail は AI を「短いコードしか書けないツール」にするものではありません。AI が手を動かす前に、もう一つ質問させるものです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;このコードは本当に書く必要があるのか？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Codex、Claude Code、Copilot CLI、Gemini CLI などの AI コーディングエージェントを使っていて、過剰実装にうんざりしているなら、Ponytail は試す価値があります。すべての設計判断を代わりにしてくれるわけではありませんが、「まず再利用し、寄り道を減らし、車輪を再発明しない」という制約を AI に加えられます。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
