# 구조 분석 가이드 대상 스킬의 디렉토리 구조와 리소스를 분석하는 가이드입니다. ## 분석 대상 | 항목 | 검사 내용 | |------|----------| | 디렉토리 존재 | 스킬 루트 디렉토리 존재 여부 | | 파일 naming | lowercase + hyphenated 일관성 | | 리소스 디렉토리 | references/, scripts/, templates/, workflows/ 존재 여부 | | 리소스 파일 | 참조된 파일의 실제 존재 여부 | ## 디렉토리 구조 점검 ### 필수 구조 ``` skill-name/ ├── SKILL.md # 필수 └── config.yaml # 선택 (파라미터가 있는 경우) ``` ### 권장 리소스 디렉토리 | 디렉토리 | 용도 | 필수 여부 | |----------|------|-----------| | `references/` | 상세 참고 문서 | 선택 | | `scripts/` | 실행 가능한 스크립트 | 선택 | | `templates/` | Mustache/Handlebars 템플릿 | 선택 | | `workflows/` | 단계별 워크플로우 가이드 | 선택 | | `analysis/` | 분석 가이드 문서 | 선택 | | `pipeline/` | 파이프라인 단계 문서 | 선택 | | `feedback/` | 피드백 관련 문서 | 선택 | ### 파일 naming 규칙 | 유형 | 규칙 | 예시 | |------|------|------| | 디렉토리 | lowercase, hyphenated | `self-study-agent/` | | 마크다운 | lowercase, hyphenated | `analysis-checklist.md` | | 스크립트 | snake_case | `query_capacity.sh` | | 설정 파일 | camelCase 또는 snake_case | `config.yaml` | ## 리소스 존재 여부 검사 ### 검사 방법 1. SKILL.md에서 파일 참조 검색 - 마크다운 링크: `[text](path/to/file.md)` - 코드 블록 참조: `` `scripts/example.sh` `` - 테이블 참조: `| 파일 | path/to/file |` 2. 참조된 파일의 실제 존재 여부 확인 3. 존재하지 않는 파일 목록 생성 ### 검사 항목 | 항목 | 검사 내용 | 기준 | |------|----------|------| | 스크립트 파일 | scripts/ 디렉토리 내 존재 | 참조 대비 100% 존재 | | 템플릿 파일 | templates/ 디렉토리 내 존재 | 참조 대비 100% 존재 | | 참조 문서 | references/ 디렉토리 내 존재 | 참조 대비 100% 존재 | | 파이프라인 문서 | pipeline/ 디렉토리 내 존재 | 참조 대비 100% 존재 | ## 점수 산출 | 항목 | 배점 | 감점 기준 | |------|------|----------| | SKILL.md 존재 | 30점 | 없으면 0점 | | 디렉토리 naming | 10점 | 비일관적 -5점 | | 파일 naming | 10점 | 비일관적 -5점 | | 리소스 디렉토리 | 20점 | 누락당 -5점 | | 리소스 파일 존재 | 30점 | 누락당 -10점 | ## 개선 패턴 ### 패턴 1: 리소스 디렉토리 누락 **현재:** ``` skill-name/ └── SKILL.md ``` **개선:** ``` skill-name/ ├── SKILL.md ├── references/ │ └── detailed-guide.md └── templates/ └── output-template.md ``` ### 패턴 2: 파일 naming 비일관성 **현재:** ``` scripts/MyScript.sh scripts/another_script.py references/SomeDoc.md ``` **개선:** ``` scripts/my_script.sh scripts/another_script.py references/some-doc.md ``` ### 패턴 3: 참조된 파일 누락 **현재:** SKILL.md에서 `scripts/process.sh` 참조하지만 파일 없음 **개선:** 해당 스크립트 파일 생성 또는 참조 제거