ponytail

AIコーディングエージェント向けのポータブルなスキル・ルールセットで、決定ラダーを強制することで安全性とアクセシビリティを維持しつつ生成コード量を最小化します。

JavaScriptMITskill
⭐ GitHubhttps://github.com/dietrichgebert/ponytail
101,729
スター数
+0
スター増加率
2026年8月8日
最終更新
8
クリック数

1. プロジェクト概要

ponytailは、AIコーディングエージェント(Claude Code、Codex、Cursor、その他20以上のプラットフォーム)向けの軽量なスキル・ルールセットです。このツールは、エージェントに「必要な最小限のコードのみを書く」ことを訓練し、新規生成の前に既存コードの再利用を優先させることで、安全性を損なうことなくAIによるコード生成量を約半分に削減します。

2. 背景とポジショニング

  • コアミッション: 現代のコーディングエージェントは過剰な出力を行う傾向があります。単純なタスクを余分な抽象化で包んだり、既存のユーティリティを再発明したり、プラットフォーム固有の機能を無視したりしがちです。ponytailは、エージェントがコードを書く前に必ず踏むべき意図的な「決定ラダー」を定義し、デフォルトの動作を「拡張」ではなく「抑制」にします。この哲学は、*「彼は語らない。一行だけ書く。そして動く。」*というタグラインに集約されています。
  • 類似プロジェクトとの違い: コードジェネレーター、リンター、スタイルガイドとは異なり、ponytailは生成前のルールセットです。つまり、出力後のフォーマット方法を変えるのではなく、エージェントがそもそも何を書くかという判断自体を変えます。「caveman」(エージェントの会話を減らすツール)などのツールと明確に補完関係にあり(ponytailはエージェントのコードを減らします)、スタンドアロンアプリケーションではなくポータブルなルールファイルやフックとして提供されるため、ほぼすべてのAIコーディングツールに導入可能です。

3. 機能カテゴリ

🪜 決定ラダー

エージェントがコードを書く前に実行する7つの連続チェックです。機能が必要かどうか、すでに存在するか、標準ライブラリ、プラットフォーム固有機能、またはインストール済みの依存パッケージで解決できるかを判断します。

  • これは本当に必要か?(YAGNIチェック)
  • このコードベースに既に存在しないか?
  • 標準ライブラリで実現できないか?
  • プラットフォーム固有の機能(例:<input type="date">)が使えないか?
  • インストール済みの依存パッケージで代替できないか?
  • 一行で書けないか?
  • 上記すべてが不可能な場合のみ:最小限の実装可能なカスタムコードを書く

🧰 スキル / コマンド

開発者がエージェントセッションから直接ミニマリズムを検証・強制できる5つのスラッシュコマンドです。

  • /ponytail-review — 現在のdiff内の過剰設計を検出
  • /ponytail-audit — リポジトリ全体をスキャンして不要なコードを発見
  • /ponytail-debt — 先送りされたponytail:ショートカットを台帳に記録
  • /ponytail-gain — 現在のセッションのベンチマーク指標を表示
  • /ponytail-help — クイックリファレンス

🎚️ 強度レベル

エージェントがコードを削減する積極性を制御する4つの設定可能なモードで、プロジェクト単位またはセッション単位で切り替え可能です。

  • lite — 緩やかな促し、冗長性を維持
  • full — バランスの取れた削減(デフォルト)
  • ultra — 積極的なミニマリズム
  • off — ルールセットを無効化

🔌 プラットフォーム統合

20以上のAIコーディングエージェント・エディタに対応しており、それぞれネイティブなインストールパス(プラグインマネージャー、拡張機能、またはルールファイルのコピー)を提供します。

  • Claude Code、Codex、GitHub Copilot CLI
  • Cursor、Windsurf、Cline
  • Gemini CLI、Devin CLI、OpenCode、Aider、Zedなど

4. 主なハイライト

  • コード量約54%削減、安全性は同等 — FastAPI + Reactテンプレートを使用した実際の機能チケットでの測定において、ponytailはコード行数を54%、トークン数を22%、コストを20%、時間を27%削減しながら、安全性(バリデーション、エラーハンドリング、セキュリティ、アクセシビリティ)を100%維持しました。
  • エージェントエコシステム全体でポータブルAGENTS.mdとプラットフォーム固有のルールコピー(.cursor/rules/.windsurf/rules/.github/copilot-instructions.mdなど)として提供されるため、チームがどのコーディングエージェントを使用しても同じ規律を適用できます。
  • 意図的な処理順序 — 決定ラダーはエージェントが問題を理解したにのみ実行されるため、ミニマリズムが正しさを犠牲にすることはありません。
  • 内蔵レビューツール/ponytail-review/ponytail-auditにより、「コードを減らすこと」が一時的な習慣から、コードベース全体における継続的で監査可能な実践へと変わります。
  • 必須設定ゼロfull強度でそのまま使用可能。より強い、あるいは弱い適用を望むチームは、環境変数や設定ファイルで調整できます。
  • クリーンなアンインストールパス — 専用のuninstall.jsスクリプトがモードフラグ、設定ファイル、ステータスライン統合をクリアするため、導入してもリスクなく元に戻せます。

5. ロール別のユースケース

  • 一般開発者: 注意深い人間エンジニアが書いたものに近い、エージェント生成コードを得られます。レビューや保守が必要な不要なラッパーコンポーネント、依存関係、抽象化が少なくなります。
  • プロジェクトマネージャー / テックリード: /ponytail-gainと公開されているベンチマーク手法を使用して、AI支援ワークフローが実際に提供しているコストと時間の節約効果を定量化できます。
  • DevOps/SRE、セキュリティエンジニア、データ/リサーチサイエンティスト: 直接的な対象ではありませんが、ponytailはドメインに依存しないエージェント向けツールであり、その安全性保証(バリデーション、エラーハンドリング、セキュリティ、アクセシビリティは「決して最小化されない」)により、これらの文脈で使用しても簡潔さのために安全性が犠牲になることはありません。

6. はじめに

必要な情報を探す — コアとなるルールセットとコマンドリファレンスから始めましょう:

/ponytail-help

インストール / 統合 — Claude Codeの場合:

/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail

その他のプラットフォーム(Codex、Gemini CLI、Cursor、Windsurfなど)にもそれぞれ同等のワンラインインストールコマンドがあるか、リポジトリからルールファイルを直接コピーできます(.cursor/rules/.windsurf/rules/AGENTS.md)。

貢献 — 変更を提出する前に、ルールの整合性を検証しテストを実行してください:

node scripts/check-rule-copies.js
npm test

7. プロジェクト構成

ponytail/
├── AGENTS.md                 # コアルールセット(多くのプラットフォームで自動読み込み)
├── skills/                   # 実行可能スキル(review, audit, debt, gain, help)
├── hooks/                    # ライフサイクルフック(プラットフォーム固有)
│   ├── hooks.json
│   └── qoder-hooks.json
├── .cursor/rules/            # Cursor/Windsurf/Cline用ルールコピー
├── .windsurf/rules/
├── .clinerules/
├── .github/copilot-instructions.md
├── scripts/
│   ├── check-rule-copies.js  # エージェント間コピーの整合性検証
│   ├── build-openclaw-skills.js
│   └── uninstall.js          # ローカル状態ファイルのクリーンアップ
├── benchmarks/                # 測定手法と結果
├── examples/                  # 適用前後のコードサンプル
└── LICENSE                    # MIT

主要ファイル:AGENTS.mdには正規の決定ラダールールセットが含まれており、各プラットフォーム固有のルールファイルはこれをミラーしています。scripts/check-rule-copies.jsはこれらのコピーが同期ずれを起こすのを防ぎます。

8. 関連エコシステム

  • 依存関係: インストール先のAIコーディングエージェント(Claude Code、Codex、Cursor、Gemini CLIなど)に依存します。ponytail自体はルールセット/スキルであり、スタンドアロンのランタイムではありません。Claude CodeやCodexなどのプラットフォームでライフサイクルフックを使用するには、PATH上にNode.jsが必要です。
  • 補完プロジェクト: エージェントの会話の冗長性を減らすコンパニオンルールセット「caveman」は、機能の重複なくponytail(エージェントのコードの冗長性を減らす)と併用できます。

9. ライセンス

MITライセンス。

  • ✅ 商用利用を含め、自由に使用、複製、修正、配布できます。
  • ✅ プロプライエタリまたはクローズドソースのAIツールに統合可能です。
  • ❌ 無保証であり、作者は使用による損害について責任を負いません。
  • ℹ️ オリジナルの著作権表示およびライセンステキストは、ソフトウェアの複製または実質的な部分に保持する必要があります。

10. FAQ

Q: ponytailは「caveman」のような他のエージェント行動ツールと競合しますか?
A: いいえ。cavemanはエージェントの会話の長さを減らし、ponytailはエージェントが書くコードを減らします。これらは併用できるように設計されています。

Q: ベンチマークの数値は合成テストから得られたものですか?
A: いいえ。主要なベンチマークは、単発の分離された生成ではなく、tiangoloのフルスタックFastAPI + Reactテンプレートに対してClaude Haiku 4.5を使用し、実際の機能チケットで測定されました。

Q: ミニマリズムは安全性やアクセシビリティを犠牲にしますか?
A: いいえ。バリデーション、エラーハンドリング、セキュリティ、アクセシビリティは、決定ラダーが削減対象から明示的に除外しています。

Q: ponytailの厳しさを変更するにはどうすればよいですか?
A: /ponytail [lite | full | ultra | off]を実行するか、環境変数または~/.config/ponytail/config.jsonPONYTAIL_DEFAULT_MODEを設定してください。

Q: ponytailをきれいに削除するにはどうすればよいですか?
A: プラットフォームのプラグイン削除コマンドを使用する前にnode scripts/uninstall.jsを実行し、モードフラグ、設定ファイル、ステータスラインのエントリをクリアしてください。

11. クイックリンク

  • リポジトリ: https://github.com/DietrichGebert/ponytail
  • コアルールセット: リポジトリルートにあるAGENTS.md
  • 貢献: node scripts/check-rule-copies.jsおよびnpm test(リポジトリルートを参照)
  • ライセンス: MIT(リポジトリ内のLICENSEファイル)

12. まとめ

ponytailは、「コードを少なく書く」という理想を、AIコーディングエージェントにとって強制可能かつ測定可能な習慣に変え、安全性とアクセシビリティの保証を維持したまま生成コード量を約半分に削減します。ワークフロー全体でAIコーディングエージェントに大きく依存しており、出力をスリムで保守しやすい状態に保ちたいチームに最適です。好みのエージェントプラットフォームに一度インストールするだけで、あらゆるタスクで決定ラダーが自動的に実行されます。