@bacnh85/pi-ponytail0.1.18
Pi-ponytail — lazy senior dev mode for your Pi agent. Forked from DietrichGebert/ponytail.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
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|review |
Set session intensity |
/ponytail status |
Show current and default mode |
/ponytail default lite|full|ultra|off |
Persist the default across sessions (review is session-only) |
/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 |
/ponytail-review |
Alias for /skill:ponytail-review |
/ponytail-audit |
Alias for /skill:ponytail-audit |
/ponytail-gain |
Alias for /skill:ponytail-gain |
/ponytail-debt |
Alias for /skill:ponytail-debt |
/ponytail-help |
Alias for /skill:ponytail-help |
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. |
| review | Ruleset off; behavior governed by /skill:ponytail-review. Session-only — not a valid default. |
| off | Ponytail disabled for this session. |
Default mode
Resolution order (first wins):
- Env var —
PONYTAIL_DEFAULT_MODE=lite|full|ultra|offOther env vars:PONYTAIL_QUIET_STARTUPandPONYTAIL_HIDE_STATUS(truthy = on, each overrides its config key);PONYTAIL_SUBAGENT_SCOPE=offdisables subagent injection. - Config file —
$XDG_CONFIG_HOME/ponytail/config.jsonor~/.config/ponytail/config.json{ "defaultMode": "full", "quietStartup": true, "hideStatus": true }quietStartupsuppresses the "Ponytail loaded: " startup message;hideStatushides the ponytail status-bar item. - 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.