01한 줄 요약

SKILL.md 파일 하나를 19개 기준으로 감사해 감사 리포트(문서) 를 만들어 낸다.

대상 파일을 고치지 않는다 — 산출물은 수정된 스킬이 아니라 PASS WARN FAIL N/A 판정표와 Score, Verdict, Next Actions 로 이루어진 리포트 한 벌이다.

02언제 쓰고 언제 안 쓰는가

상황쓸 스킬이유
SKILL.md 품질을 점검만 하고 싶다 skill-check read-only 감사, 리포트만 생성
점검 결과 100줄 초과 · 구조 문제를 실제로 고쳐야 한다 skill-refactor 이쪽이 references/ 로 내용을 빼내며 파일을 쓴다
대상이 *.sh 셸 스크립트다 sh-check 10개 기준의 셸 전용 감사
대상이 AGENTS.md / CLAUDE.md / GEMINI.md 다 harness:ai-context frontmatter 의 negative trigger 가 명시
새 스킬을 처음부터 만든다 skill-create 그 절차의 10번째 단계에서 skill-check 를 품질 게이트로 호출한다

경계 요약

  • skill-check 는 감사만, skill-refactor 는 같은 문제를 다시 쓴다. skill-refactor 는 작업을 마치면 Next: /authoring:skill-check <path> 로 되돌려 보낸다.
  • skill-create 는 새 스킬을 저술하고, 마지막에 /authoring:skill-check 를 돌려 FAIL / WARN 이 나오면 곧바로 /authoring:skill-refactor 를 부른다.
  • sh-check 는 이 스킬의 셸 스크립트판 거울(mirror)이다. 대상 확장자로 갈린다.

03호출 형식과 인자/옵션

/authoring:skill-check [path/to/SKILL.md | plugin:skill] [--issue] [--deep-subskills]
/authoring:skill-check -d <dir> | -r <git-url> | -R <root> [--no-issue] [-y]

references/help.md 가 인자/옵션의 SSOT 다.

인자/옵션설명기본값
[path | skill-name] 감사할 SKILL.md, 스킬 디렉터리, 또는 plugin:skill / skill 생략 시 현재 디렉터리부터 SKILL.md 탐색
-d, --dir <dir>디렉터리(레포) 아래 모든 스킬—
-r, --repo <git-url>URL 을 임시로 shallow clone 해서 모든 스킬 감사—
-R, --recursive <root><root> 직속 하위의 모든 git 레포—
--issue단일 모드에서 이슈 등록 opt-inoff
--no-issue일괄 모드에서 이슈 등록 끄기 (작업 트리 감사, read-only)일괄 모드는 on
-y, --yesIssue Plan 확인 생략 (무인 실행)off
--deep-subskills 합성 스킬(composite)의 Sub-skill Model Plan 을 기본 1-depth 보다 깊게 순회 (이전 --recursive) off
help 이 도움말을 그대로 출력하고 중단. 검사 미실행 —

예시

/authoring:skill-check
/authoring:skill-check skills/my-skill/SKILL.md
/authoring:skill-check gh-flow:wave
/authoring:skill-check skills/my-composite-skill/SKILL.md --deep-subskills
/authoring:skill-check -d ~/src/my-skills/ --no-issue
/authoring:skill-check -R ~/src/
/authoring:skill-check help

04동작 단계 요약

SKILL.md 가 정의한 실제 흐름은 Help 분기 + 5단계다.

  1. Help — 인자가 help 이면 references/help.md 를 그대로 출력하고 종료.
  2. Step 0: Parse Arguments — lib/skill_scan.sh args 가 모드(single/dir/repo/recursive)와 이슈 등록 여부를 정한다. 인자 오류와 이전 형식 <path> --recursive 는 exit 2.
  3. Step 1: Locate the Files — 단일 모드는 경로나 스킬 이름(skill_scan.sh resolve), 일괄 모드는 skill_scan.sh scan 이 감사 목록을 만든다(references/batch-mode.md).
  4. Step 2: Run Nineteen Checks — references/checks.md 의 19개 정의를 읽고 검사마다 PASS WARN FAIL N/A 를 하나씩 배정한다.
  5. Step 3: Output the Report — references/report-template.md 의 형식 그대로 출력. 일괄 모드는 Batch Summary 와 Issue Plan 표.
  6. Step 4: File Issues — 일괄 모드(또는 단일 --issue)에서만. references/issue-filing.md.

19개 검사 그룹

그룹번호항목
Structure 1–5 Line Count · Progressive Disclosure · Frontmatter Validity · References Directory · Output Report
UX Quality 6–12 Help Flag Pattern · Step Structure · Options Documentation · Verdict Output · Next-action Hint · No Emojis · Executable Procedure Extraction
Model 13 Model Recommendation Metadata (metadata.model_recommendation tier/reason/compatibility)
Security & Policy 14–15, 19 License Declaration · Capability Declaration Consistency · Credential-to-Network Flow (19, 모델 판정, WARN 전용)
Context Budget 16 Description Length
Portability 17–18 Bundle Self-containment · Plugin-root Fallback (WARN 전용 — 다른 하네스가 스킬 디렉터리 하나만 설치해도 실행되는가)
보조 참조 파일

티어 판정 기준은 references/model-recommendation.md(rubric SSOT), 공급자별 모델 ID 는 references/model-tier-map.md, name: 표기 판정은 references/naming-convention.md, Check 11 의 예외 목록은 references/allowed-emoji-skills.txt 가 각각 SSOT 다.

05주의사항 / 제약

PASS WARN FAIL N/A