Skip to content
cccskills
FreePublished on GitHubEnglish overview

ponytail-audit

Audit an entire code repository or a selected folder for bugs, security risks, load problems, missing tests, slow paths, and excess code. Get up to 20 prioritized findings explaining concrete problems, minimal fixes, and consequences.

OriginalShow the original description

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. Ranked, each finding explained in plain English. One-shot report, changes nothing. Use for "audit this codebase", "review the whole repo", "find bloat", "what can I delete", /ponytail-audit.

AI rating100/ 100See how to install

Good for

  • Assess the quality of an inherited codebase
  • Find security and load risks across a project
  • Identify code to delete, merge, or split
  • Prioritize fixes across an entire repository

Overview

What it does

ponytail-audit examines an entire repository, or a folder or package you specify, and reports quality problems in priority order. It reads the README, configuration files, dependencies, entry points, and tests, tracing how input moves through storage to output. It checks bugs, security, behavior under expected load, missing tests, and slow operations. It also looks for code that should be deleted, merged, or split.

When it helps

Use it to understand code you have inherited or decide what to fix first across a project. Each finding includes a concrete example of the problem, the smallest fix, and the consequences of leaving it unresolved. These details help you consider the order of work. You can also use it when organizing unnecessary dependencies or duplicate logic.

Example requests

  • “Audit this entire repository and prioritize the fixes.”
  • “Check the authentication and data storage logic for problems.”
  • “Find code that can be deleted or merged.”

Notes

The skill produces a single report and does not change code. It reports up to 20 findings in plain English. For large repositories, it focuses on operations with the greatest impact and identifies areas it did not examine and checks it could not run.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt explicitly audits the whole repository or a specified scope and ranks quality problems.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt specifies mapping the repository, tracing flows, verifying findings, and a report format capped at 20 findings.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt explicitly produces a one-time report without code changes; deletion candidates remain recommendations.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodWork centers on reading and searching the README and configuration files; no external services or keys are specified.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 20, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md5.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Audit the whole repo like the senior developer who just inherited it and will be paged when it breaks. Order of importance: correct, safe, holds under load, tested, fast, lean. Lean still matters: every extra line must be read, tested and fixed later. This is a report the user asked for, so give it in full.

1. Map first

  • Audit what the user names: a folder, a package, or the whole repo. Nothing named: the whole repo.
  • Read the README, the deploy and build config, the dependency list, the entry points (main, routes, handlers, jobs, CLI commands) and the tests.
  • Find the expected load: one person running a script, or many users and processes at once. Judge scale against that, and say which load you assumed.
  • Trace the main flows end to end: where data comes in, what is stored, what goes out. Read those paths fully: input from users, money, auth, data writes, background jobs, anything shared between processes.
  • Big repo: go deep where a mistake costs the most, not file by file. Say which parts you did not read.

2. Look for

  1. Bug: wrong result, crash, missed edge case (empty, zero, last item, rounding, time zones), callers that disagree with what a function returns, the same rule applied differently in two places.
  2. Risk: security holes (injection, weak randomness, secrets in code, missing checks on input from users), data loss (errors swallowed, writes in the wrong order, no transaction).
  3. Scale: fine for one user, wrong for many: check-then-write races, the same work done by every process, memory or lists that only grow, a query per item, O(n^2) on big input, per-process state that must be shared.
  4. Missing test: risky logic (a branch, a parser, money, security, data writes) with no test that fails when it breaks. One good test, not coverage.
  5. Speed: big slowdowns are problems. Small wins (work repeated in a hot loop) are suggestions; some software counts every millisecond.
  6. Lean: code that should not exist or should be smaller.
    • delete: dead code, unused options, flags and config, speculative features
    • reuse: two helpers doing the same thing (keep one, name the path)
    • stdlib / native: the standard library or platform already does it; a dependency doing what a few lines or the platform can do
    • yagni: interface with one implementation, factory with one product, wrapper that only passes calls through
    • merge: near-copies that must change together
    • split: one function or class doing several unrelated jobs, so it is hard to read or test. Split by job, never by line count, and never into helpers that exist only to make a function shorter.

3. Check before you report

  • Every finding needs a concrete case: "this input or situation leads to this wrong result". No case, no finding.
  • Before calling code unused, grep the whole tree for it, including tests, fixtures, config, and string or dynamic references.
  • A shortcut marked with a shortcut: (or older ponytail:) comment that names its limit is a decision, not a finding, unless the expected load already crosses it.
  • Propose the smallest fix that works. Prefer fixes that delete code. Never add layers, frameworks or config the problem does not need.
  • No style taste, no "consider", no vague worries.

4. Output

Very simple English: short sentences, everyday words. Explain a technical term the first time you use it. The reader may never have seen this code.

Start with What this repo does: in two or three sentences, and the load you assumed.

Then the findings in three groups, most important first, skip empty groups:

  • Must fix: bug, security, data loss, breaks at the expected load.
  • Should fix: risky code without a test, real slowness, duplication, a function that mixes jobs, code that should not exist.
  • Nice to have: small speed-ups, shorter forms.

Number findings across all groups, so the user can say "fix 2 and 5". At most 20 findings; if you left smaller ones out, say how many. Every finding has all four parts, each one or two short sentences:

  1. Orders land on the wrong day (billing/close_day.py:L40-52)
    • What this is: At midnight this job closes the day and bills all orders of that day.
    • Problem: It takes "today" from the server clock, which runs in UTC. An order placed at 00:30 in Berlin is billed on the day before.
    • Fix: Compute the day once in the shop's time zone: datetime.now(ZoneInfo("Europe/Berlin")).date(). One line, nothing else changes.
    • If we skip it: Late orders show the wrong date, and accounting fixes them by hand.

End with:

  • Verdict: one line: healthy, or what to fix first.
  • Lean: -<N> lines, -<M> dependencies possible. when lean findings exist.
  • Not checked: the parts you did not read or could not run.

Nothing found: What this repo does:, then Healthy. Nothing to fix. and one line on what you checked.

One-shot report, changes no code.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ponytail

FreeSummaryAI rating 90

Guide coding tasks toward the smallest complete change by reusing existing code, platform features, and installed dependencies. Address affected callers and necessary checks, then explain skipped work, unchecked areas, and risks in a brief reply.

  • Build a minimal version that meets the request
  • Fix a root cause in shared code
  • Refactor while limiting unnecessary additions
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

ponytail

FreeSummaryAI rating 100

Guide coding tasks toward the smallest complete change by checking affected code, reusing existing features, and avoiding unnecessary additions. It also calls for relevant checks and concise explanations of what changed, what remains unchecked, and any risks.

  • Build the smallest version that meets a request
  • Fix a shared bug across affected callers
  • Avoid unnecessary dependencies and abstractions
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

ponytail-audit

FreeSummaryAI rating 100

Review a codebase for bugs, security risks, failures under expected load, missing tests, slow paths, and unnecessary code. Receive prioritized findings with concrete failure cases, small proposed fixes, and the consequences of leaving each issue unresolved.

  • Assess the quality of an inherited codebase
  • Find risks under expected concurrent usage
  • Identify unnecessary code and dependencies
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

ponytail-debt

FreeSummaryAI rating 100

Collect comments marking deliberate coding shortcuts into a file-by-file debt ledger. The report shows each shortcut’s stated limit and revisit trigger, flags missing triggers, and leaves the code unchanged.

  • Reviewing deferred implementation work
  • Finding shortcuts without revisit triggers
  • Creating a file-by-file technical debt ledger
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

ponytail-debt

FreeSummaryAI rating 90

Collect comments marking deferred improvements into a ledger grouped by file. Record what was simplified, its stated limit, and when to revisit it, while flagging entries that lack a trigger for future action.

  • Collect deferred improvements across a repository
  • Find shortcuts with no stated review trigger
  • Gather TODO comments using a custom marker
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

ponytail-gain

FreeSummaryAI rating 100

Display a text scoreboard of published Ponytail 5 benchmark results, comparing code volume, generated text tokens, cost, time, and check results against an agent without the skill. The figures describe benchmark averages, not savings in the current project.

  • View published code volume and cost comparisons
  • Review benchmark correctness and testing figures
  • Check benchmark conditions alongside the results
DietrichGebert/ponytail171.7KUpdated Oct 18, 2026

See all skills by DietrichGebert

Report a problem with this skill