Deepseek ArtifactsDeepseek Artifacts
Claude Code 플러그인 가이드

Claude Code용 Ponytail: 설치·설정·달라지는 점

Ponytail은 무료 MIT 라이선스 프롬프트로 Claude Code를 "제대로 동작하는 가장 작은 변경"으로 밀어붙입니다. 이 코드가 존재할 필요가 있는지, 저장소에 이미 있는지, 표준 라이브러리로 충분한지 확인한 다음에야 작성합니다. 설치 방법, 각 레벨의 동작, 그리고 관리자 본인의 벤치마크가 실제로 측정한 내용을 정리합니다.

Ponytail 한눈에 보기

  • 본체는 프롬프트 하나입니다. skills/ponytail/SKILL.md가 규칙의 전부이고, Claude Code 플러그인은 그 프롬프트를 매 세션 자동으로 불러오는 껍데기입니다.
  • 설치는 순서가 있는 두 개의 별도 프롬프트입니다: /plugin marketplace add DietrichGebert/ponytail, 그다음 /plugin install ponytail@ponytail.
  • 레벨은 lite·full(기본)·ultra 세 단계이며 /ponytail lite, /ponytail ultra로 바꾸고 /ponytail off로 끕니다.
  • "코드를 덜 쓰게"만 하는 게 아닙니다. /ponytail-review는 변경을, /ponytail-audit은 저장소 전체를 우선순위로, /ponytail-debt는 미뤄 둔 지름길을 장부로 모읍니다.

DietrichGebert/ponytail — README

출처GitHubchecked 2026-11-12

열기

skills/ponytail/SKILL.md — the prompt itself

출처GitHubchecked 2026-11-12

열기

INSTALL.md — per-agent install steps

출처GitHubchecked 2026-11-12

열기

skills/ponytail-help/SKILL.md — levels, band, defaults

출처GitHubchecked 2026-11-12

열기

benchmarks/results/2026-10-07-agentic.md

출처GitHubchecked 2026-11-12

열기

dsh-ponytail — DeepSeek Harness port (unofficial)

출처deepseekharnessplugins.comchecked 2026-11-12

열기

이 페이지의 명령, 레벨 이름, 설정 키, 숫자는 모두 2026-11-12에 업스트림 저장소에서 읽은 것입니다. 슬래시 명령은 의도적으로 번역하지 않았습니다. 번역된 명령은 실행되지 않습니다.

저장소 정보는 2026-11-12 GitHub API 기준: 스타 189,276, 포크 10,531, 생성 2026-06-12, 최신 릴리스 v5.3.3(공개 2026-10-29). 스타 수는 매일 바뀌므로 상수가 아니라 스냅샷으로 보세요.

Ponytail을 순서대로 설치하고 사용하기

  1. 1

    무엇을 설치하는지 먼저 알기

    Ponytail은 Dietrich Gebert가 MIT 라이선스로 github.com/DietrichGebert/ponytail에 공개한 코딩 에이전트용 규칙 세트입니다. 핵심은 프롬프트 파일 하나, skills/ponytail/SKILL.md입니다. 저장소의 나머지는 그 프롬프트를 특정 에이전트에 넣기 위한 장치입니다. Claude Code 플러그인은 항상 켜지는 경로로, 설치하면 매 세션 적용되고 상태 표시줄 배지와 /ponytail-* 명령이 추가됩니다.

    README는 분명히 말합니다. 사다리는 문제를 이해한 다음에 쓰는 것이지 이해를 대신하는 것이 아니라고. 해법에는 게을러도 되지만 코드를 읽는 일에는 게으르지 않습니다.

  2. 2

    사전 조건 확인

    /plugin 명령이 있는 Claude Code와 PATH에 있는 Node.js가 필요합니다. 플러그인은 작은 Node.js 라이프사이클 훅 두 개를 실행합니다. node가 없어도 스킬은 동작하지만, 훅이 호출될 때마다 무해한 node: command not found가 출력됩니다. Nix나 nvm 사용자라면 node가 대화형 셸뿐 아니라 비대화형 셸의 PATH에도 있어야 합니다.

    명령

    node --version

    /plugin이 인식되지 않으면 Claude Code가 오래된 것입니다. 먼저 업데이트하고 재시작하세요.

  3. 3

    마켓플레이스 추가(첫 번째 프롬프트)

    Claude Code 안에서 이걸 보냅니다. 저장소가 ponytail이라는 이름의 플러그인 마켓플레이스로 등록될 뿐, 아직 아무것도 설치되지 않습니다.

    명령

    /plugin marketplace add DietrichGebert/ponytail

    저장소에 .claude-plugin/marketplace.json이 포함되어 있어 owner/repo만으로 충분합니다. URL도 로컬 경로도 필요 없습니다.

  4. 4

    플러그인 설치(두 번째 프롬프트)

    이건 별도 프롬프트로 보내야 합니다. 형식은 plugin@marketplace이므로 ponytail@ponytail은 "ponytail 마켓플레이스에서 ponytail 플러그인을 설치"한다는 뜻입니다. INSTALL.md는 설치가 적용되려면 두 번에 나눠 보내야 한다고 명시합니다. 한 메시지로 합치는 것이 이 설치가 실패하는 가장 흔한 이유입니다.

    명령

    /plugin install ponytail@ponytail

    Claude Code 데스크톱 앱의 Code 탭에서도 같은 두 명령을 입력창에 넣거나, 입력창 옆 + → Plugins → Add plugin으로 설정된 마켓플레이스를 둘러볼 수 있습니다.

  5. 5

    실제로 켜졌는지 확인

    인자 없이 /ponytail을 실행합니다. 꺼져 있었다면 기본 레벨로 켜지고, 이미 켜져 있으면 현재 레벨을 보고합니다. 시작 문구와 레벨 변경 문구에도 현재 모드가 표시되고, 상태 표시줄 배지가 세션 내내 보여 줍니다.

    명령

    /ponytail

    빠른 동작 확인: 분명히 과잉 설계가 나올 만한 것, 예컨대 날짜 선택기를 요청해 보세요. 기존 Input 컴포넌트와 브라우저 기본 선택기를 먼저 찾는지 보면 됩니다.

  6. 6

    레벨 선택

    lite는 요청한 것만 만들고 더 작은 선택지를 한 줄로 알려 결정을 맡깁니다. full이 기본으로, 사다리를 쓰고 로직에 필요한 곳에 작은 테스트를 남기며 답변에서 건너뛴 것을 밝힙니다. ultra는 착수 전에 요청 자체에 이의를 제기합니다. 레벨은 바꾸거나 세션이 끝날 때까지 유지됩니다.

    명령

    /ponytail lite/ponytail full/ponytail ultra/ponytail off

    다른 종료 경로 두 가지: stop ponytail 또는 normal mode라고 말하거나 /ponytail off를 실행합니다.

  7. 7

    같은 규칙으로 변경 리뷰하기

    /ponytail-review는 린터가 아닙니다. diff만이 아니라 변경이 건드리는 코드를 읽고, 이 순서로 보고합니다: 정확성, 안전성, 실제 부하에서 버티는지, 테스트 유무, 속도, 군더더기. 모든 지적은 코드가 무엇을 하는지, 무엇이 깨지는지, 어떻게 고치는지, 고치지 않으면 어떻게 되는지까지 적어야 합니다. 범위를 좁히거나 넓히려면 대상만 평범한 말로 지정하면 됩니다.

    명령

    /ponytail-review/ponytail-review staged/ponytail-review branch

    대상을 지정하지 않으면 커밋되지 않은 변경을, 그것도 없으면 마지막 커밋을 리뷰합니다.

  8. 8

    저장소 전체 감사와 부채 수거

    /ponytail-audit은 같은 검사를 저장소 전체에 돌립니다. 먼저 진입점과 데이터 흐름을 파악하고, 가정한 부하 수준을 밝힌 뒤, 지적을 우선순위로 정렬합니다. /ponytail-debt는 에이전트가 의도적으로 남긴 shortcut: 주석을 장부로 모아, "나중에"가 조용히 "영원히 안 함"이 되지 않게 합니다.

    명령

    /ponytail-audit/ponytail-debt

    주석 형식은 고정입니다: shortcut: <한계는 무엇인지>, <언제 업그레이드할지>. 형식이 고정되어야 수거가 가능합니다.

  9. 9

    기본값 설정과 업데이트 유지

    새 세션의 시작 레벨을 바꾸는 방법은 두 가지입니다. 환경 변수 PONYTAIL_DEFAULT_MODE 또는 ~/.config/ponytail/config.json의 defaultMode 필드. 우선순위는 환경 변수, 설정 파일, full 순입니다. 업데이트는 /plugin → Marketplaces → ponytail에서 자동 업데이트를 한 번 켜거나, 수동으로 갱신한 뒤 리로드합니다.

    명령

    export PONYTAIL_DEFAULT_MODE=ultra/plugin marketplace update ponytail/reload-plugins

    제거하려면 플러그인에 포함된 node scripts/uninstall.js를 먼저 실행하고, 그다음 /plugin remove ponytail. 스크립트 자체가 플러그인 파일이라 플러그인을 먼저 지우면 실행할 수 없습니다.

사다리: Ponytail이 실제로 바꾸는 것

행동 변화의 전부는 하나의 의사결정 사다리입니다. 코드를 쓰기 전에 완전히 통하는 첫 단에서 멈춥니다.

  • 1존재할 필요가 있는가? 아무도 요청하지 않은 기능·옵션·유연성은 건너뛰고 한 줄로 밝힙니다. 모호한 "X 만들어 줘"에는 핵심만 하는 최소 버전을 냅니다.
  • 2이 코드베이스에 이미 있는가? 헬퍼, 컴포넌트, 서비스, 기존 패턴. 주변 코드와 같은 방식으로 씁니다.
  • 3표준 라이브러리나 플랫폼 기능으로 되는가? 됩니다. 다만 프로젝트 자체 컴포넌트가 네이티브 위젯보다 적절하면 그것을 씁니다.
  • 4이미 설치된 의존성에 있는가? 씁니다. 몇 줄 때문에 의존성을 추가하지 않습니다.
  • 5한 줄로 읽히게 쓸 수 있는가? 한 줄로 씁니다.
  • 6아무것도 해당하지 않으면: 동작하는 최소 코드. 분기·루프·파서·돈·보안이 들어가면 작은 테스트나 assert 기반 자체 점검을 하나 남깁니다.

절대 줄이지 않는 것

규칙은 "최대한 적게 쓰기"가 아니라 "작업에 필요한 만큼만 쓰기"입니다. 프롬프트는 레벨과 무관하게 남기는 다섯 가지를 명시합니다.

  • 신뢰 경계에서의 검증.
  • 데이터 손실을 막는 오류 처리.
  • 보안.
  • 접근성.
  • 사용자가 명시적으로 요청한 것, 그리고 실제 하드웨어에 필요한 보정.

변화의 나머지 절반은 답변입니다. 모든 답변은 마지막에 한두 줄로 무엇을 건너뛰었는지, 무엇을 확인하지 않았는지, 알아야 할 위험이 있는지를 적습니다. 그래서 작은 diff가 의심스럽지 않고 리뷰 가능해 보입니다.

명령 전체와 각각의 역할

Ponytail은 명령을 여덟 개 추가합니다. "글쓰기 스타일 정도"라고 생각하고 설치한 사람이 놓치는 건 뒤쪽 네 개입니다.

  • /ponytail [lite | full | ultra | off]강도 설정 또는 해제. 인자가 없으면 꺼져 있을 때 기본 레벨로 켜고, 켜져 있으면 현재 레벨을 보고합니다.
  • /ponytail band [on | off]Claude Code 전용: 프롬프트 위 밴드를 숨기거나 표시합니다. 인자가 없으면 토글이며 레벨은 그대로입니다.
  • /ponytail band importClaude Code 전용: 지난 Claude Code 세션을 비용·에이전트 시간·토큰과 함께 로컬 보드에 추가합니다.
  • /ponytail-review운영에서 터지면 호출되는 선임처럼 현재 변경을 리뷰합니다: 버그, 보안, 실제 부하, 테스트 없는 위험한 코드, 느린 경로, 줄일 곳. uncommitted, staged, branch, PR 링크처럼 평범한 말로 대상을 지정할 수 있습니다.
  • /ponytail-audit같은 검사를 저장소 전체에, 중요도 순으로.
  • /ponytail-debt미뤄 둔 shortcut: 주석을 장부로 모아 "나중에"가 "영원히 안 함"이 되지 않게 합니다.
  • /ponytail-gain관리자 벤치마크의 실측 영향 점수판을 보여 줍니다.
  • /ponytail-help레벨·스킬·명령을 한 번만 보여 주는 참조 카드. 모드를 바꾸지 않고 아무것도 저장하지 않습니다.

다른 에이전트와 DeepSeek Harness 포팅

프롬프트는 이식 가능하며 저장소에는 여러 호스트용 어댑터가 들어 있습니다. 가장 중요한 세 가지:

  • 1Codex: codex plugin marketplace add DietrichGebert/ponytail, 이어서 codex plugin add ponytail@ponytail. 그다음 Codex에서 /hooks를 열어 라이프사이클 훅 두 개를 신뢰하고 새 스레드를 시작합니다. Codex에서는 명령이 네임스페이스 스킬이라 $ponytail:ponytail-review처럼 호출합니다.
  • 2Cursor: 저장소를 git clone한 뒤 node ponytail/scripts/cursor-hooks.js install을 실행합니다. 네이티브 훅 두 개를 ~/.cursor/hooks.json에 병합하고 기존 훅은 그대로 둡니다. 레벨은 /ponytail lite 같은 일반 메시지로 바꿉니다. Cursor의 subagentStart는 컨텍스트를 주입할 수 없어 서브에이전트에는 규칙이 전달되지 않습니다.
  • 3그 밖의 에이전트: npx skills add DietrichGebert/ponytail로 여섯 스킬을 해당 에이전트의 스킬 폴더에 복사합니다. AGENTS.md를 프로젝트에 넣으면 플러그인 없이 상시 규칙만 얻을 수 있습니다.
  • 4DeepSeek Harness 사용자에게는 비공식 포팅 dsh-ponytail이 있고, 그 스킬도 같은 저장소에서 MIT로 각색한 것입니다. 제3자의 각색이지 Dietrich Gebert의 배포물이 아니므로 동작 책임은 포팅한 쪽에 있습니다.
dsh-ponytail 페이지 열기

공개된 숫자와 읽는 방법

README는 시작부터 큰 감소율을 내세웁니다. 모두 저장소 안의 한 파일 benchmarks/results/2026-10-07-agentic.md에서 나왔고, 같은 조건을 가리킵니다: 헤드리스 Claude Code, Opus 5.5, 기본 effort, Claude Code CLI 2.1.288, 작업 39개, 작업·그룹당 5회, 총 585 세션. 여기서 독립 재현을 주장하지는 않습니다.

  • 1코드 줄 수: 스킬 없음 대비 -53%, 95% 부트스트랩 구간 -63%에서 -41%. 출력 토큰 -45%, 비용 -26%, 시간 -41%.
  • 2정확성은 그대로입니다. 숨은 검사가 있는 작업 18개에서 Ponytail 5는 90회 중 87회 통과, 스킬 없음은 86회. 보안 작업 6개에서는 세 그룹 모두 30회 전부 통과.
  • 3테스트는 줄지 않고 늘었습니다. 테스트가 필요한 곳에 테스트를 남긴 비율 98%(스킬 없음 68%), 에이전트 자체 테스트가 주입한 버그를 잡은 비율 66%(스킬 없음 46%).
  • 4답변은 블라인드 비교에서 더 선호되었습니다. 이전 버전 대비 110 대 67이며, 리뷰어가 알아야 할 것을 전달하는지를 기준으로 판정했습니다.
  • 5작업 구성이 중요합니다. 실제 FastAPI + React 저장소의 기능 티켓 12개, 숨은 검사가 있는 정밀 작업 18개, "작은 앱 만들어 줘" 6개, "예시 보여 줘" 3개. 모든 그룹에서 Bash를 껐으므로 측정하는 것은 에이전트가 쓰는 코드이지 디버깅 능력이 아닙니다.

이 숫자들은 "관리자가 자기 작업 세트로 자기 도구를 측정한 결과"로 읽으세요. 작업별 표, 신뢰 구간, 초기 하네스의 격리 결함에 대한 주석까지 갖춘 꼼꼼한 벤치마크지만, 제3자 감사도 아니고 당신의 저장소에서 같은 비율이 나온다는 보장도 없습니다.

설치 전에 알아 둘 한계

Ponytail은 프롬프트입니다. 강제하는 장치는 없고, 팀 저장소에 들어가기 전에 짚어 둘 점이 몇 가지 있습니다.

  • 1Anthropic 제품이 아닌 제3자 프로젝트입니다. MIT 라이선스에 한 사람이 유지하며, README는 .exe나 .dll을 포함하지 않는다고, 포함한 사본은 본인 배포물이 아니라고 경고합니다.
  • 2게이트가 아니라 안내입니다. 모델은 여전히 과잉 설계할 수 있고, 최소 해법이 애초에 뻔한 작업에서는 차이가 거의 없습니다. 사다리가 값을 하는 곳은 에이전트가 원래라면 스스로 구조를 만들었을 작업입니다.
  • 3밴드와 보드는 Claude Code 전용이며 Claude Code 2.1.290 이상이 필요합니다. VS Code 채팅 패널, 클라우드 세션, claude -p에서는 보이지 않습니다. 세션 데이터는 기본적으로 ~/.config/ponytail/band/에 로컬 저장되고, 선택 사항인 webhook을 직접 설정하지 않는 한 외부로 나가지 않습니다.
  • 4호스트에 따라 기능이 빠집니다. 라이프사이클 훅이 없는 호스트(Gemini CLI, Qwen, Antigravity, Goose)는 레벨이 세션 간 유지되지 않고, Cursor 서브에이전트는 규칙을 받지 못하며, 규칙 파일만 쓰는 어댑터에는 명령이 없습니다.
  • 5플러그인 폴더 밖에 상태를 남깁니다. 모드 플래그, ~/.config/ponytail/config.json, 상태 표시줄 스크립트 사본, 경우에 따라 ~/.claude/settings.json의 statusLine 항목. 플러그인만 지우면 배지는 마지막 모드를 계속 보여 줍니다.

그래서 설치하지 말라는 뜻은 아닙니다. 자기 저장소의 실제 작업으로 한 번 써 보고, 처음 몇 번은 diff를 직접 읽어 얼마나 줄이는지 감을 잡은 뒤 팀에 퍼뜨리라는 뜻입니다.

Ponytail FAQ

더 살펴보기