Tech Debt Audit
code-yeongyu/oh-my-openagent
Audits a codebase for technical debt across nine dimensions and writes TECH_DEBT_AUDIT.md with file-cited findings, severity, effort estimates and priorities.
Collects every ponytail: comment in a codebase into one debt ledger, flags shortcuts with no upgrade trigger and reports without changing any files.
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DietrichGebert/ponytail ponytail-debt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ponytail-debt .claude/skills/ponytail-debt && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .claude/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debtType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DietrichGebert/ponytail ponytail-debt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ponytail-debt .agents/skills/ponytail-debt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .agents/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DietrichGebert/ponytail ponytail-debt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ponytail-debt .cursor/skills/ponytail-debt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .cursor/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DietrichGebert/ponytail.git --path skills/ponytail-debt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DietrichGebert/ponytail ponytail-debt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ponytail-debt .gemini/skills/ponytail-debt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .gemini/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DietrichGebert/ponytail ponytail-debtInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ponytail-debt .github/skills/ponytail-debt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .github/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DietrichGebert/ponytail --skill ponytail-debt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DietrichGebert/ponytail ponytail-debt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DietrichGebert/ponytail.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ponytail-debt .opencode/skills/ponytail-debt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ponytail-debt" agent skill from https://github.com/DietrichGebert/ponytail/tree/main/skills/ponytail-debt into .opencode/skills/ponytail-debt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ponytail-debt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ponytail-debtCollects every ponytail: comment in a codebase into one debt ledger, flags shortcuts with no upgrade trigger and reports without changing any files.
Ponytail leaves deliberate shortcuts marked with a ponytail: comment that names the ceiling and the path to upgrade. This skill greps the repo for those markers, skipping node_modules, .git, dist and build output, and treats each hit as one ledger row. Matching only on comment prefixes keeps prose that merely mentions the convention out of the list.
Rows are grouped by file with the location, what was simplified, the ceiling and the upgrade trigger, and git blame can add an owner. Comments that name no trigger get a no-trigger tag because they are the ones likely to rot. The report ends with a count of markers and how many lack a trigger, or a clean-ledger message when none are found. It reads and reports only, writes the ledger to a file such as PONYTAIL-DEBT.md when you ask, and runs once.
Read from SKILL.md and the folder at commit 9b58c1f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ponytail Debt Ledger loads about 453 tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 230 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DietrichGebert/ponytail at commit 9b58c1f, republished under its MIT licence (© DietrichGebert). 230 words, ~453 tokens.
.claude/skills/ponytail-debt/SKILL.md (or your agent's skills folder).Every deliberate ponytail shortcut is marked with a shortcut: comment naming
its ceiling and upgrade path (older code may say ponytail:). This collects them into one ledger so a deferral
can't quietly become permanent.
Grep the repo for comment markers, skipping node_modules, .git, and build
output:
grep -rnE --exclude-dir=.git --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=build '(#|//|/[*]) ?(shortcut|ponytail):' . (add other comment prefixes if your stack uses them)
If the user names their own marker word (/ponytail-debt TODO), grep for that word instead.
Each hit is one ledger row. The comment prefix keeps prose that merely mentions the convention out of the ledger. Skip hits that are not a deferral, like a note about a keyboard shortcut.
One row per marker, grouped by file:
<file>:<line>, <what was simplified>. ceiling: <the limit named>. upgrade: <the trigger to revisit>.
The convention is shortcut: <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 marker 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 shortcut debt. Clean ledger.
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.
© DietrichGebert, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/ponytail-debt of DietrichGebert/ponytail.
Open the folder on GitHubat commit 9b58c1f
Ponytail Debt Ledger next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ponytail Debt Ledger this skillDietrichGebert/ponytail | 160k | — | ~453 | Automated safety check: Pass | MIT | |
| Tech Debt Auditcode-yeongyu/oh-my-openagent | 70k | — | ~2.4k | Automated safety check: Notes | Custom licence | |
| Cleanup Codejeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Systematic Code Refactoringluongnv89/claude-howto | 42k | — | ~3k | Automated safety check: Pass | MIT | |
| Code Refactoring Workflowluongnv89/claude-howto | 42k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Qt C++ Code Reviewx-tools-author/x-tools | 1.1k | 2 repos | ~4.3k | Automated safety check: Pass | BSD-3-Clause |
code-yeongyu/oh-my-openagent
Audits a codebase for technical debt across nine dimensions and writes TECH_DEBT_AUDIT.md with file-cited findings, severity, effort estimates and priorities.
jeremylongshore/tons-of-skills-marketplace
Comprehensive codebase cleanup across 11 quality dimensions: dead code, duplication, weak types, circular deps, defensive cruft, legacy code, AI slop, type consolidation, security, performance, and…
luongnv89/claude-howto
Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.
luongnv89/claude-howto
Guides systematic, test-backed refactoring in the style of Martin Fowler, moving through research, planning and small incremental changes with your approval at each phase.
x-tools-author/x-tools
Read-only review of Qt6 C++ code that combines a deterministic lint script with six parallel analysis agents and reports only high-confidence issues.
warpdotdev/common-skills
Grades agent skills by scoring agent conversations for efficiency, code quality, procedure compliance, and verbosity, then drafts concrete skill edits and a shareable report.
DietrichGebert/ponytail
Show ponytail's measured savings (code, cost, speed) from the benchmark. One-shot display. Use for /ponytail-gain, "what does ponytail save", "ponytail impact".
DietrichGebert/ponytail
Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small.
DietrichGebert/ponytail
Shows a one-shot quick-reference card for the ponytail skills: intensity levels, the six commands, and how to turn it off, set a default mode and update.
DietrichGebert/ponytail
Quality audit of a whole repo: bugs, security holes, what breaks under real load, risky code without tests, slow paths, and what to delete, merge or split.
DietrichGebert/ponytail
Reviews a diff only for unnecessary complexity and lists what to delete or shrink, one numbered line per finding with the location, the cut and its replacement.
Works with
Categories
Collects every ponytail: comment in a codebase into one debt ledger, flags shortcuts with no upgrade trigger and reports without changing any files. Ponytail leaves deliberate shortcuts marked with a ponytail: comment that names the ceiling and the path to upgrade.git, dist and build output, and treats each hit as one ledger row.
Ponytail Debt Ledger fits situations like: listing every deferred shortcut marked with ponytail comments; finding shortcuts that have no upgrade trigger; reviewing technical debt before a release.
Run `npx skills add DietrichGebert/ponytail --skill ponytail-debt -a claude-code`. Or copy the skill folder (skills/ponytail-debt in DietrichGebert/ponytail) into .claude/skills/ponytail-debt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DietrichGebert/ponytail --skill ponytail-debt -a codex`. Or copy the skill folder (skills/ponytail-debt in DietrichGebert/ponytail) into .agents/skills/ponytail-debt in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DietrichGebert/ponytail --skill ponytail-debt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ponytail-debt, .gemini/skills/ponytail-debt, .github/skills/ponytail-debt and .opencode/skills/ponytail-debt in your project.
Going by SKILL.md and its folder, Ponytail Debt Ledger needs the command-line tools its instructions call (git). Our summary lists: A codebase that uses ponytail: comment markers.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ponytail Debt Ledger is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 453 tokens (SKILL.md is roughly 1.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ponytail Debt Ledger: Tech Debt Audit (code-yeongyu/oh-my-openagent, 70k stars), Cleanup Code (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Systematic Code Refactoring (luongnv89/claude-howto, 42k stars) and Code Refactoring Workflow (luongnv89/claude-howto, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DietrichGebert (a GitHub user) maintains it in DietrichGebert/ponytail, which has 159,864 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 10, 2026.
Source: DietrichGebert/ponytail on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.