ワンクリックで
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까지 돌려볼까요?"