بنقرة واحدة
skill-creator
Pi 스킬을 생성·수정하거나 SKILL.md, description·트리거, progressive disclosure, eval을 설계·검증할 때 사용한다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Pi 스킬을 생성·수정하거나 SKILL.md, description·트리거, progressive disclosure, eval을 설계·검증할 때 사용한다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
기존 user/project 메모리의 중복·노후 항목을 검토, 통합, 정리할 때 사용한다. 사용자 확인 없이 메모리를 삭제하지 않는다.
서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다.
코딩·조사 작업을 별도 Picky Pickle에 위임할 때 사용한다. worktree 준비, 지침 작성, Pickle 생성·후속 관리를 수행한다.
Context7 CLI(`ctx7`)로 라이브러리·프레임워크 공식 문서와 API 예시를 조회할 때 사용한다.
새 기능, 큰 변경, 아키텍처 결정 전에 구현보다 설계를 먼저 확정할 때 사용한다.
장기·병렬·대규모 작업을 서브에이전트로 분해·실행·검증하거나 동적 workflow를 설계할 때 사용한다.
| name | skill-creator |
| description | Pi 스킬을 생성·수정하거나 SKILL.md, description·트리거, progressive disclosure, eval을 설계·검증할 때 사용한다. |
Pi 환경에서 Agent Skills 표준을 따르는 스킬을 만들고, 작게 검증하고, 피드백으로 반복 개선한다. Anthropic의 skill-creator에서 가져온 핵심 루프(의도 파악 → 초안 → 테스트 프롬프트 → 평가 → 개선)를 Pi 도구와 로컬 스킬 구조에 맞게 적용한다.
claude -p, Anthropic eval viewer 스크립트를 전제로 하지 않는다. Pi CLI, read/write/edit/bash, 필요 시 subagent, ask_user_question, todo_write를 사용한다.SKILL.md는 Agent Skills 표준의 YAML frontmatter + Markdown 본문을 따른다. 단 Pi는 표준 일부를 의도적으로 완화한다(아래 "Pi vs 표준" 참고). 충돌 시 Pi 동작을 따른다.description은 정확하고 트리거 친화적으로, 본문은 500줄 미만을 목표로, 긴 자료는 references/, 반복 가능한 작업은 scripts/, 템플릿은 assets/에 둔다.evals/evals.json도 만든다.description이 없으면 Pi는 스킬을 아예 로딩하지 않는다. 다른 위반은 대부분 warning만 내고 로딩은 된다.사용자가 스킬을 만들고 싶다
├─ 의도/트리거/출력 형식이 충분히 명확함 → 초안 작성
├─ 일부만 명확함 → 대화 기록에서 추출 후 빈칸만 질문
└─ 모호함 → ask_user_question으로 목적, 트리거, 산출물, 평가 필요 여부를 한 번에 확인
사용자가 기존 스킬을 고치고 싶다
├─ 경로 제공됨 → 해당 SKILL.md와 주변 resources 읽기
└─ 경로 없음 → 후보 검색 후 확인
사용자가 스킬 성능/트리거를 개선하고 싶다
├─ 현재 description 분석
├─ should-trigger / should-not-trigger 쿼리 작성
└─ 필요하면 Pi CLI 또는 subagent로 소규모 eval 실행
/usr/local/lib/node_modules/@earendil-works/pi-coding-agent/docs/skills.md/usr/local/lib/node_modules/@earendil-works/pi-coding-agent/docs/usage.md, README.mdnpm root -g로 확인한다.~/.pi/agent/skills/, ~/.agents/skills/, 프로젝트의 .pi/skills/, .agents/skills/를 살펴본다.ask_user_question으로 한 번에 묻는다. 단, 이미 충분히 명확하면 묻지 말고 진행한다.로딩 위치(Pi가 자동 스캔):
~/.pi/agent/skills/~/.agents/skills/<repo>/.pi/skills/<repo>/.agents/skills/ — cwd부터 git 루트(또는 fs 루트)까지 상향 탐색package.json의 pi.skills 또는 패키지 내 skills/.pi/settings.json의 "skills" 배열, pi --skill <path>(반복 가능, --no-skills와도 합산)탐색 디테일:
~/.pi/agent/skills/, .pi/skills/에서는 루트의 단일 .md 파일도 스킬로 인식된다(디렉터리 없이 한 파일짜리 스킬 가능).~/.agents/skills/, .agents/skills/에서는 루트의 .md는 무시되고 SKILL.md가 있는 디렉터리만 인식된다.rg --files -g 'SKILL.md' ~/.pi/agent/skills ~/.agents/skills .pi/skills .agents/skills 2>/dev/null 정도로 확인.다른 하네스(Claude Code, Codex)의 스킬을 가져와 쓰려면 .pi/settings.json(또는 ~/.pi/settings.json)에 추가:
{ "skills": ["~/.claude/skills", "~/.codex/skills"] }
이름 규칙(Pi 적용분):
name을 동일하게 두는 것을 권장한다(Agent Skills 표준 요구). 단 Pi는 강제하지 않으므로, cross-harness 공유 디렉터리에서 의도적으로 다르게 두어도 로딩된다.ship, systematic-debugging, airtable-reporting복잡한 스킬이면 작성 전에 짧게 설계를 보여준다.
스킬 설계안:
- 이름/위치: ...
- 트리거: ...
- 핵심 workflow: ...
- resources: scripts/... references/... assets/...
- 검증 방법: ...
간단한 스킬이면 설계 문단을 내부 체크리스트로 처리하고 바로 초안을 작성해도 된다.
프론트매터(최소):
---
name: my-skill
description: 무엇을 하고 언제 사용해야 하는지 구체적으로 쓴다. 사용자의 실제 표현과 관련 키워드를 포함한다.
---
Pi가 인식하는 선택 필드:
| 필드 | 용도 |
|---|---|
license | 라이선스 이름 또는 번들된 파일 참조 |
compatibility | 환경 요구사항(최대 500자) |
metadata | 자유 key-value(에이전트가 무시해도 됨) |
allowed-tools | 공백 구분 사전 승인 툴 목록(experimental) |
disable-model-invocation | true면 시스템 프롬프트에서 숨김. 자동 트리거 금지, /skill:name으로만 호출 가능 |
자동 트리거가 위험하거나 사용자 명시 호출만 허용해야 하는 스킬(파괴적 동작, 외부 전송, 비용 큰 작업)은 disable-model-invocation: true로 두는 것을 검토한다.
argument-hint 같은 Claude Code 전용 필드는 Pi가 인식하지 않으므로 넣지 않는다. 알려지지 않은 필드는 Pi가 조용히 무시한다.
본문 권장 구조:
# my-skill
한 문단 요약.
## 핵심 원칙
- 왜 이 절차가 중요한지 설명한다.
## Workflow
### 1. ...
### 2. ...
## Tool guidance
- 어떤 상황에서 어떤 Pi 도구를 쓸지 적는다.
## Output format
사용자가 기대하는 최종 응답/파일 형식을 명시한다.
## Validation
완료 전에 확인할 명령과 체크리스트를 적는다.
## Edge cases
흔한 실패/예외와 대응을 적는다.
작성 팁:
description에는 "무엇"과 "언제"를 모두 넣는다. 자동 트리거는 이 필드에 크게 의존한다. 빠지면 Pi는 스킬 자체를 로딩하지 않는다.references/로 분리한 뒤 언제 읽어야 하는지 명시한다.scripts/로 옮겨 매번 재발명하지 않게 한다.references/checklist.md, scripts/validate_skill.py. 절대경로(/Users/...)는 다른 사용자/머신에서 깨지므로 피한다./skill:name 강제 호출Pi에서 사용자는 /skill:<name> 슬래시 명령으로 스킬을 명시 호출할 수 있다. 명령 뒤 인자는 User: <args> 형태로 스킬 본문 끝에 append된다.
/skill:my-skill input.pdf --pages 1-3
/skill:<name>으로 호출하세요" 같은 안내를 둔다.disable-model-invocation: true인 스킬은 이 경로로만 호출된다.enableSkillCommands: false로 비활성화 가능.사용자가 평가를 원하거나 객관 결과가 중요한 스킬이면 아래를 적용한다.
evals/evals.json을 만든다.
assertions를 추가한다.assets/evals-template.json을 참고한다.~/.pi/agent/skills/<skill-name>-workspace/iteration-1/...# with skill
pi --no-skills --skill /path/to/skill -p "<eval prompt>"
# baseline
pi --no-skills -p "<same eval prompt>"
interactive_shell 스킬/도구 지침을 따른다.subagent를 사용한다. subagent를 쓰면 먼저 subagent help로 인터페이스를 확인하고, 같은 eval의 with-skill/baseline을 가능하면 batch로 띄운다.scripts/나 references/로 구조화할 수 있는지 본다.트리거 정확도를 개선할 때:
스킬 작성/수정 후 반드시 아래를 확인한다.
python3 ~/.pi/agent/skills/skill-creator/scripts/validate_skill.py /path/to/skill
검증 스크립트는 다음을 본다(요약):
SKILL.md 존재, frontmatter 형식, name/description 유무, name 글자 규칙, 길이 제한name과 디렉터리명 불일치(Pi 허용, 표준 위반), description이 너무 짧음, 500줄 초과, 본문 내 깨진 상대 경로 참조, 절대 경로 사용, allowed-tools 형식, 알려지지 않은 frontmatter 필드추가 사람 검토:
references/로 분리했는가/reload 또는 새 세션을 시작해야 한다는 점을 안내했는가pi --no-skills --skill /path/to/skill -p "<쿼리>"로 재현 가능한지 확인최종 응답은 짧게:
완료했습니다.
- 생성/수정: `path/to/SKILL.md`, ...
- 검증: `python3 .../validate_skill.py ...` 통과
- 참고: Pi 스킬 문서 / Agent Skills 표준 기준 반영
사용자에게 다음 행동이 필요하면 한 줄로만 묻는다. 예: "트리거 eval까지 돌려볼까요?"