Agent Skillsmarmelab/atomic-crm › ponytail-review

ponytail-review

GitHub

专注于代码过度设计的审查工具,识别并建议删除冗余抽象、重复标准库实现及无用依赖。通过精简格式输出定位、删除内容及替代方案,旨在降低代码复杂度与行数,不处理正确性或安全问题。

.claude/skills/ponytail-review/SKILL.md marmelab/atomic-crm

Trigger Scenarios

review for over-engineering what can we delete is this over-engineered simplify review /ponytail-review

Install

npx skills add marmelab/atomic-crm --skill ponytail-review -g -y
More Options

Non-standard path

npx skills add https://github.com/marmelab/atomic-crm/tree/main/.claude/skills/ponytail-review -g -y

Use without installing

npx skills use marmelab/atomic-crm@ponytail-review

指定 Agent (Claude Code)

npx skills add marmelab/atomic-crm --skill ponytail-review -a claude-code -g -y

安装 repo 全部 skill

npx skills add marmelab/atomic-crm --all -g -y

预览 repo 内 skill

npx skills add marmelab/atomic-crm --list

SKILL.md

Frontmatter
{
    "name": "ponytail-review",
    "description": "Code review focused exclusively on over-engineering. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the user says \"review for over-engineering\", \"what can we delete\", \"is this over-engineered\", \"simplify review\", or invokes \/ponytail-review. Complements correctness-focused review, this one only hunts complexity."
}

Review diffs for unnecessary complexity. One line per finding: location, what to cut, what replaces it. The diff's best outcome is getting shorter.

Format

L<line>: <tag> <what>. <replacement>., or <file>:L<line>: ... for multi-file diffs.

Tags:

  • delete: dead code, unused flexibility, speculative feature. Replacement: nothing.
  • stdlib: hand-rolled thing the standard library ships. Name the function.
  • native: dependency or code doing what the platform already does. Name the feature.
  • yagni: abstraction with one implementation, config nobody sets, layer with one caller.
  • shrink: same logic, fewer lines. Show the shorter form.

Examples

❌ "This EmailValidator class might be more complex than necessary, have you considered whether all these validation rules are needed at this stage?"

L12-38: stdlib: 27-line validator class. "@" in email, 1 line, real validation is the confirmation mail.

L4: native: moment.js imported for one format call. Intl.DateTimeFormat, 0 deps.

repo.py:L88: yagni: AbstractRepository with one implementation. Inline it until a second one exists.

L52-71: delete: retry wrapper around an idempotent local call. Nothing replaces it.

L30-44: shrink: manual loop builds dict. dict(zip(keys, values)), 1 line.

Scoring

End with the only metric that matters: net: -<N> lines possible.

If there is nothing to cut, say Lean already. Ship. and stop.

Boundaries

Complexity only, correctness bugs, security holes, and performance go to a normal review pass, not this one. A single smoke test or assert-based self-check is the ponytail minimum, not bloat, never flag it for deletion. Does not apply the fixes, only lists them. "stop ponytail-review" or "normal mode": revert to verbose review style.

Version History

  • 167a4cd Current 2026-08-20 13:20

Same Skill Collection

.claude/skills/adr-writing/SKILL.md
.claude/skills/backend-dev/SKILL.md
.claude/skills/delete-initial-resource/SKILL.md
.claude/skills/e2e-conventions/SKILL.md
.claude/skills/frontend-dev/SKILL.md
.claude/skills/grill-me/SKILL.md
.claude/skills/playwright-testing/SKILL.md
.claude/skills/ponytail-audit/SKILL.md
.claude/skills/ponytail-debt/SKILL.md
.claude/skills/ponytail-help/SKILL.md
.claude/skills/resolving-rollback-conflicts/SKILL.md
.claude/skills/setup-interview/SKILL.md
.claude/skills/shadcn-customization/SKILL.md
.claude/skills/update-branding/SKILL.md
.claude/skills/worktree-detection/SKILL.md
.claude/skills/ponytail/SKILL.md

Metadata

Files
0
Version
167a4cd
Hash
f77338e5
Indexed
2026-08-20 13:20

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 10:39
浙ICP备14020137号-1 $방문자$