# Installation Method for Ponytail with Claude Code: Complete Setup Guide

> Install Ponytail for Claude Code effortlessly with two simple plugin commands. Get instant activation of rulesets and slash commands without manual edits. Follow our complete setup guide.

- Repository: [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- Tags: installation-guide
- Published: 2026-09-03

---

**You can install Ponytail for Claude Code by executing two `/plugin` commands—first adding the marketplace source with `/plugin marketplace add DietrichGebert/ponytail`, then installing the plugin with `/plugin install ponytail@ponytail`—which immediately activates the ruleset and all six slash commands without requiring manual configuration file edits.**

Ponytail is a Claude Code plugin distributed by DietrichGebert that enforces a "lazy senior dev" coding philosophy through automatic ruleset injection. Understanding the correct installation method for Ponytail with Claude Code ensures the plugin properly loads its lifecycle hooks and slash commands directly from the repository source.

## Two-Command Installation Process

The complete installation requires only two interactions with Claude Code's plugin system. No additional dependencies or build steps are necessary.

### Register the Marketplace Source

First, add the GitHub repository as a marketplace source so Claude Code can locate the plugin manifest:

```text
/plugin marketplace add DietrichGebert/ponytail

```

This command registers the repository and allows Claude Code to read the [`package.json`](https://github.com/DietrichGebert/ponytail/blob/main/package.json) file, which declares the plugin name `@dietrichgebert/ponytail` and identifies the `hooks/` and `skills/` directories to load.

### Install and Activate the Plugin

Next, install the plugin itself to activate the ruleset and commands:

```text
/plugin install ponytail@ponytail

```

After execution, Claude Code immediately loads [`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json), which registers the lifecycle hooks required to inject Ponytail's ruleset on every user turn. The plugin becomes part of every subsequent Claude Code session you start.

## Plugin Architecture and Auto-Loading

Once installed, the plugin operates through four core components that require zero manual configuration:

- **[`package.json`](https://github.com/DietrichGebert/ponytail/blob/main/package.json)** (root): Declares the plugin identity as `@dietrichgebert/ponytail` and points Claude Code to the `hooks/` and `skills/` directories.
- **[`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json)**: Contains the lifecycle hooks that tell Claude Code when to inject the ruleset—specifically on every user turn—and registers the slash commands.
- **[`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md)**: The human-readable rule file that drives Ponytail's "lazy senior dev" behavior; loaded automatically by the plugin.
- **`skills/` directory**: Houses implementation files such as `skills/ponytail.mjs` that provide the six `/ponytail` slash commands.

## Available Slash Commands

After installation, the following commands are immediately available in any Claude Code session:

- **`/ponytail`**: Reports the current intensity mode (defaults to `full`).
- **`/ponytail ultra`**: Switches to the most aggressive code reduction mode.
- **`/ponytail off`**: Disables Ponytail rules for the current session.
- **`/ponytail-review`**: Analyzes the current diff and lists deletable lines.

## Optional Configuration

While no configuration is required to run Ponytail, you can set a default intensity mode by creating a configuration file at `~/.config/ponytail/config.json`. Valid intensity values include `lite`, `full`, `ultra`, or `off`. Without this file, the plugin defaults to `full` intensity.

## Key Source Files Reference

For developers auditing or extending the plugin, these files control the installation behavior:

- **[`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json)**: Registers the plugin's lifecycle hooks that Claude Code uses to inject rules on every turn.
- **[`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md)**: Defines the rule set that minimizes code generation while prioritizing safety.
- **[`package.json`](https://github.com/DietrichGebert/ponytail/blob/main/package.json)**: Root manifest declaring `@dietrichgebert/ponytail` and directory mappings.
- **`skills/ponytail.mjs`**: Implements the slash command suite including `/ponytail` and `/ponytail-review`.

## Summary

- **Two commands** complete the installation: `/plugin marketplace add DietrichGebert/ponytail` followed by `/plugin install ponytail@ponytail`.
- **Auto-loading** occurs via [`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json), which injects rules on every user turn without manual intervention.
- **Six slash commands** become available immediately, including `/ponytail` for mode control and `/ponytail-review` for diff analysis.
- **Optional defaults** can be set in `~/.config/ponytail/config.json` to specify `lite`, `full`, `ultra`, or `off` intensity.

## Frequently Asked Questions

### What is the exact installation method for Ponytail with Claude Code?

Execute two commands in Claude Code: first `/plugin marketplace add DietrichGebert/ponytail` to register the source, then `/plugin install ponytail@ponytail` to activate the plugin. This process loads the [`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json) lifecycle hooks and makes all slash commands available instantly without restarting the agent.

### Where does Ponytail store its configuration settings?

Optional user defaults reside in `~/.config/ponytail/config.json`. You can set a default intensity level (`lite`, `full`, `ultra`, or `off`) in this file. If omitted, the plugin defaults to `full` intensity and operates without any user configuration.

### Does the plugin require manual setup after installation?

No. After running the two `/plugin` commands, Ponytail automatically loads its ruleset from [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) and registers slash commands via the hooks system. The plugin injects its "lazy senior dev" rules on every turn automatically, requiring no additional intervention from the user.

### How does Claude Code know to load Ponytail in every session?

The [`hooks/claude-codex-hooks.json`](https://github.com/DietrichGebert/ponytail/blob/main/hooks/claude-codex-hooks.json) file defines lifecycle hooks that instruct Claude Code to inject the ruleset on every user turn. Once installed, this hook registration persists across all future Claude Code sessions until the plugin is explicitly uninstalled.