Claude Code minimal-code plugin and Agent Skill · Versioned and actively presented as a multi-host plugin, but repository dates and adoption metadata are future-dated relative to this analysis context and cannot be independently validated.

DietrichGebert/ponytail

MIT-licensed Claude Code plugin and portable Agent Skill that applies a YAGNI-first decision ladder, persistent mode controls, lifecycle-hook injection, review and audit commands, and an optional read-only MCP interface to steer coding agents toward the smallest correct implementation without removing stated safety, validation, accessibility, or data-loss guards.

software engineeringcode generationcode reviewrefactoringdependency selectiontechnical debtprompt engineeringagent productivity
Routing score
80.0
Readiness
Usable for Claude Code with documented installation and tests, with caveats around Node-based hook activation, model adherence, and unverified benchmark and security claims.
License
MIT
Maintenance
active
Components
14
Revision
0

Selection

Select when

  • Your Claude Code sessions tend to over-build straightforward features.
  • You want YAGNI, existing-code reuse, standard-library use, and native-platform use applied before custom implementation.
  • You need persistent minimal-code guidance rather than repeatedly pasting a prompt.
  • You want review and audit workflows focused specifically on deletable complexity.
  • You want guidance propagated into Claude Code subagents.
  • You need adjustable strictness from advisory lite mode to aggressive ultra mode.
  • You want the same policy available through Agent Skills, AGENTS.md, host-specific rules, or MCP.
  • You accept an opinionated bias toward fewer files, fewer dependencies, and boring implementations.
  • You want minimal implementations to retain explicit validation, security, accessibility, and data-loss safeguards.

Boundaries

Avoid when

  • The task is non-coding or primarily prose-oriented.
  • Your organization requires prescribed architecture or abstractions that conflict with YAGNI-first defaults.
  • You need deterministic enforcement rather than model-followed instructions.
  • You cannot review or trust the plugin's lifecycle hooks.
  • Node.js is unavailable and you require automatic always-on hook activation.
  • You need proof of production security or correctness rather than repository-authored guidance and benchmarks.
  • A large completion-forced task makes extra deliberation or tool calls more costly than reducing source code.
  • Your host supports only MCP and you require guaranteed injection on every turn.
  • You need a broad domain skill library rather than one cross-cutting implementation philosophy.

Strengths

Capabilities

Implements a seven-rung ladder from YAGNI and codebase reuse through standard-library, native-platform, installed-dependency, one-line, and minimum-custom-code options.Packages the primary workflow as a SKILL.md that targets coding, refactoring, fixing, reviewing, design, and dependency-selection requests.Installs as the named Ponytail Claude Code plugin through its documented marketplace flow.Uses two Node.js lifecycle hooks for always-on activation in Claude Code and Codex.Injects the active ruleset into subagents spawned through the Agent tool, with an optional regular-expression matcher.Provides lite, full, ultra, and off intensity levels with a full default.Supports a default mode through an environment variable or per-user JSON configuration.Reviews the current diff for over-engineering through the ponytail-review command.Audits the whole repository for over-engineering through the ponytail-audit command.Harvests deferred ponytail-marked shortcuts into a debt ledger through the ponytail-debt command.Reports repository benchmark results through the ponytail-gain command.Directs bug fixes toward shared root causes after inspecting callers rather than patching one symptom path.Explicitly preserves trust-boundary validation, data-loss error handling, security measures, accessibility basics, hardware calibration, and requested behavior.Requires one minimal runnable check for non-trivial logic while exempting trivial one-liners.Provides AGENTS.md and host-specific rule-file adapters for instruction-only use beyond Claude Code.Provides a read-only MCP prompt and tool that return the selected ruleset and structured mode data.Includes Node test scripts covering repository tests, the Pi extension, and the MCP package.Maintains generated OpenClaw skill packages and checks synchronized rule copies according to the development documentation.Publishes Spanish and Korean community translations while identifying English as the reference README.Reports agentic benchmarks comparing source changes, cost, duration, safety, completeness, and over-engineering across controlled task arms.

Risk profile

Risks and limitations

  • Uncertainty: only selected first-party files were supplied, so hook implementations, review and audit skill bodies, tests, manifests, generated adapters, and benchmark result files were not directly inspected.
  • Uncertainty: metadata and first-party benchmark dates are in 2026, later than this analysis context, so recency, adoption counts, release status, and host claims cannot be independently reconciled.
  • Repository-reported reductions in code, cost, and duration are workload- and model-dependent and were not independently reproduced here.
  • The benchmark documentation says large completion-forced agentic tasks can increase tool calls, tokens, or process cost.
  • The primary agentic headline uses Haiku 4.5 with four runs across a limited task set, which does not establish broad production performance.
  • Some benchmark checks are structural or LLM-judged rather than deterministic runtime verification.
  • The benchmark documentation explicitly says deterministic safety tests are a floor and cannot prove security or production readiness.
  • Instruction-following quality varies by model, and the supplied benchmark notes poor transfer to a small local model.
  • Automatic Claude Code activation requires Node.js on the non-interactive PATH; without it, skills remain but hooks stay inactive.
  • Always-on rules and subagent injection can consume context or overconstrain projects that intentionally require extensibility or mandated architecture.
  • The plugin writes mode configuration and may add a Claude status-line entry, leaving state that requires separate cleanup after uninstall.
  • Host support and installation behavior are documented by the repository but no compatibility matrix or host integration results were supplied.

The rules explicitly prohibit simplifying away trust-boundary validation, security controls, data-loss protections, and accessibility, and the agentic benchmark includes adversarial checks for path traversal, rate limiting, SQL injection, token tampering, malformed CSV data, caching, and newline injection. However, these are repository-authored controls and benchmarks, not an independent audit. Claude Code and Codex users must review lifecycle hooks, while the MCP tool is described as read-only. Subagents receive injected instructions by default. No supplied SECURITY policy, threat model, dependency audit, hook source, or exhaustive privilege analysis was inspected, so security posture remains uncertain.

Component inventory

14 documented components

Claude Code plugin / Agent Skills collection

Ponytail

Adds minimal-code guidance, six skills, and lifecycle-based context injection to Claude Code; primarily a context-injection extension with hook-assisted activation.

README.md; plugin.json; skills/; hooks/
automatic workflow

Ponytail lifecycle hooks

Activates the default mode, injects the ruleset on prompts, and propagates it to spawned subagents.

hooks/; .codex-plugin/plugin.json
skill / slash command

ponytail

Applies the YAGNI-first ladder: reuse existing code, stdlib, native features, installed dependencies, then the minimum correct implementation.

skills/ponytail/SKILL.md
skill / slash command

ponytail-review

Reviews the current diff for over-engineering and returns a delete-list.

skills/; README.md#commands
skill / slash command

ponytail-audit

Audits the whole repository for over-engineering rather than limiting analysis to the current diff.

skills/; README.md#commands
skill / slash command

ponytail-debt

Collects deferred `ponytail:` simplification markers into a debt ledger.

skills/; README.md#commands
skill / slash command

ponytail-gain

Shows the repository benchmark’s measured code, cost, and speed impact scoreboard.

skills/; README.md#commands
skill / slash command

ponytail-help

Provides a quick reference for the Ponytail commands.

skills/; README.md#commands
instruction-only adapter

Ponytail AGENTS ruleset

Provides always-on minimal-code guidance to Claude Code-compatible and other agents that read repository instruction files, without plugin commands or hooks.

AGENTS.md
MCP service

Ponytail MCP server

Serves the same Ponytail ruleset over stdio for MCP hosts; it is user-invoked rather than always-on.

ponytail-mcp/README.md
MCP prompt

ponytail MCP prompt

Returns the Ponytail ruleset as a user message, optionally selecting lite, full, or ultra mode.

ponytail-mcp/README.md#what-it-exposes
MCP tool

ponytail_instructions

Read-only tool returning the ruleset plus structured `{ mode, instructions }` content.

ponytail-mcp/README.md#what-it-exposes
benchmark workflow

Single-shot benchmark

Compares no-skill, Caveman, and Ponytail outputs across everyday coding tasks, recording LOC, correctness, cost, and latency.

benchmarks/README.md
evaluation workflow

Agentic Claude Code benchmark

Runs isolated headless Claude Code sessions against seeded tasks and measures correctness, safety, source size, completeness, cost, duration, and turns.

benchmarks/agentic/README.md

Technical profile

Requirements and configuration

Repository
DietrichGebert/ponytail
License
MIT
PrimaryLanguage
JavaScript
Package
@dietrichgebert/ponytail
SuppliedVersion
4.9.0
ClaudePackaging
Native plugin with skills and lifecycle hooks
SkillEntry
skills/ponytail/SKILL.md
AlwaysOnContext
AGENTS.md plus lifecycle-hook injection
Commands
ponytail, ponytail-review, ponytail-audit, ponytail-debt, ponytail-gain, and ponytail-help
Modes
lite, full, ultra, and off; full is the documented default
Runtime
Node.js is required for Claude Code and Codex lifecycle hooks
Configuration
PONYTAIL_DEFAULT_MODE or ~/.config/ponytail/config.json
SubagentControl
PONYTAIL_SUBAGENT_MATCHER filters Agent-tool injection by reported agent type
Mcp
Local stdio server exposing a ponytail prompt and read-only ponytail_instructions tool
Tests
Root npm test runs Node tests plus Pi-extension and MCP package tests
Benchmarking
Single-shot and headless Claude Code agentic harnesses with LOC, correctness, safety, cost, duration, completeness, and judged over-engineering metrics
Distribution
Claude marketplace plugin, npm package, Agent Skills, host adapters, rule files, and MCP server

Classification

How it enters the stack

Context InjectionInterceptionTool Surface

Evidence: the Claude Code plugin injects a SKILL.md ruleset and uses Node lifecycle hooks for session, prompt, and subagent activation; an optional MCP server exposes a prompt and read-only tool. Basic install is short, but automatic activation requires Node on the non-interactive PATH.

Claude Extension · low setup effort · high confidence · automated

Evidence and risk

Primary sources

first_party_fileREADME.mdhttps://github.com/DietrichGebert/ponytail/blob/main/README.md
first_party_fileREADME.es.mdhttps://github.com/DietrichGebert/ponytail/blob/main/README.es.md
first_party_fileREADME.ko.mdhttps://github.com/DietrichGebert/ponytail/blob/main/README.ko.md
first_party_fileexamples/README.mdhttps://github.com/DietrichGebert/ponytail/blob/main/examples/README.md
first_party_filebenchmarks/README.mdhttps://github.com/DietrichGebert/ponytail/blob/main/benchmarks/README.md
first_party_fileponytail-mcp/README.mdhttps://github.com/DietrichGebert/ponytail/blob/main/ponytail-mcp/README.md
first_party_fileAGENTS.mdhttps://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md
first_party_fileplugin.jsonhttps://github.com/DietrichGebert/ponytail/blob/main/plugin.json
first_party_filepackage.jsonhttps://github.com/DietrichGebert/ponytail/blob/main/package.json

Routing context

Conflicts, complements, and synergies

extends

gh_anthropics_claude_code

Ponytail installs as a Claude Code plugin and adds skills, lifecycle-hook context injection, commands, and subagent guidance to the host.

high confidence