OpenSource-Hub

ponytail

기타

DietrichGebert/ponytail

AI 코딩 어시스턴트가 게으른 시니어 엔지니어처럼 필요한 최소한의 코드만 작성하도록 만드는 스킬 플러그인.

개요

Ponytail은 Claude Code, Codex 등 AI 프로그래밍 어시스턴트를 위한 스킬 플러그인으로, YAGNI 원칙을 철저히 따릅니다: 기존 코드, 표준 라이브러리 및 플랫폼 네이티브 기능을 우선적으로 재사용하고, 작동하는 최소한의 코드만 작성합니다. 내장된 의사결정 사다리가 에이전트가 가장 간단한 솔루션을 선택하도록 안내하는 동시에 검증, 보안, 오류 처리 및 접근성을 결코 희생하지 않습니다. 벤치마크 테스트에 따르면 코드 양이 평균 약 54% 감소하고, 비용은 약 20% 절감되며, 속도는 약 27% 향상되고, 보안은 100% 유지됩니다.

README 미리보기

\n  \n    \n    \n  \n\n\nPonytail\n\n\n  He says nothing. He writes one line. It works.\n\n\n\n  \n  \n  \n  \n  \n\n\n\n  \n  \n\n\n\n  ~54% less code (up to 94%) · ~20% cheaper · ~27% faster · 100% safe\n  Measured on real Claude Code sessions editing a real open-source repo (FastAPI + React), against the same agent with no skill. ~54% is the mean across 12 feature tasks (Haiku 4.5, n=4); it reaches 94% where an agent over-builds (a date picker) and is near zero where the code is already minimal. ponytail keeps every safety guard while a bare "write one-liners" prompt drops one. (The earlier single-shot benchmark reported 80-94% as a flat figure; against a fair agentic baseline that is the per-task ceiling, not the average.) Full writeup · reproduce it.\n\n\n\n  Español · 한국어\n\n\n---\n\n\n  \n\n\nYou know him. Long ponytail. Oval glasses. Has been at the company longer than the version control. You show him fifty lines; he looks at them, says nothing, and replaces them with one.\n\nPonytail puts him inside your AI agent.\n\n## Before / after\n\nYou ask for a date picker. Your agent installs flatpickr, writes a wrapper component, adds a stylesheet, and starts a discussion about timezones.\n\nWith ponytail:\n\n```html\n\n\n```\n\nMore survivors in [examples/](examples/).\n\n## Numbers\n\nThe honest measurement is a real agent doing real work: a headless Claude Code session editing [tiangolo's full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (a real FastAPI + React repo), scored on the `git diff` it leaves behind. Twelve feature tickets, the same agent with and without the skill, n=4, Haiku 4.5.\n\n\n  \n\n\n| vs no-skill baseline | LOC | tokens | cost | time | safe |\n|---|--:|--:|--:|--:|--:|\n| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** |\n| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% |\n| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95%

FAQ (4)

문제 해결
Windows에서 Claude Code의 'UserPromptSubmit hook timed out after 5s — output discarded' 오류를 해결하는 방법은?

이는 느린 스크립트가 아니라 Windows의 콜드 스타트 오버헤드(첫 PowerShell/node 실행, 바이러스 백신 검사)로 인해 발생합니다 — 훅 자체는 ~0.15–0.2초 만에 실행됩니다. 해결 방법: ponytail 플러그인을 PR #1165가 포함된 릴리스로 업데이트하세요. 이 릴리스는 훅 타임아웃을 늘리고(예: 15초로) 더 느린 PowerShell commandWindows 래퍼 대신 node -e "require(...)"를 통해 훅을 직접 실행합니다. 4.8.4용 임시 해결 방법: hooks/claude-codex-hooks.json을 편집하여(플러그인 캐시와 마켓플레이스 사본 모두) UserPromptSubmit의 "timeout": 5를 "timeout": 15로 변경하세요(선택적으로 SessionStart/SubagentStart도). 참고: 로컬 편집 내용은 플러그인 업데이트 때마다 덮어쓰이므로, 플러그인을 업데이트하는 것이 영구적인 해결책입니다.

원본 Issue #1158
문제 해결
Codex VS Code 확장 composer에서 심각한 입력 지연을 해결하는 방법은 무엇인가요?

이 지연은 크기가 지나치게 큰 플러그인 composerIcon(예: Ponytail 5.3.2의 554 KB logo.png) 때문에 발생하며, Codex가 이를 ~739 KB Base64로 직렬화하여 pluginMention.attrs.iconSmall에 저장하고 모든 프롬프트 히스토리 항목에 복제하면서, 지속 상태가 13 MB를 초과할 정도로 커지고 상태 직렬화/IPC 중에 메인 스레드가 정지됩니다. 해결 방법: 1) 큰 composer 아이콘을 작은 에셋으로 교체하는 PR #1164가 포함된 릴리스로 Ponytail 플러그인을 업데이트하세요. 2) 즉각적인 임시 해결책으로, 지속된 Codex 상태를 삭제하세요: VS Code를 종료하고, 프로필의 state.vscdb를 열어 openai.chatgpt 항목을 삭제하세요(또는 새 VS Code 프로필을 사용하세요). 이렇게 하면 입력이 즉시 원활해지지만, 크기가 큰 아이콘이 히스토리를 다시 채우면 지연이 재발합니다. 3) 플러그인 작성자는 .codex-plugin/plugin.json의 composerIcon이 큰 PNG 대신 작은 파일(예: assets/logo-greenpt.svg와 같은 ~6 KB SVG 또는 최적화된 작은 PNG)을 가리키도록 해야 합니다.

원본 Issue #1159
방법
oh-my-pi (omp)에서 이 플러그인을 설치하고 사용하는 방법은?

다음 두 가지 방법으로 oh-my-pi 플러그인으로 설치할 수 있습니다: 1) 터미널에서 omp https://github.com/DietrichGebert/ponytail을 실행하세요 — ponytail이 자동으로 플러그인으로 저장됩니다. 2) 플러그인 마켓플레이스 명령어를 사용하세요: omp plugin marketplace add DietrichGebert/ponytail을 실행한 다음 omp plugin install ponytail@ponytail을 실행하고, omp plugin list로 확인하세요.

원본 Issue #591
문제 해결
Windows의 Claude Code에서 SessionStart 컨텍스트에 Ponytail 코드베이스 맵이 누락된 이유는 무엇인가요?

Ponytail 5.2.0–5.3.2의 알려진 버그: 선택적 codebase-map 생성이 1,000ms의 고정 타임아웃이 적용된 자식 프로세스로 이동되었습니다. Windows에서는 다른 SessionStart 훅(예: superpowers, OpenWolf, claude-mem)으로 인한 시작 경합이나 대규모 리포지토리(약 2,000개의 추적 파일)로 인해 자식 프로세스가 1초 제한을 초과하게 되어, 필수 규칙은 여전히 로드되는 동안 맵이 자동으로 누락됩니다. 해결 방법: 타임아웃 문제를 해결한 PR #1166이 포함된 Ponytail 릴리스(5.3.2 이후 첫 번째 릴리스)로 업그레이드하세요. 그 전까지의 해결 방법: (1) 타임아웃 없이 프로세스 내에서 맵을 생성하는 Ponytail 5.1.0으로 다운그레이드; (2) CPU 경합을 줄이기 위해 동시 실행되는 SessionStart 훅 수 감소; (3) 맵 생성이 1초 이내에 완료되도록 리포지토리의 추적/비추적 파일 수 감소(예: 대량의 JSON/데이터 파일을 gitignore에 추가).

원본 Issue #1157