이 스킬은 파일을 쓴다
한 문장짜리 아이디어를 받아, 검증을 통과하고 패키징까지 끝난 스킬 디렉터리
(SKILL.md + 필요하면 lib/ references/ evals/,
그리고 배포용 <name>.skill)를 산출한다.
한 문장짜리 아이디어를 받아, 검증을 통과하고 패키징까지 끝난 스킬 디렉터리를 산출하는 저작(authoring) 스킬.
인터뷰 → 초안 → eval 루프 → description 튜닝 → 패키징 → 품질 게이트가 한 흐름으로 이어진다.
한 문장짜리 아이디어를 받아, 검증을 통과하고 패키징까지 끝난 스킬 디렉터리
(SKILL.md + 필요하면 lib/ references/ evals/,
그리고 배포용 <name>.skill)를 산출한다.
핵심 설계는 executable-first gate다. 결정적이고 반복적인 절차 — 파일 생성/변환,
반복 CLI 호출, 다단계 폴백, 파싱·검증·집계 — 는 산문이 아니라 lib/로 내려가고,
산문에는 판단과 근거, 결과 해석, 사용자 커뮤니케이션만 남는다.
이 저장소의 세 저작 스킬 중 유일하게 새로 만드는 쪽이다.
/authoring:skill-check. 19개 항목 감사이고 읽기 전용이다.SKILL.md를 줄이고 싶을 때 → /authoring:skill-refactor. 기존 파일을 references/로 쪼개는 전용 도구다. 다만 이 스킬의 Phase 8은 그 리팩터링을 스스로 호출한다./authoring:sh-check, AI 컨텍스트 문서(CLAUDE.md / AGENTS.md / GEMINI.md)는 애초에 대상이 아니다.슬래시 인자는 아래가 전부다.
/authoring:skill-create # 대화형 — 의도 파악부터 시작 /authoring:skill-create "<idea>" # 짧은 아이디어/주제로 시드 /authoring:skill-create -h|--help|help # references/help.md 출력 후 중단
실제 옵션은 각 단계에서 부르는 헬퍼 스크립트에 있고, 모두 skills/skill-create/
디렉터리에서 실행한다.
붉은 항목은 필수 인자, 괄호 안 숫자는 기본값.
| 스크립트 | 호출 형태 / 주요 인자 |
|---|---|
| scripts/quick_validate.py | python quick_validate.py <skill_dir> — 인자 1개 고정. frontmatter 검증, 유효하면 exit 0 |
| scripts/package_skill.py | python -m scripts.package_skill <skill_dir> [output_dir] — 위치 인자만, 검증 후 zip |
| scripts/run_eval.py | --eval-set --skill-path (필수), --description --num-workers(10) --timeout(30) --runs-per-query(3) --trigger-threshold(0.5) --model --verbose |
| scripts/run_loop.py | --eval-set --skill-path --model (필수), --max-iterations(5) --runs-per-query --timeout --num-workers --trigger-threshold --verbose |
| scripts/improve_description.py | --eval-results --skill-path --model (필수), --history --verbose |
| scripts/generate_report.py | <input.json> 위치 인자(-는 stdin), -o/--output --skill-name |
| scripts/aggregate_benchmark.py | <benchmark_dir> 위치 인자, --skill-name --skill-path |
| eval-viewer/generate_review.py | <workspace> 위치 인자, -p/--port(3117) -n/--skill-name, --benchmark --previous-workspace --static |
agents/{grader,comparator,analyzer}.md는 스크립트가 아니라 서브에이전트 프롬프트다 —
각각 assertion 채점, 블라인드 A/B 비교, 승자 분석을 맡는다.
Phase 1 → Phase 8 순서로 한 흐름이 이어진다.
references/skill-writing-guide.md가 해부도, progressive disclosure, frontmatter 필드,
description 예산(250자 이하), 테스트 케이스 형식을 담는다.
references/eval-pipeline.md의 파이프라인: 케이스마다 with-skill / baseline 두 서브에이전트를
같은 턴에 띄우고, 도는 동안 assertion을 쓰고, 완료 알림의 total_tokens/duration_ms를
즉시 timing.json에 남긴다(이때가 유일한 기회다). 채점 → aggregate_benchmark →
애널리스트 패스 → 뷰어 순이며, 뷰어는 직접 평가하기 전에 띄운다.
references/improvement-philosophy.md. 몇 개 예제에 과적합하지 말 것, 프롬프트를 군살 없이
유지할 것, 대문자 MUST 대신 이유를 설명할 것, 그리고 여러 테스트가 똑같은 헬퍼를 각자 짜고
있으면 그건 lib/로 올리라는 신호다.
assets/eval_review.html로
사용자 검토를 받고, run_loop로 train 60% / held-out test 40% 분할 루프를 돌려
test 점수 기준 best_description을 고른다.
python -m scripts.package_skill <path>로 .skill 파일을 만들고 경로를 알려준다
(루트 evals/는 아카이브에서 제외된다).
SKILL.md에 /authoring:skill-check를 돌리고,
FAIL이나 WARN이 하나라도 있으면
즉시 /authoring:skill-refactor로 100줄 아래로 내린 뒤 before/after 라인 수를 보고한다.
읽기 전용 스킬과 안전 계약이 다르다는 점이 가장 중요하다.
SKILL.md, lib/, evals/, .skill 아카이브를 만든다. 읽기 전용인 skill-check / sh-check와 안전 계약이 다르다.quick_validate.py는 pyyaml을, package_skill.py는 scripts. 패키지 임포트를 써서 스킬 디렉터리에서 python -m scripts.package_skill 형태로 돌려야 한다.lib/로 내린다.package_skill이 실패했는데 조용히 다음 단계로 넘어가지 않는다.references/platform-instructions.md: Claude.ai에는 서브에이전트가 없어 baseline 실행과 description 최적화(claude -p 필요)를 건너뛴다.