@bacnh85/pi-ponytail
Pi-ponytail — lazy senior dev mode for your Pi agent. Forked from DietrichGebert/ponytail.
Package details
Install @bacnh85/pi-ponytail from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@bacnh85/pi-ponytail- Package
@bacnh85/pi-ponytail- Version
0.1.14- Published
- Sep 12, 2026
- Downloads
- 1,004/mo · 309/wk
- Author
- bacnh85
- License
- MIT
- Types
- extension, skill
- Size
- 45.6 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"extensions": [
"./extensions/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@bacnh85/pi-ponytail
Lazy senior dev mode for your Pi coding agent.
He says nothing. He writes one line. It works. Ponytail puts a deadpan senior developer inside your Pi agent. Before writing code it climbs a ladder: does this need to exist? (YAGNI) → already in the codebase? → stdlib? → native platform? → installed dependency? → one line? → minimum that works.
A fork of DietrichGebert/ponytail adapted for the Pi harness.
Install
pi install npm:@bacnh85/pi-ponytail
Commands
| Command | What it does |
|---|---|
/ponytail |
Show current and default mode (same as status) |
/ponytail lite|full|ultra|off |
Set session intensity |
/ponytail status |
Show current and default mode |
/ponytail default lite|full|ultra|off |
Persist the default across sessions |
/skill:ponytail-review |
Over-engineering review on the current diff |
/skill:ponytail-audit |
Whole-repo over-engineering audit |
/skill:ponytail-debt |
Harvest ponytail: shortcut markers into a ledger |
/skill:ponytail-gain |
Show measured-impact scoreboard (benchmark medians) |
/skill:ponytail-help |
Quick reference |
Deactivate: stop ponytail or normal mode. Resume with /ponytail <mode> (e.g. /ponytail full).
Intensity levels
| Level | What changes |
|---|---|
| lite | Build what's asked, name the lazier alternative in one line. You pick. |
| full | The ladder enforced. Stdlib and native first. Shortest diff, shortest explanation. Default. |
| ultra | YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest. |
| off | Ponytail disabled for this session. |
Default mode
Resolution order (first wins):
- Env var —
PONYTAIL_DEFAULT_MODE=lite|full|ultra|off - Config file —
$XDG_CONFIG_HOME/ponytail/config.jsonor~/.config/ponytail/config.json{ "defaultMode": "full" } - Built-in —
full
Subagents
Subagents spawned through the subagent tool (pi-subagent) don't load extensions, so the ruleset wouldn't reach them. When ponytail is active, a tool_call hook prepends a compact ponytail block to the tool call's instructions, which pi-subagent applies to every child (single, parallel, chain, background). All roles get it — scout, worker, planner, reviewer — but plans, reviews, and reports explicitly requested by the task are delivered in full; the block governs what the subagent builds, not requested output.
Set PONYTAIL_SUBAGENT_SCOPE=off to disable subagent injection. Children that load extensions (tool-inheriting agents) self-inject via before_agent_start; the marker prevents a second copy.
Changelog
See CHANGELOG.md for release history.
License
MIT. Same as upstream.