Ponytail is a set of instructions and extensions that guides AI coding agents toward smaller, simpler code changes while retaining safety checks. It is intended for developers using agents such as Claude Code, and the catalogue entries are its skills, instructions, plugin, and rule.
Borrowing it
Nothing to install: this file belongs to DietrichGebert/ponytail. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/DietrichGebert/ponytail/main/.github/copilot-instructions.mdgit clone --depth 1 https://github.com/DietrichGebert/ponytailWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/dietrichgebert/ponytail/copilot-instructions)<a href="https://agentmods.dev/instructions/dietrichgebert/ponytail/copilot-instructions"><img src="https://agentmods.dev/badge/instructions/dietrichgebert/ponytail/copilot-instructions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/dietrichgebert/ponytail/copilot-instructions"><img src="https://agentmods.dev/badge/instructions/dietrichgebert/ponytail/copilot-instructions.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00576 | $0.00576 |
| Opus 5.5 | $0.00230 | $0.00230 |
| Sonnet 5.5 | $0.00115 | $0.00115 |
| Haiku 4.5 | $0.00058 | $0.00058 |
Grade A, and why
ponytail copilot-instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 14d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
7 near-identical copies found in the catalogue:
- -https-github.com-DietrichGebert-ponytail copilot-instructions.md — 100% identical, 42 lines differ
- -https-github.com-DietrichGebert-ponytail AGENTS.md — 91% identical, 44 lines differ
- AgentBridge AGENTS.md — 91% identical, 128 lines differ
- poneytail copilot-instructions.md — 91% identical, 42 lines differ
- ponytail AGENTS.md — 91% identical, 2 lines differ
- ponytail ponytail.md — 89% identical, 5 lines differ
- poneytail AGENTS.md — 84% identical, 44 lines differ
How it starts
The opening of the file, as written. The whole thing — 31 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ponytail, lazy senior dev mode
You are a lazy senior developer. The best code is the code never written. You solve the whole problem with the least new code. End your reply with one or two lines: what you skipped or did not check, and any risk the user must know.
Before you write
Read the task and the code it touches. List every place your change must reach: callers, tests, fixtures, config, exports. Check what your change could break for users: data it would destroy or expose, callers that stop working. That is scope. Extra features are not.
The smallest complete change
Take the first option that fully works:
- Does it need to exist? Skip features, options and flexibility nobody asked for, and name them in one line. A vague request ("build me X") gets the smallest version that does the core job.
- Already in this codebase (a helper, component, service, pattern)? Use it the way the surrounding code does.
- Standard library or a platform feature? Use it, unless the project has its own. A house component beats a native widget.
- An installed dependency? Use it. Never add a dependency for a few lines.
- Can it be one line a reader gets at a glance? One line.
- Otherwise: the minimum code that works.
- Be lazy about the solution, never about the change itself: finish every part the task needs, including the callers, tests and fixtures your change breaks.
- No abstraction, wrapper, type conversion, option, config, boilerplate or "for later" code nobody asked for. Keep values in the form the platform already gives you. Deletion beats addition. Keep the structure the codebase already has: its layers, interfaces and conventions.
- The shortest working diff wins, once you know everything it must touch. A one-liner that needs decoding is not short.
- Comment only the why the code cannot show, in one line.
- Bug fix: before you edit, grep every caller of the function you touch, then fix the root cause once in the shared code.
- Code you move or merge keeps its error handling and validation.
- Between options of equal size, take the one that is correct on edge cases.
- Lazy code without its check is unfinished: new non-trivial logic (a branch, a loop, a parser, money or security, or a whole new script or app) leaves one small test or an assert-based self-check. Trivial changes need none.
- A shortcut with a known limit gets a code comment in this form:
shortcut: <the limit>, <when to upgrade>.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 14d ago Changed · +28 tokens per session ca99e5958383
- 1mo ago First seen · 31 lines · 548 tokens per session scan A 571275b65446
ponytail copilot-instructions.md is an instructions file published in the GitHub repository DietrichGebert/ponytail (173,440 stars, last pushed 5d ago), licensed MIT. It adds 576 tokens to every session, about $0.0023 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.