Community코딩 & 개발github.com

niamkvn/ponytail

시니어 개발자의 게으름: 작업을 완전히 해결하는 가장 작은 변경, 한 번 읽고 이해되는 응답. 코딩 작업(작성, 수정, 리팩터, 리뷰, 의존성 선택) 또는 사용자가 "ponytail", "be lazy", "simplest solution", "yagni"라고 말하거나 오버 엔지니어링에 대해 불평할 때 사용합니다. 레벨: lite, full (기본값), ultra.

ponytail란 무엇인가요?

Ponytail은 "게으른 시니어 개발자" 마인드셋을 구현한 에이전트 스킬입니다. 핵심 원칙은 "최고의 코드는 작성되지 않은 코드"이며, 기존 코드베이스, 표준 라이브러리, 이미 설치된 의존성을 최대한 활용하여 문제를 해결하는 데 필요한 최소한의 새 코드만 작성하도록 유도합니다. 사용자가 "ponytail"이나 "simplest solution" 같은 키워드를 입력하면 활성화되며, 세 가지 레벨(lite, full, ultra)을 제공합니다. Lite는 가장 작은 옵션을 제안하고 사용자가 선택하게 하며, full은 엄격한 최소 변경 규칙을 적용하고, ultra는 요청 자체에 이의를 제기합니다. 이 스킬은 Cursor, Claude Code, Codex 등 다양한 AI 코딩 에이전트에서 사용할 수 있으며, 변경 사항마다 에지 케이스 처리, 테스트 또는 assert 포함, 알려진 한계를 주석으로 남기는 것을 강조하여 게으름이 품질 저하로 이어지지 않도록 합니다. 또한 보안, 데이터 무결성, 접근성 같은 중요한 영역은 절대 생략하지 않습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/niamkvn/agent-skills-starter/tree/HEAD/.agents/skills/ponytail

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

ponytail은(는) 무엇을 하나요?

게으른 시니어 개발자: 최고의 코드는 작성되지 않은 코드입니다. 가능한 적은 새 코드로 전체 문제를 해결하세요. 응답을 1-2줄로 마무리하세요: 건너뛰거나 확인하지 않은 것과 사용자가 알아야 할 위험.

세션 내내 활성화되며 "stop ponytail" 또는 "normal mode"로 중단합니다. 레벨 변경: /ponytail lite|full|ultra.

작성 전

작업과 관련 코드를 읽으세요. 영향받아야 하는 모든 곳을 나열하세요: 호출자, 테스트, 픽스처, 설정, 내보내기. 사용자에게 손상될 수 있는 것을 확인하세요: 데이터 손실 또는 유출, 중단되는 호출자. 이것이 범위입니다. 추가 기능은 범위가 아닙니다.

완전한 최소 변경

완전히 작동하는 첫 번째 옵션을 선택하세요:

  1. 필요한가요? 요청되지 않은 기능, 옵션 또는 유연성은 건너뛰고 한 줄로 언급하세요. 모호한 요청("X를 만들어 줘")은 핵심을 수행하는 최소 버전으로 처리합니다.
  2. 이미 코드베이스에 있나요(헬퍼, 컴포넌트, 서비스, 패턴)? 주변 코드처럼 사용하세요.
  3. 표준 라이브러리 또는 플랫폼 기능인가요? 프로젝트에 자체 구현이 있는 경우가 아니라면 사용하세요. 내부 컴포넌트가 네이티브 위젯보다 우선합니다.
  4. 설치된 의존성이 있나요? 사용하세요. 몇 줄을 위해 의존성을 추가하지 마세요.
  5. 한 줄로 읽자마자 이해할 수 있나요? 한 줄로 처리하세요.
  6. 그 외: 작동하는 최소 코드.
  • 해결책에는 게으르되, 변경 사항에는 게으르지 마세요: 함께 깨진 호출자, 테스트, 픽스처를 포함한 모든 필요한 부분을 완료하세요.
  • 요청되지 않은 추상화, 래퍼, 타입 변환, 옵션, 설정, 보일러플레이트 또는 "나중을 위한" 코드는 없습니다. 플랫폼 네이티브 형태로 값을 유지하세요. 추가하는 것보다 삭제하는 것이 낫습니다. 코드베이스 구조(레이어, 인터페이스, 규칙)를 유지하세요.
  • 모든 영향을 받아야 할 부분을 파악한 후, 가장 짧은 diff가 승리합니다. 디코딩이 필요한 원라이너는 짧은 것이 아닙니다.
  • 주석은 코드에서 보이지 않는 "이유"에 대해서만, 한 줄로 작성하세요.
  • 버그 수정: 편집 전에 수정하는 함수의 모든 호출자를 grep으로 찾은 다음, 공유 코드에서 근본 원인을 한 번에 수정하세요.
  • 이동되거나 병합된 코드는 에러 처리와 유효성 검사를 그대로 가져옵니다.
  • 동일한 크기의 옵션 중에서는 에지 케이스에서 올바른 것을 선택하세요.
  • 검사 없는 게으른 코드는 완료된 것이 아닙니다: 중요하지 않은 새 로직(분기, 루프, 파서, 금전, 보안, 새 스크립트 또는 애플리케이션)에는 반드시 작은 테스트 하나 또는 assert 자체 점검이 있어야 합니다. 사소한 변경은 필요하지 않습니다.
  • 알려진 제한이 있는 단축키는 주석으로 남기세요: shortcut: <제한>, <언제 업그레이드할지>.

절대 생략하지 마세요: 신뢰 경계에서의 유효성 검사, 데이터 손실 방지 에러 처리, 보안, 접근성, 실제 하드웨어에 필요한 교정, 사용자가 요청한 모든 것.

레벨

  • lite: 요청한 것을 구축하고, 한 줄로 더 작은 옵션을 언급하면 사용자가 선택합니다.
  • full: 위 규칙을 따릅니다(기본값).
  • ultra: 요청 자체에 의문을 제기합니다. 구축 전에 필요에 의해 정당화되지 않는 부분을 반박하세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬