---
name: Ponytail Debt
slug: ponytail-debt-2
category: Quality
description: "Ponytail Debt scans a codebase for `ponytail:` comments and reports them as a debt ledger, so deferred shortcuts are tracked instead of forgotten, and flags markers with no upgrade trigger."
github: "https://github.com/DietrichGebert/ponytail/tree/main/.openclaw/skills/ponytail-debt"
language: JavaScript
stars: 101674
forks: 5587
install: "npx degit https://github.com/DietrichGebert/ponytail/tree/main/.openclaw/skills/ponytail-debt ~/.claude/skills/ponytail-debt"
installs_to: ~/.claude/skills/ponytail-debt
source_path: .openclaw/skills/ponytail-debt/SKILL.md
collection_size: 13
category_size: 1354
collection_url: "https://dirskills.com/collections/DietrichGebert/ponytail"
added: 2026-08-13T07:35:45.551Z
last_synced: 2026-08-13T07:35:45.551Z
canonical_url: "https://dirskills.com/skills/ponytail-debt-2"
---

# Ponytail Debt

Ponytail Debt scans a codebase for `ponytail:` comments and reports them as a debt ledger, so deferred shortcuts are tracked instead of forgotten, and flags markers with no upgrade trigger.

**Install:**

```bash
npx degit https://github.com/DietrichGebert/ponytail/tree/main/.openclaw/skills/ponytail-debt ~/.claude/skills/ponytail-debt
```

## README

Every deliberate ponytail shortcut is marked with a `ponytail:` comment naming
its ceiling and upgrade path. This collects them into one ledger so a deferral
can't quietly become permanent.

## Scan

Grep the repo for comment markers, skipping `node_modules`, `.git`, and build
output:

`grep -rnE '(#|//) ?ponytail:' .`  (add other comment prefixes if your stack uses them)

Each hit is one ledger row. The comment prefix keeps prose that merely mentions
the convention out of the ledger.

## Output

One row per marker, grouped by file:

`<file>:<line>, <what was simplified>. ceiling: <the limit named>. upgrade: <the trigger to revisit>.`

The convention is `ponytail: <ceiling>, <upgrade path>`, so pull the ceiling
and the trigger straight from the comment. Want an owner per row too? add
`git blame -L<line>,<line>`.

Flag the rot risk: any `ponytail:` comment that names no upgrade path or
trigger gets a `no-trigger` tag, those are the ones that silently rot.

End with `<N> markers, <M> with no trigger.` Nothing found: `No ponytail: debt. Clean ledger.`

## Boundaries

Reads and reports only, changes nothing. To persist it, ask and it writes the
ledger to a file (e.g. `PONYTAIL-DEBT.md`). One-shot. "stop ponytail-debt" or
"normal mode" to revert.
