An Oh My Pi plugin that injects a minimality doctrine ("ponytail") into every agent's system prompt and enforces a one-shot compliance check at the end of every agent — the chief via session_stop, subagents via a tool_call gate on the hidden yield tool.
Ponytail is a lifecycle plugin, not a tool — it never appears in an agent's tool list. It hooks three OMP events:
before_agent_start— appends two blocks to the outgoing system prompt:PONYTAIL_DOCTRINE(the YAGNI ladder: does this need to exist at all → standard library → native platform feature → an already-installed dependency → one line → minimum code that works, plus rules against unrequested abstractions and a reminder that validation, error handling, security, and accessibility are never fair game for cutting) andPONYTAIL_MANDATE(instructs the agent to review its own diff against that ladder before yielding, and to reportPONYTAIL: PASSplus what it cut, or confirm nothing needed cutting).session_stop— fires only for the chief (subagents never triggersession_stop). It inspects the last assistant message; if it doesn't contain aPONYTAIL: PASSmarker (case-insensitive), the handler returns{ continue: true, additionalContext: PONYTAIL_STOP_REMINDER }to give the agent one more turn to self-review and report compliance. Thestop_hook_active !== falseguard ensures this fires only once — the reminder never re-triggers itself, so the session always settles on the next stop regardless of what the agent does with the nudge. It never blocks or wedges the session.tool_call— covers subagents, which never triggersession_stop. When a non-UI agent (!ctx.hasUI) calls the hiddenyieldtool, the handler checks the yield payload and, failing that, the agent's last assistant message (viactx.sessionManager.getBranch()) for thePONYTAIL: PASSmarker. If it's missing, it returns{ block: true, reason: PONYTAIL_STOP_REMINDER }once per session (tracked byctx.sessionManager.getSessionId()) to force the subagent to redo its ending, then lets the yield through unconditionally on the next attempt — mirroring the chief's one-shotsession_stopbehavior. The chief is never blocked here; its enforcement stays onsession_stop.
index.ts is the plugin entry point (default-exports function (pi) { ... }, registers the three pi.on(...) handlers). doctrine.ts holds the three prompt-text constants (PONYTAIL_DOCTRINE, PONYTAIL_MANDATE, PONYTAIL_STOP_REMINDER) as plain string exports. No third-party dependencies, no tools registered.
omp plugin install github:gyoz-ai/omp-ponytailThis runs bun install against ~/.omp/plugins, symlinks the package into node_modules, and validates that index.ts resolves and exports a plugin factory before enabling it.
Clone this repo, then symlink it into your OMP extensions directory so the directory itself becomes the extension:
git clone https://github.com/gyoz-ai/omp-ponytail.git
ln -s "$(pwd)/omp-ponytail" ~/.omp/agent/extensions/ponytailOMP auto-discovers any top-level subdirectory of ~/.omp/agent/extensions/ (or <project>/.omp/extensions/) containing an index.ts as a single plugin, and hot-reloads it on file change — no restart needed.
rm ~/.omp/agent/extensions/ponytail(This only removes the symlink, not the cloned repo.)