# What Slash Commands Does Ponytail Offer and What Are Their Purposes?

> Discover Ponytail's six powerful slash commands including /ponytail-review and /ponytail-audit. Reduce over-engineering and track technical debt with this tool.

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

---

**Ponytail exposes six slash commands—`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, and `/ponytail-help`—that inject specialized skill prompts into a Hermes-compatible gateway to reduce over-engineering and track technical debt.**

Ponytail is a Hermes-compatible plugin that acts as a "lazy senior dev" assistant for analyzing codebases. If you are wondering **what slash commands Ponytail offers** to streamline your workflow, this guide covers the complete command set defined in the **DietrichGebert/ponytail** repository and their specific purposes as implemented in the source code.

## Available Slash Commands in Ponytail

The plugin registers all commands in the `SKILL_COMMANDS` dictionary located in [`ponytail/main/__init__.py`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/__init__.py) (lines 14–20). Each command maps to a specific skill prompt that the LLM agent processes when invoked through a compatible gateway.

### /ponytail — Toggle Runtime Modes

The generic `/ponytail` command controls the plugin's operational intensity. According to the source code, it accepts arguments `lite`, `full`, `ultra`, or `off` to set the active mode. The `_handle_mode_command` function (lines 66–78) processes these arguments to adjust how aggressively Ponytail analyzes your code.

### /ponytail-review — Review Code for Over-Engineering

Use `/ponytail-review` to analyze "the current diff or provided target for over-engineering." This command injects the `ponytail:review` skill prompt, which evaluates whether your changes are unnecessarily complex compared to simpler alternatives.

### /ponytail-audit — Audit Repository for Bloat

The `/ponytail-audit` command triggers a full repository scan. Its purpose is to "audit the repo for over-engineering and deletion opportunities," helping identify dead code, redundant abstractions, or architectural overstretch that can be safely removed.

### /ponytail-debt — Track Shortcut Upgrade Paths

When you need to document technical debt deliberately introduced for speed, `/ponytail-debt` lists "every deliberate `ponytail:` shortcut and its upgrade path." This maintains a concrete roadmap for future refactoring when priorities shift from velocity to maintainability.

### /ponytail-gain — Measure Impact Scoreboard

The `/ponytail-gain` command displays "the measured-impact scoreboard (less code, less cost, more speed)." It quantifies the benefits of removing over-engineered solutions, providing concrete metrics on code reduction and performance improvements.

### /ponytail-help — Command Reference

Finally, `/ponytail-help` provides inline documentation by showing "the Ponytail command reference," making it easy to recall available options without leaving your chat interface or IDE.

## How Ponytail Registers Slash Commands

The command registration happens in the `register` function within [`ponytail/main/__init__.py`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/__init__.py) (lines 95–112). This function binds each entry from the `SKILL_COMMANDS` dictionary to the Hermes gateway context. When a user sends a slash command, the plugin intercepts the message and rewrites it into the corresponding skill prompt defined in the respective [`SCILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SCILL.md) files located under `ponytail/main/skills/`.

## Using Slash Commands in Practice

You invoke these commands through any Hermes-compatible gateway. The following examples demonstrate how each command triggers its respective skill prompt:

```python

# Switch Ponytail to lite mode

gateway.receive_message("/ponytail lite")

# Response: "Ponytail mode set to lite."

```

```python

# Request code review of current diff

gateway.receive_message("/ponytail-review")

# Injects the ponytail:review skill prompt

```

```python

# Audit repository for over-engineering

gateway.receive_message("/ponytail-audit")

# Injects the ponytail:audit skill prompt

```

```python

# List technical debt and upgrade paths

gateway.receive_message("/ponytail-debt")

# Injects the ponytail:debt skill prompt

```

```python

# View impact metrics

gateway.receive_message("/ponytail-gain")

# Injects the ponytail:gain skill prompt

```

```python

# Display help reference

gateway.receive_message("/ponytail-help")

# Injects the ponytail:help skill prompt

```

## Summary

- Ponytail provides **six slash commands** accessed via a Hermes-compatible gateway.
- The `/ponytail` command adjusts runtime modes (lite, full, ultra, off) via `_handle_mode_command` (lines 66–78).
- Analysis commands (`/ponytail-review`, `/ponytail-audit`) identify over-engineering in diffs and repositories.
- Tracking commands (`/ponytail-debt`, `/ponytail-gain`) document shortcuts and measure code reduction impact.
- All commands are defined in `SKILL_COMMANDS` (lines 14–20) and registered in the `register` function (lines 95–112) of [`ponytail/main/__init__.py`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/__init__.py).
- Each command triggers a specific skill prompt documented in corresponding [`SCILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SCILL.md) files under `ponytail/main/skills/`.

## Frequently Asked Questions

### What arguments can I pass to the /ponytail command?

The `/ponytail` command accepts four mode arguments: `lite`, `full`, `ultra`, or `off`. These values control the intensity of Ponytail's analysis, allowing you to toggle between minimal overhead and comprehensive auditing as implemented in the `_handle_mode_command` function.

### How does Ponytail process slash commands internally?

When you send a slash command, the Hermes gateway routes it to the `register` function in [`ponytail/main/__init__.py`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/__init__.py) (lines 95–112). The plugin matches your input against the `SKILL_COMMANDS` dictionary and injects the corresponding skill prompt from the `ponytail/main/skills/` directory into the LLM context.

### Can I use Ponytail slash commands without a Hermes gateway?

No. Ponytail is designed specifically as a Hermes-compatible plugin. The slash command interface requires a Hermes gateway (such as a chat interface) to function, as the commands rely on the gateway's `receive_message` method and context registration system.

### Where are the skill definitions stored for each command?

Each slash command maps to a skill documented in a [`SCILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SCILL.md) file within `ponytail/main/skills/`. For example, `/ponytail-review` uses [`ponytail/main/skills/ponytail-review/SCILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/skills/ponytail-review/SCILL.md), while `/ponytail-audit` references [`ponytail/main/skills/ponytail-audit/SCILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail/main/skills/ponytail-audit/SCILL.md).