Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions external_plugins/ponytail/.zcode-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "ponytail",
"version": "0.1.0",
"description": "Lazy senior dev mode: the smallest change that fully solves the task. YAGNI, stdlib first, one line over fifty. Six skills and slash commands for lazy coding, diff review, whole-repo audit, shortcut-debt ledger, and measured impact. Port of DietrichGebert/ponytail (MIT).",
"description_i18n": {
"en": "Lazy senior dev mode: the smallest change that fully solves the task. YAGNI, stdlib first, one line over fifty. Six skills and slash commands for lazy coding, diff review, whole-repo audit, shortcut-debt ledger, and measured impact. Port of DietrichGebert/ponytail (MIT).",
"zh-CN": "懒惰资深开发模式:用完全解决问题的最小变更。YAGNI、优先标准库、能一行就不写五十行。包含懒人编码、变更审查、全仓库审计、技术债台账、实测收益六组技能与斜杠命令。移植自 DietrichGebert/ponytail(MIT)。"
},
"author": {
"name": "Dietrich Gebert (upstream), ZCode port"
},
"homepage": "https://github.com/dietrichgebert/ponytail",
"license": "MIT",
"skills": "./skills",
"commands": "./commands"
}
21 changes: 21 additions & 0 deletions external_plugins/ponytail/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 DietrichGebert

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
64 changes: 64 additions & 0 deletions external_plugins/ponytail/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Ponytail for ZCode

Lazy senior dev mode for AI coding agents: **the best code is the code never
written.** Ponytail makes the agent solve the whole problem with the least new
code — skip what nobody asked for, reuse what the codebase already has, prefer
the standard library, and never add a dependency for a few lines. It stays
lazy about the solution, never about the change itself: callers, tests and
fixtures the change breaks still get finished, and validation, error handling,
security and accessibility are never cut.

This is a ZCode port of [DietrichGebert/ponytail](https://github.com/dietrichgebert/ponytail)
v5.3.2 (MIT). The prompt content is kept verbatim from upstream.

## Measured impact

Upstream's published agentic benchmark (headless Claude Code, Opus 5.5, 39
tasks × 5 runs, vs. the same agent without the skill):

| Metric | Result |
|--------|--------|
| Lines of code | −53% |
| Time | −41% |
| Cost | −26% |
| Output tokens | −45% |
| Tests where the logic needs one | 98% (baseline 68%) |
| Hidden correctness/safety checks passed | 97% (baseline 96%) |

Source: `benchmarks/results/2026-10-07-agentic.md` in the upstream repo.

## What's included

**Skills** (auto-trigger by natural language, or pick from the composer's
skill picker):

| Skill | Trigger | What it does |
|-------|---------|--------------|
| `ponytail` | `/ponytail`, "be lazy", "yagni" | Lazy mode itself, levels lite / full / ultra. |
| `ponytail-review` | `/ponytail-review` | Quality review of a change: bugs, security, load, missing tests, speed, what to cut. |
| `ponytail-audit` | `/ponytail-audit` | The same review for the whole repo, ranked, max 20 findings. |
| `ponytail-debt` | `/ponytail-debt` | Harvest `shortcut:` comments into a tracked debt ledger. |
| `ponytail-gain` | `/ponytail-gain` | The measured-impact scoreboard. |
| `ponytail-help` | `/ponytail-help` | Quick reference card. |

**Commands**: `/ponytail [lite|full|ultra|off]`, `/ponytail-review`,
`/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`.

## Not ported from upstream

The Claude Code status band (`/ponytail band`), session-start auto-activation
and default-mode configuration (`PONYTAIL_DEFAULT_MODE`) are driven by
upstream's host-specific hook runtime and are not included. Activate ponytail
explicitly with `/ponytail` (or just ask for the lazy/simplest solution).

## Side effects and third-party content

None: this plugin contains Markdown prompt files only — no network access, no
API dependencies, no file writes, no command execution. Third-party content:
prompt text from [DietrichGebert/ponytail](https://github.com/dietrichgebert/ponytail)
(MIT, © 2026 DietrichGebert), included with attribution.

## License

MIT, © 2026 DietrichGebert — see [LICENSE](LICENSE). Prompt content ported
verbatim from https://github.com/dietrichgebert/ponytail.
59 changes: 59 additions & 0 deletions external_plugins/ponytail/README_CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Ponytail for ZCode

AI 编程智能体的**懒惰资深开发模式**:最好的代码是从未写过的代码。Ponytail
让智能体用最少的新代码解决完整问题——没人要求的功能不做、优先复用代码库已有
实现、优先标准库、绝不为几行代码引入新依赖。对解决方案懒,对改动本身不懒:被
改动波及的调用方、测试和夹具照样补齐,校验、错误处理、安全、可访问性绝不削减。

本插件是 [DietrichGebert/ponytail](https://github.com/dietrichgebert/ponytail)
v5.3.2(MIT)的 ZCode 移植版,提示内容保持上游英文原文。

## 实测收益

上游公开的智能体基准(无头 Claude Code,Opus 5.5,39 个任务 × 5 次运行,
与同一智能体不开技能对照):

| 指标 | 结果 |
|------|------|
| 代码行数 | −53% |
| 时间 | −41% |
| 成本 | −26% |
| 输出 token | −45% |
| 关键逻辑带测试的比例 | 98%(基线 68%) |
| 隐藏正确性/安全检查通过率 | 97%(基线 96%) |

来源:上游仓库 `benchmarks/results/2026-10-07-agentic.md`。

## 包含内容

**技能**(自然语言自动触发,或在输入框技能选择器中选取):

| 技能 | 触发方式 | 作用 |
|------|---------|------|
| `ponytail` | `/ponytail`、"用最简实现"、"别过度设计" | 懒人模式本体,lite / full / ultra 三档。 |
| `ponytail-review` | `/ponytail-review` | 变更质量审查:bug、安全、并发负载、缺测试、速度、可删项。 |
| `ponytail-audit` | `/ponytail-audit` | 同标准审查整个仓库,按重要性排序,最多 20 条。 |
| `ponytail-debt` | `/ponytail-debt` | 收集 `shortcut:` 注释为技术债台账。 |
| `ponytail-gain` | `/ponytail-gain` | 实测收益面板。 |
| `ponytail-help` | `/ponytail-help` | 速查卡。 |

**命令**:`/ponytail [lite|full|ultra|off]`、`/ponytail-review`、
`/ponytail-audit`、`/ponytail-debt`、`/ponytail-gain`、`/ponytail-help`。

## 未移植内容

Claude Code 专属的状态栏(`/ponytail band`)、会话启动自动激活与默认模式配置
(`PONYTAIL_DEFAULT_MODE`)依赖上游的宿主专属 hooks 运行时,未包含。用
`/ponytail` 手动激活(或直接要求用最简方案实现)。

## 副作用与第三方内容

无:本插件仅含 Markdown 提示文件——无网络访问、无 API 依赖、无文件写入、无
命令执行。第三方内容:提示文本来自
[DietrichGebert/ponytail](https://github.com/dietrichgebert/ponytail)
(MIT,© 2026 DietrichGebert),已附署名收录。

## 许可证

MIT,© 2026 DietrichGebert——见 [LICENSE](LICENSE)。提示内容逐字移植自
https://github.com/dietrichgebert/ponytail。
6 changes: 6 additions & 0 deletions external_plugins/ponytail/commands/ponytail-audit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Quality audit of the whole repo: bugs, security, load, tests, speed, bloat
skills: ponytail-audit
---

Audit the whole repository (or the folder the user names) like the senior developer who just inherited it. Map first: README, deploy and build config, dependencies, entry points, tests; find the expected load (one person or many users and processes); trace the main flows and read fully the paths with user input, money, auth, data writes, background jobs and shared state. Look for, in this order: bugs, risk (security holes, data loss), scale (races, the same work done by every process, memory that only grows, a query per item, O(n^2)), risky logic without a test, slow code (big = problem, small = suggestion), lean (dead code, duplicate helpers, stdlib or native instead of custom code or a dependency, abstractions with one implementation, near-copies to merge, a function doing several unrelated jobs to split, never split by line count). Before calling code unused, grep the whole tree including tests, fixtures, config and string references. Every finding needs a concrete case. A shortcut marked with a shortcut: (or older ponytail:) comment that names its limit is a decision, not a finding. Propose the smallest fix, prefer deleting code, never add layers. Very simple English. Start with 'What this repo does:' and the load you assumed. Then at most 20 numbered findings grouped Must fix / Should fix / Nice to have, most important first; each: a bold title with file:lines, then four bullets: What this is, Problem, Fix, If we skip it. End with 'Verdict:', 'Lean: -N lines, -M dependencies possible.' and 'Not checked:' for the parts you did not read. Change no code.
6 changes: 6 additions & 0 deletions external_plugins/ponytail/commands/ponytail-debt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Harvest shortcut: comments into a tracked debt ledger
skills: ponytail-debt
---

Harvest every `shortcut:` comment (and older `ponytail:` ones) in this repository into a debt ledger so deferrals do not rot into 'later means never'. Grep the whole tree for comment markers (git grep --no-index --exclude-standard -nE '(#|//|/[*]) ?(shortcut|ponytail):', skipping .git and everything .gitignore ignores; if the user names their own marker word, grep for that instead; skip hits that are not a deferral, like a keyboard-shortcut note). One row per marker, grouped by file: <file>:<line> — <what was simplified>. ceiling: <the limit named in the comment>. upgrade: <the trigger to revisit>. Tag any marker that names no upgrade path or trigger as no-trigger, those rot silently. End with the count of markers and how many lack a trigger. If none: 'No shortcut debt. Clean ledger.' Report only, change nothing.
6 changes: 6 additions & 0 deletions external_plugins/ponytail/commands/ponytail-gain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Show ponytail's measured impact scoreboard (less code, cost, time)
skills: ponytail-gain
---

Show the ponytail gain scoreboard. One shot, change nothing: do not switch mode, write flag files, or persist anything. Render the published agentic benchmark of Ponytail 5 (39 tasks on a real FastAPI + React repo plus bug fixes, security and privacy cases and small apps, Opus 5.5, 5 runs each, against the same agent without the skill; geometric mean of per-task medians; source benchmarks/results/2026-10-07-agentic.md and the README) as plain ASCII bars, ponytail as a share of the no-skill baseline (100%): Lines of code 47% (down 53%); Output tokens 55% (down 45%); Cost 74% (down 26%); Time 59% (down 41%); Hidden checks passed 97% (no-skill 96%; 18 of the tasks have hidden checks for correctness and safety); Tests where the logic needs one 98% (no-skill 68%). The bar length shows the share, the label carries the exact figure. These are benchmark averages, not this repo. NEVER print a per-repo savings number: the unbuilt version was never written, so there is no real baseline to subtract from in a live repo. For real per-repo figures, point to /ponytail-debt (the counted shortcut ledger) and /ponytail-audit (what is still cuttable). Report only.
6 changes: 6 additions & 0 deletions external_plugins/ponytail/commands/ponytail-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Quick reference for ponytail levels, skills, and commands
skills: ponytail-help
---

Show the ponytail quick reference. One shot, change nothing: do not switch mode, write flag files, or persist anything. Levels: /ponytail lite (build what's asked, name the lazier alternative in one line), /ponytail (full, the default ladder: YAGNI then stdlib then native then one line then minimum), /ponytail ultra (deletion before addition, challenges the requirement before building). Commands: /ponytail-review (over-engineering review of the current changes), /ponytail-audit (whole-repo over-engineering audit), /ponytail-debt (harvest shortcut: comments into a tracked ledger), /ponytail-gain (measured-impact scoreboard from the benchmark), /ponytail-help (this card). Deactivate with 'stop ponytail', 'normal mode', or /ponytail off; resume anytime with /ponytail. Default mode is full; switch level with /ponytail lite, /ponytail ultra, or /ponytail off. In this ZCode port the status band and session-start auto-activation hooks are not included; activate with /ponytail.
6 changes: 6 additions & 0 deletions external_plugins/ponytail/commands/ponytail-review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Quality review of the current changes: bugs, security, load, tests, speed, bloat
skills: ponytail-review
---

Review the current code changes like the senior developer who will be paged when they break. Review what the user names (uncommitted or staged changes, a branch, a PR link, files); nothing named: the uncommitted changes, or the last commit if there are none. First read the code the change touches: callers of every changed function, the functions it calls, the tests, the README (find the expected load: one person or many users and processes). A change can break code it does not touch. Look for, in this order: bugs (wrong result, crash, missed edge case, a caller broken by the change, a fix in one caller while the shared function stays broken), risk (security holes, data loss), scale (check-then-write races, the same work done by every process, memory that only grows, a query per item, O(n^2) on big input), risky logic without a test, slow code (big = problem, small = suggestion), lean (dead code, a helper the repo already has, stdlib or native instead of custom code or a new dependency, abstractions with one implementation, near-copies to merge, a function doing several unrelated jobs to split, never split by line count). Every finding needs a concrete case; re-read the lines to confirm it. A shortcut marked with a shortcut: (or older ponytail:) comment that names its limit is a decision, not a finding. Propose the smallest fix, prefer deleting code, never add layers. No style taste, no vague worries. Very simple English, explain technical terms. Start with 'What this change does:' in two or three sentences and the load you assumed. Then numbered findings grouped Must fix / Should fix / Nice to have; each finding: a bold title with file:lines, then four bullets: What this is, Problem, Fix, If we skip it (one or two short sentences each). End with 'Verdict:', 'Lean: -N lines possible.' when lean findings exist, and 'Not checked:' if something mattered and you could not check it. Nothing found: 'Looks good. Ship.' Change no code.
7 changes: 7 additions & 0 deletions external_plugins/ponytail/commands/ponytail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Switch ponytail intensity level (lite/full/ultra/off)
argument-hint: "[lite|full|ultra|off]"
skills: ponytail
---

Switch to ponytail $ARGUMENTS mode. With no level, keep the current level, or switch on at the default level if ponytail was off. Lazy senior dev mode, before any code: does it need to exist at all (YAGNI)? Does the standard library do it? A native platform feature? Can it be one line? Build the minimum that works. No unrequested abstractions, no avoidable dependencies, no boilerplate. Mark deliberate simplifications that cut a real corner with a known ceiling using a shortcut: comment that names the ceiling and upgrade path.
Loading