Skip to content

feat(skills): add /ponytail-gain measured-impact scoreboard - #108

Merged
DietrichGebert merged 1 commit into
DietrichGebert:mainfrom
ousamabenyounes:feat/ponytail-gain
Jun 18, 2026
Merged

DietrichGebert merged 1 commit into
DietrichGebert:mainfrom
ousamabenyounes:feat/ponytail-gain

Conversation

@ousamabenyounes

@ousamabenyounes ousamabenyounes commented Jun 16, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds /ponytail-gain — a one-shot scoreboard that renders ponytail's measured benchmark impact (less code, less cost, more speed) as plain ASCII bars, then points at /ponytail-debt and /ponytail-audit for this repo's real numbers.

  ponytail gain                     benchmark median · 5 tasks · 3 models

  Lines of code   no-skill  ████████████████████  100%
                  ponytail  ██▌·················    6–20%   ▼ 80–94%
  Cost            no-skill  ████████████████████  100%
                  ponytail  █████▌··············   23–53%  ▼ 47–77%
  Speed           ponytail  ▸ 3–6× faster

  This repo:  /ponytail-debt  (shortcuts you deferred)
              /ponytail-audit (what's still cuttable)

It complements the existing skills instead of duplicating them: debt harvests the ponytail: ledger, audit finds what's cuttable, gain shows the measured why it matters. The first thing a teammate trying ponytail asks is "what does this actually buy me?" — this answers it in one command, and routes them to the per-repo skills for the specifics.

Our position on "tokens saved" (and why this is light, on purpose)

We really wanted gain to report real token/LOC savings on your repo — the rtk-gain style number. We talked ourselves out of it, twice, and want to be transparent about why:

  1. No honest baseline in a live repo. ponytail changes what the model generates; the bloated 400-line version it didn't write was never captured. Claiming "you saved 380 lines here" means subtracting from a file that never existed — an invented number. That's exactly the kind of unmeasured figure this project refuses to ship.
  2. Live per-read/edit tracking is too costly and unportable. Measuring the maintenance dividend (a smaller file is cheaper every time it's read) would need a hook firing on every file Read/Edit, a growing state file, and a tokenizer — a PostToolUse-style sys-call on each tool use. That breaks the zero-config, thin-adapter promise (Cursor/Windsurf/Cline have no such hook) and contradicts "Does it need a config file? No."

So we cut it down to light-only: the bars carry the published benchmark medians (measured, labelled as benchmark not as your repo), and the only per-repo figures come from debt's real count. No phantom numbers, no runtime weight, portable everywhere. If you'd rather measure the maintenance/lifetime cost properly, the honest place is a new arm in benchmarks/ (both no-skill and ponytail files already exist there) — happy to follow up with that if you want it.

Adapter coverage

Ships every surface the other commands ship, so no adapter drifts:

  • skills/ponytail-gain/SKILL.md, commands/ponytail-gain.toml
  • .opencode/command/ponytail-gain.md
  • .openclaw/skills/ponytail-gain/SKILL.md (generated via scripts/build-openclaw-skills.js)
  • Pi command registration
  • Help card, /ponytail-help enumeration, docs/agent-portability.md, and the README commands table + OpenClaw line updated in the same PR.

Test verification (RED → GREEN)

CI is green on this PR (the test workflow passed). The Pi command-registration + delegation tests are the anchor — they go red the moment the prod registration is reverted, green with it.

RED — prod registration reverted to upstream, test kept:

$ git checkout origin/main -- pi-extension/index.js && node --test pi-extension/test/*.test.js
not ok 1 - extension registers Ponytail commands
    + actual - expected
    -   'ponytail-gain',
  name: 'AssertionError'
not ok 4 - skill alias commands delegate to Pi skill commands
# fail 2

GREEN — with the change:

$ node --test pi-extension/test/*.test.js
# tests 11
# pass 11
# fail 0

$ node scripts/check-rule-copies.js
Rule copies match AGENTS.md; 5 rule invariants present in SKILL.md and AGENTS.md.

Baseline preserved. Note for anyone running the suite locally: tests/correctness includes one check (csv: correct pandas one-liner) that imports pandas, so node --test tests/*.test.js shows one failure on a machine without it. That is environment-only and not caused by this change — CI installs pandas (pip install pandas in .github/workflows/test.yml), which is why the workflow is green. It was red the same way on main before this branch.

A one-shot scoreboard showing ponytail's measured benchmark impact
(less code, less cost, more speed) as plain ASCII bars, then points to
/ponytail-debt and /ponytail-audit for this repo's real numbers.

Complements the existing skills rather than duplicating them: debt
harvests the ponytail: ledger, audit finds what's cuttable, gain shows
the measured why-it-matters. No per-repo savings number is ever printed
-- the unbuilt version was never written, so there is no real baseline
to subtract from in a live repo. The bars carry the published benchmark
medians (5 tasks, 3 models); per-repo figures come from debt's count.

Ships every adapter the other commands ship: Claude commands/*.toml,
OpenCode .opencode/command/*.md, OpenClaw skill (generated), Pi command
registration. Help card, command enumeration, portability table, and
README updated in the same change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@DietrichGebert
DietrichGebert merged commit 15749f7 into DietrichGebert:main Jun 18, 2026
2 checks passed
DevZonayed pushed a commit to DevZonayed/ponytail that referenced this pull request Aug 17, 2026
…Gebert#108)

A one-shot scoreboard showing ponytail's measured benchmark impact
(less code, less cost, more speed) as plain ASCII bars, then points to
/ponytail-debt and /ponytail-audit for this repo's real numbers.

Complements the existing skills rather than duplicating them: debt
harvests the ponytail: ledger, audit finds what's cuttable, gain shows
the measured why-it-matters. No per-repo savings number is ever printed
-- the unbuilt version was never written, so there is no real baseline
to subtract from in a live repo. The bars carry the published benchmark
medians (5 tasks, 3 models); per-repo figures come from debt's count.

Ships every adapter the other commands ship: Claude commands/*.toml,
OpenCode .opencode/command/*.md, OpenClaw skill (generated), Pi command
registration. Help card, command enumeration, portability table, and
README updated in the same change.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Afristrat pushed a commit to Afristrat/ponytail that referenced this pull request Sep 29, 2026
…Gebert#108)

A one-shot scoreboard showing ponytail's measured benchmark impact
(less code, less cost, more speed) as plain ASCII bars, then points to
/ponytail-debt and /ponytail-audit for this repo's real numbers.

Complements the existing skills rather than duplicating them: debt
harvests the ponytail: ledger, audit finds what's cuttable, gain shows
the measured why-it-matters. No per-repo savings number is ever printed
-- the unbuilt version was never written, so there is no real baseline
to subtract from in a live repo. The bars carry the published benchmark
medians (5 tasks, 3 models); per-repo figures come from debt's count.

Ships every adapter the other commands ship: Claude commands/*.toml,
OpenCode .opencode/command/*.md, OpenClaw skill (generated), Pi command
registration. Help card, command enumeration, portability table, and
README updated in the same change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants