### Install Ponytail plugin in Codex Source: https://github.com/dietrichgebert/ponytail/blob/main/README.md Install the plugin for Codex by adding the marketplace and then adding the plugin. Run both commands in a terminal. After installation, open `/hooks` in Codex, trust its two lifecycle hooks, and start a new thread. ```bash codex plugin marketplace add DietrichGebert/ponytail codex plugin add ponytail@ponytail ``` -------------------------------- ### Parse and build URL query strings with query-string Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/url-params.md Shows the query-string package approach: install it (4.5 kB gzipped, 3.5M downloads/week) and use qs.parse/qs.stringify to parse and build URL query strings. The parse example returns an object with repeated keys as arrays; the build example produces a string with repeated keys. ```bash npm install query-string # 4.5 kB gzipped, 3.5M downloads/week ``` ```js import qs from "query-string"; // Parse const params = qs.parse(location.search); // → { page: "2", sort: "name", tags: ["js", "css"] } // Build const url = qs.stringify({ page: 2, sort: "name", tags: ["js", "css"] }); // → "page=2&sort=name&tags=js&tags=css" ``` -------------------------------- ### Install ponytail for Kimi Code Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Install ponytail in Kimi Code by running this slash command, then reload the session or start a new one. The plugin puts AGENTS.md into the system prompt every turn and adds six skills. ```text /plugins install https://github.com/DietrichGebert/ponytail ``` -------------------------------- ### Install ponytail for Oh My Pi (omp) Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Install ponytail for Oh My Pi (omp) by adding the marketplace and installing the plugin package. omp runs ponytail's Pi extension unchanged, injecting the ruleset every turn; start a new session after installing. Verified with omp 18.6.1. ```bash omp plugin marketplace add DietrichGebert/ponytail omp plugin install ponytail@ponytail ``` -------------------------------- ### Install Cursor hooks for ponytail Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Clones the ponytail repository and installs the Cursor hooks, which merge into ~/.cursor/hooks.json (or add --project for a project-specific file) while preserving existing hooks. The entries run node from that checkout, so keep the installation location or re-run after moving. ```bash git clone https://github.com/DietrichGebert/ponytail node ponytail/scripts/cursor-hooks.js install ``` -------------------------------- ### Install numeral or accounting Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/number-formatting.md Install the numeral or accounting library to format numbers without Ponytail. ```bash npm install numeral # or: npm install accounting ``` -------------------------------- ### Install ponytail for GitHub Copilot CLI Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Install the ponytail plugin for GitHub Copilot CLI by adding its marketplace and then installing the plugin package. After installation, use slash commands such as "/plugin marketplace add DietrichGebert/ponytail" and "/plugin install ponytail@ponytail" in interactive sessions. ```bash copilot plugin marketplace add DietrichGebert/ponytail copilot plugin install ponytail@ponytail ``` -------------------------------- ### Install Ponytail plugin in Claude Code Source: https://github.com/dietrichgebert/ponytail/blob/main/README.md Install the plugin in Claude Code as two separate slash commands: first add the marketplace, then install the plugin. Execute them in order in the Claude Code CLI. ```text /plugin marketplace add DietrichGebert/ponytail ``` ```text /plugin install ponytail@ponytail ``` -------------------------------- ### Example Copilot CLI plugin commands using ponytail namespace Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Copilot CLI namespaces plugin commands by plugin name, so you invoke them with the 'ponytail:' prefix. 'ultra' is an example level command, while 'ponytail-review' is a review command. ```text /ponytail:ponytail ultra /ponytail:ponytail-review ``` -------------------------------- ### Install Ponytail plugin for Devin CLI Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Installs Ponytail as a Devin plugin. The skills are then available as /ponytail:ponytail, /ponytail:ponytail-review, and so on. ```bash devin plugins install DietrichGebert/ponytail ``` -------------------------------- ### Install slowapi and redis Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/rate-limit.md Install the required packages for Redis-based rate limiting. ```bash pip install slowapi redis ``` -------------------------------- ### Install react-infinite-scroll-component Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/infinite-scroll.md Install the react-infinite-scroll-component package before using the InfiniteScroll component in a project without Ponytail. ```bash npm install react-infinite-scroll-component ``` -------------------------------- ### Install ponytail for Pi agent harness Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Install the ponytail plugin for the Pi agent harness using the git URI. This injects the ruleset every turn. ```text pi install git:github.com/DietrichGebert/ponytail ``` -------------------------------- ### Install ponytail for OpenCode with plugin add Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Install ponytail as an OpenCode plugin using the plugin add command. This injects the ruleset every turn and adds /ponytail commands and levels. ```bash opencode plugin add @dietrichgebert/ponytail ``` -------------------------------- ### Install Ponytail extension for Antigravity CLI (agy) Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Installs the Ponytail extension for Antigravity CLI (agy). This command reuses the repo's gemini-extension.json. Until the migration around June 18, 2026, the old command 'gemini extensions install' also works. For an always-on rule, place the ruleset in .agents/rules/. ```bash agy plugin install https://github.com/DietrichGebert/ponytail ``` -------------------------------- ### Install OpenClaw skill via ClawHub Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Installs Ponytail as an OpenClaw skill from ClawHub. The review, audit, debt, gain, and help skills install similarly with their own commands. OpenClaw applies this on coding tasks and exposes it as a /ponytail command. Without ClawHub, copy the .openclaw/skills/ponytail directory into ~/.openclaw/skills/. ```bash clawhub install ponytail ``` -------------------------------- ### Production email validation with email-validator library Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/email-validation.md Production-ready email validation using the email_validator library. Requires installation with 'pip install email-validator'. Returns True if valid, False if EmailNotValidError is raised. Includes usage examples. ```python from email_validator import validate_email, EmailNotValidError def validate_email_production(email: str) -> bool: """ Validates email using the email_validator library. More reliable for production use. Install with: pip install email-validator """ try: # Validate and normalize the email valid = validate_email(email) return True except EmailNotValidError: return False # Usage if __name__ == "__main__": print(validate_email_production("user@example.com")) # True print(validate_email_production("invalid@")) # False ``` -------------------------------- ### Install and enable ponytail plugin for Grok Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Installs and enables the ponytail plugin for Grok. The plugin is disabled by default, so it must be enabled via the /plugins UI or the config file. After enabling, start a new session or reload plugins to see the skills. ```bash grok plugin install DietrichGebert/ponytail --trust ``` ```toml [plugins] enabled = ["ponytail"] ``` -------------------------------- ### Group by key with lodash groupBy Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/group-by.md Install lodash and use its groupBy function to group an array of objects by a key. The example groups orders by their status property, producing an object with arrays for each status. ```bash npm install lodash ``` ```js import { groupBy } from "lodash"; const byStatus = groupBy(orders, "status"); // → { pending: [...], shipped: [...], delivered: [...] } ``` -------------------------------- ### Install ponytail skills CLI with npx skills add DietrichGebert/ponytail Source: https://github.com/dietrichgebert/ponytail/blob/main/INSTALL.md Copies the six ponytail skill files into the skills folder of many agents. Use --agent to select the agent, e.g., --agent bob for IBM Bob; --skill '*' takes all six without asking; --global installs for your user instead of the project. Installs skills only; for always-on rules add AGENTS.md or use a plugin. ```bash npx skills add DietrichGebert/ponytail ``` -------------------------------- ### Install lodash for deep clone Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/deep-clone.md Install lodash as a dependency to use cloneDeep for deep cloning. ```bash npm install lodash ``` -------------------------------- ### Install slowapi with pip Source: https://github.com/dietrichgebert/ponytail/blob/main/examples/rate-limit.md Install the slowapi package, which is the recommended approach for adding rate limiting to FastAPI. ```bash pip install slowapi ``` -------------------------------- ### Run GPT benchmark with promptfoo Source: https://github.com/dietrichgebert/ponytail/blob/main/benchmarks/results/2026-06-16-correctness-gate-fix.md Runs the GPT benchmark arms with promptfoo, repeating each cell 20 times serially to avoid transient quota 429s. Requires OPENAI_API_KEY in ../.env. ```bash # GPT arms (needs OPENAI_API_KEY in ../.env) cd benchmarks npx promptfoo@latest eval -c promptfooconfig.gpt.yaml --env-file ../.env --repeat 20 --max-concurrency 1 ```