Add self-improve-skill: 기존 스킬 종합 분석 및 개선 스킬
This commit is contained in:
@@ -0,0 +1,135 @@
|
|||||||
|
---
|
||||||
|
name: self-improve-skill
|
||||||
|
description: "기존 스킬을 종합 분석하고 구체적인 개선안을 제시/수행합니다. Use for skill improvement, 스킬 개선, skill review, skill analysis, skill optimization, enhance skill, skill quality check, 스킬 품질 검사, skill refactor, 스킬 리팩토링. DO NOT USE FOR: 새로운 스킬 생성, 스킬 배포, 스킬이 아닌 파일 편집."
|
||||||
|
version: 1.0.0
|
||||||
|
author: User
|
||||||
|
tags: [skill, improvement, analysis, optimization, review, self-improve]
|
||||||
|
dependencies: []
|
||||||
|
---
|
||||||
|
|
||||||
|
# Self-Improve Skill
|
||||||
|
|
||||||
|
기존 스킬을 7개 차원에서 종합 분석하고, 구체적인 개선안을 보고서로 제시한 후 선택적으로 수정을 수행합니다.
|
||||||
|
|
||||||
|
## 전체 흐름
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────────────┐
|
||||||
|
│ SELF-IMPROVE PIPELINE │
|
||||||
|
├─────────────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ [Phase 1: 대상 수집] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ 경로 수신 → 파일 확인 → 백업 생성 │
|
||||||
|
│ │
|
||||||
|
│ [Phase 2: 구조 분석] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ 디렉토리 스캔 → 리소스 점검 → naming 검사 │
|
||||||
|
│ │
|
||||||
|
│ [Phase 3: 문서 분석] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ Frontmatter 검증 → 섹션 완성도 → 가독성 평가 │
|
||||||
|
│ │
|
||||||
|
│ [Phase 4: 워크플로우 분석] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ 단계 명확성 → 분기 처리 → 실행 가능성 평가 │
|
||||||
|
│ │
|
||||||
|
│ [Phase 5: 완전성 분석] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ 에러 핸들링 → 교차참조 → 메타데이터 → 스크립트 경로 │
|
||||||
|
│ │
|
||||||
|
│ [Phase 6: 종합 및 보고] │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ 점수 산출 → 보고서 생성 → 개선안 제시 → 선택적 수정 │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## 분석 단계
|
||||||
|
|
||||||
|
| 단계 | 파일 | 설명 |
|
||||||
|
|------|------|------|
|
||||||
|
| 1 | `analysis/structure-analysis.md` | 디렉토리 구조, 리소스 존재 여부, 파일 naming 분석 |
|
||||||
|
| 2 | `analysis/documentation-analysis.md` | Frontmatter, 섹션 완성도, 가독성 분석 |
|
||||||
|
| 3 | `analysis/workflow-analysis.md` | 워크플로우 단계 명확성, 분기 처리, 실행 가능성 분석 |
|
||||||
|
| 4 | `analysis/completeness-analysis.md` | 에러 핸들링, 교차참조, 메타데이터, 스크립트 경로 분석 |
|
||||||
|
|
||||||
|
## 분석 차원 (7개)
|
||||||
|
|
||||||
|
| # | 차원 | 가중치 | 검사 항목 |
|
||||||
|
|---|------|--------|----------|
|
||||||
|
| 1 | **Frontmatter** | 15% | 필수 필드 존재, SemVer 형식, description 패턴 (USE FOR/DO NOT USE FOR) |
|
||||||
|
| 2 | **문서 구조** | 20% | 헤딩 계층, 섹션 완성도, 가독성, 일관성 |
|
||||||
|
| 3 | **워크플로우** | 25% | 단계 명확성, 분기 처리, 실행 가능성, 테스트 시나리오 |
|
||||||
|
| 4 | **에러 핸들링** | 15% | 테이블 존재, 시나리오 커버리지, 해결책 명시 |
|
||||||
|
| 5 | **리소스** | 10% | 스크립트/템플릿/참조 파일 존재, 경로 유효성 |
|
||||||
|
| 6 | **교차참조** | 10% | 다른 스킬과의 연결, 링크 유효성 |
|
||||||
|
| 7 | **메타데이터** | 5% | 버전, 작성자, 라이센스, 의존성 명시 |
|
||||||
|
|
||||||
|
## 점수 체계
|
||||||
|
|
||||||
|
| 점수 범위 | 등급 | 설명 |
|
||||||
|
|-----------|------|------|
|
||||||
|
| 90-100 | S | 우수 — 개선 불필요 |
|
||||||
|
| 80-89 | A | 양호 — 선택적 개선 |
|
||||||
|
| 70-79 | B | 보통 — 권장 개선 |
|
||||||
|
| 60-69 | C | 미흡 — 적극적 개선 필요 |
|
||||||
|
| 60 미만 | D | 부족 — 전면 개선 필요 |
|
||||||
|
|
||||||
|
## 출력 형식
|
||||||
|
|
||||||
|
분석 완료 후 다음 형식의 보고서를 생성합니다:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Skill Improvement Report: [스킬명]
|
||||||
|
|
||||||
|
### 점수: [XX/100] ([등급])
|
||||||
|
|
||||||
|
### 강점
|
||||||
|
- [잘 된 점 나열]
|
||||||
|
|
||||||
|
### 개선 필요 사항
|
||||||
|
| # | 우선순위 | 차원 | 문제 | 현재 상태 | 개선안 |
|
||||||
|
|---|----------|------|------|-----------|--------|
|
||||||
|
| 1 | 높음 | Frontmatter | description에 USE FOR 누락 | ... | ... |
|
||||||
|
| 2 | 중간 | 워크플로우 | Phase 3 분기 없음 | ... | ... |
|
||||||
|
| 3 | 낮음 | 문서 | 에러 핸들링 테이블 없음 | ... | ... |
|
||||||
|
|
||||||
|
### 권장 조치
|
||||||
|
1. [즉시 개선 사항]
|
||||||
|
2. [선택적 개선 사항]
|
||||||
|
```
|
||||||
|
|
||||||
|
## 실행 규칙
|
||||||
|
|
||||||
|
1. **대상 지정 필수** — 분석할 SKILL.md 경로를 사용자로부터 받습니다
|
||||||
|
2. **백업 우선** — 수정 전 원본 백업을 생성합니다
|
||||||
|
3. **점수 투명** — 각 차원별 점수를 공개합니다
|
||||||
|
4. **구체적 개선안** — 추상적 조언이 아닌 수정 전/후 비교를 제시합니다
|
||||||
|
5. **선택적 수정** — 사용자 확인 후 수정을 수행합니다
|
||||||
|
|
||||||
|
## 에러 처리
|
||||||
|
|
||||||
|
| 상황 | 대응 |
|
||||||
|
|------|------|
|
||||||
|
| 경로 없음 | 사용자에게 SKILL.md 경로 요청 |
|
||||||
|
| 파일 없음 | 해당 경로에 SKILL.md가 없음 안내 |
|
||||||
|
| 읽기 실패 | 파일 권한 확인, 대체 경로 제안 |
|
||||||
|
| 백업 실패 | 수정 전 사용자에게 경고, 수동 백업 요청 |
|
||||||
|
| 분석 불가 | 스킬 형식이 비표준인 경우 분석 범위 제한 안내 |
|
||||||
|
|
||||||
|
## 사용 예시
|
||||||
|
|
||||||
|
```
|
||||||
|
# 스킬 분석 요청
|
||||||
|
self-improve-skill: /home/hana/sources/@SKILLS/study/skills/self-study-agent/SKILL.md
|
||||||
|
|
||||||
|
# 분석 후 수정 요청
|
||||||
|
self-improve-skill: ./skills/setting-collapse-detector/SKILL.md 개선해줘
|
||||||
|
```
|
||||||
@@ -0,0 +1,187 @@
|
|||||||
|
# 완전성 분석 가이드
|
||||||
|
|
||||||
|
대상 스킬의 에러 핸들링, 교차참조, 메타데이터 완전성을 분석하는 가이드입니다.
|
||||||
|
|
||||||
|
## 분석 대상
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 에러 핸들링 | 에러 처리 테이블 존재, 시나리오 커버리지, 해결책 명시 |
|
||||||
|
| 교차참조 | 다른 스킬과의 연결, 링크 유효성 |
|
||||||
|
| 메타데이터 | 버전, 작성자, 라이센스, 의존성 |
|
||||||
|
| 스크립트 경로 | 참조된 스크립트의 실제 존재 여부 |
|
||||||
|
|
||||||
|
## 에러 핸들링 검증
|
||||||
|
|
||||||
|
### 필수 요소
|
||||||
|
|
||||||
|
| 요소 | 검사 내용 | 필수 |
|
||||||
|
|------|----------|------|
|
||||||
|
| 에러 테이블 | "Error Handling" 또는 "에러 처리" 섹션 | 예 |
|
||||||
|
| 시나리오 | 최소 3개 이상의 에러 시나리오 | 예 |
|
||||||
|
| 해결책 | 각 시나리오별 해결 방법 명시 | 예 |
|
||||||
|
|
||||||
|
### 양호한 에러 핸들링 예시
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
| 상황 | 대응 |
|
||||||
|
|------|------|
|
||||||
|
| 경로 없음 | 사용자에게 SKILL.md 경로 요청 |
|
||||||
|
| 파일 없음 | 해당 경로에 SKILL.md가 없음 안내 |
|
||||||
|
| 읽기 실패 | 파일 권한 확인, 대체 경로 제안 |
|
||||||
|
```
|
||||||
|
|
||||||
|
### 부적절한 에러 핸들링 예시
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Error Handling
|
||||||
|
에러가 발생하면 사용자에게 알립니다.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 시나리오 커버리지 검사
|
||||||
|
|
||||||
|
| 카테고리 | 필수 시나리오 |
|
||||||
|
|----------|-------------|
|
||||||
|
| 입력 에러 | 잘못된 경로, 없는 파일, 빈 파일 |
|
||||||
|
| 권한 에러 | 읽기 불가, 쓰기 불가 |
|
||||||
|
| 환경 에러 | 필수 도구 미설치, 네트워크 불가 |
|
||||||
|
| 논리 에러 | 분석 불가, 형식 비표준 |
|
||||||
|
|
||||||
|
## 교차참조 검증
|
||||||
|
|
||||||
|
### 검사 항목
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 내부 링크 | 같은 스킬 내 다른 파일 참조 유효성 |
|
||||||
|
| 외부 링크 | 다른 스킬로의 참조 유효성 |
|
||||||
|
| 관련 스킬 | "Related Skills" 또는 "관련 스킬" 섹션 존재 |
|
||||||
|
|
||||||
|
### 내부 링크 검증
|
||||||
|
|
||||||
|
1. SKILL.md에서 마크다운 링크 추출
|
||||||
|
- `[text](path/to/file.md)` 패턴
|
||||||
|
- `| 경로 | path/to/file |` 테이블 패턴
|
||||||
|
|
||||||
|
2. 참조된 파일의 실제 존재 여부 확인
|
||||||
|
|
||||||
|
3. 존재하지 않는 파일 목록 생성
|
||||||
|
|
||||||
|
### 외부 링크 검증
|
||||||
|
|
||||||
|
1. 다른 스킬 디렉토리로의 참조 검색
|
||||||
|
2. 참조된 스킬이 실제로 존재하는지 확인
|
||||||
|
3. 스킬 이름 변경/이전에 따른 깨진 링크 탐지
|
||||||
|
|
||||||
|
## 메타데이터 검증
|
||||||
|
|
||||||
|
### 필수 메타데이터
|
||||||
|
|
||||||
|
| 필드 | 검사 내용 | 필수 |
|
||||||
|
|------|----------|------|
|
||||||
|
| `version` | SemVer 형식 (x.y.z) | 예 |
|
||||||
|
| `author` | 작성자 명시 | 예 |
|
||||||
|
| `tags` | 분류 태그 | 권장 |
|
||||||
|
| `dependencies` | 의존성 목록 | 권장 |
|
||||||
|
| `license` | 라이센스 | 선택 |
|
||||||
|
|
||||||
|
### 버전 검증
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 형식 | SemVer (major.minor.patch) |
|
||||||
|
| 일관성 | 같은 프로젝트 내 버전 체계 일관 |
|
||||||
|
| 의미 | 버전 번호가 의미 있게 증가 |
|
||||||
|
|
||||||
|
## 스크립트 경로 검증
|
||||||
|
|
||||||
|
### 검사 방법
|
||||||
|
|
||||||
|
1. SKILL.md에서 코드 블록/테이블 내 스크립트 참조 추출
|
||||||
|
- `./scripts/example.sh`
|
||||||
|
- `scripts/example.py`
|
||||||
|
- `` `scripts/example.sh` ``
|
||||||
|
|
||||||
|
2. 참조된 스크립트의 실제 존재 여부 확인
|
||||||
|
|
||||||
|
3. 스크립트 실행 권한 확인 (선택)
|
||||||
|
|
||||||
|
### 일반적인 문제
|
||||||
|
|
||||||
|
| 문제 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| 경로 변경 | 스크립트 이전 후 경로 미갱신 |
|
||||||
|
| 파일명 변경 | 스크립트 이름 변경 후 참조 미갱신 |
|
||||||
|
| 삭제된 스크립트 | 스크립트 삭제 후 참조 유지 |
|
||||||
|
| 권한 부재 | 스크립트 존재하나 실행 권한 없음 |
|
||||||
|
|
||||||
|
## 점수 산출
|
||||||
|
|
||||||
|
| 항목 | 배점 | 감점 기준 |
|
||||||
|
|------|------|----------|
|
||||||
|
| 에러 핸들링 테이블 | 30점 | 없음 -30점, 부족함 -15점 |
|
||||||
|
| 시나리오 커버리지 | 20점 | 카테고리당 -5점 |
|
||||||
|
| 교차참조 유효성 | 20점 | 깨진 링크당 -10점 |
|
||||||
|
| 메타데이터 | 15점 | 필수 필드 누락당 -8점 |
|
||||||
|
| 스크립트 경로 | 15점 | 누락당 -10점 |
|
||||||
|
|
||||||
|
## 개선 패턴
|
||||||
|
|
||||||
|
### 패턴 1: 에러 핸들링 추가
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
## Error Handling
|
||||||
|
에러가 발생하면 알립니다.
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
| 상황 | 대응 |
|
||||||
|
|------|------|
|
||||||
|
| 경로 없음 | 사용자에게 SKILL.md 경로 요청 |
|
||||||
|
| 파일 없음 | 해당 경로에 SKILL.md가 없음 안내 |
|
||||||
|
| 읽기 실패 | 파일 권한 확인, 대체 경로 제안 |
|
||||||
|
| 백업 실패 | 수정 전 사용자에게 경고 |
|
||||||
|
| 분석 불가 | 스킬 형식이 비표준인 경우 분석 범위 제한 안내 |
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 2: 교차참조 추가
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
## Related Skills
|
||||||
|
- deploy-model
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
## Related Skills
|
||||||
|
|
||||||
|
| 스킬 | 관계 | 경로 |
|
||||||
|
|------|------|------|
|
||||||
|
| deploy-model | 배포 후 검증 | [deploy-model](../deploy-model/SKILL.md) |
|
||||||
|
| capacity | 배포 전 용량 확인 | [capacity](../capacity/SKILL.md) |
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 3: 메타데이터 보강
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```yaml
|
||||||
|
name: my-skill
|
||||||
|
description: "설명"
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```yaml
|
||||||
|
name: my-skill
|
||||||
|
description: "설명. Use for: ... DO NOT USE FOR: ..."
|
||||||
|
version: 1.0.0
|
||||||
|
author: User
|
||||||
|
tags: [tag1, tag2]
|
||||||
|
dependencies: [tool1, tool2]
|
||||||
|
```
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
# 문서 분석 가이드
|
||||||
|
|
||||||
|
대상 스킬의 문서 품질을 분석하는 가이드입니다.
|
||||||
|
|
||||||
|
## 분석 대상
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| Frontmatter | 필수 필드, 형식, description 패턴 |
|
||||||
|
| 섹션 구조 | 헤딩 계층, 필수 섹션 존재 |
|
||||||
|
| 가독성 | 문장 길이, 단락 구조, 일관성 |
|
||||||
|
|
||||||
|
## Frontmatter 검증
|
||||||
|
|
||||||
|
### 필수 필드
|
||||||
|
|
||||||
|
| 필드 | 필수 | 형식 | 검사 내용 |
|
||||||
|
|------|------|------|----------|
|
||||||
|
| `name` | 예 | lowercase-hyphenated | 디렉토리명과 일치 |
|
||||||
|
| `description` | 예 | 문자열 | USE FOR/DO NOT USE FOR 패턴 |
|
||||||
|
| `version` | 예 | SemVer (x.y.z) | 형식 일치 |
|
||||||
|
| `author` | 예 | 문자열 | 존재 여부 |
|
||||||
|
|
||||||
|
### 권장 필드
|
||||||
|
|
||||||
|
| 필드 | 용도 |
|
||||||
|
|------|------|
|
||||||
|
| `tags` | 스킬 분류 태그 |
|
||||||
|
| `dependencies` | 필요한 도구/의존성 |
|
||||||
|
| `license` | 라이센스 |
|
||||||
|
|
||||||
|
### description 패턴 검증
|
||||||
|
|
||||||
|
양호한 예시:
|
||||||
|
```yaml
|
||||||
|
description: "기존 스킬을 종합 분석하고 개선안을 제시합니다. Use for skill improvement, 스킬 개선. DO NOT USE FOR: 새로운 스킬 생성."
|
||||||
|
```
|
||||||
|
|
||||||
|
부적절한 예시:
|
||||||
|
```yaml
|
||||||
|
description: "스킬을 분석합니다." # USE FOR/DO NOT USE FOR 누락
|
||||||
|
```
|
||||||
|
|
||||||
|
## 섹션 구조 검증
|
||||||
|
|
||||||
|
### 필수 섹션
|
||||||
|
|
||||||
|
| 섹션 | 검사 내용 | 필수 |
|
||||||
|
|------|----------|------|
|
||||||
|
| H1 제목 | 스킬 이름 명시 | 예 |
|
||||||
|
| Purpose/목적 | 한 문단 요약 | 예 |
|
||||||
|
|
||||||
|
### 권장 섹션
|
||||||
|
|
||||||
|
| 섹션 | 검사 내용 | 권장 |
|
||||||
|
|------|----------|------|
|
||||||
|
| When to Use | 트리거 의도 명시 | 강력 권장 |
|
||||||
|
| Workflow/워크플로우 | 단계별 절차 | 강력 권장 |
|
||||||
|
| Error Handling | 에러 처리 테이블 | 권장 |
|
||||||
|
| Examples/사용 예시 | 구체적 사용법 | 권장 |
|
||||||
|
| Prerequisites | 사전 요구사항 | 선택 |
|
||||||
|
|
||||||
|
### 헤딩 계층 규칙
|
||||||
|
|
||||||
|
| 규칙 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| H1 1개만 | 파일당 H1은 1개 |
|
||||||
|
| 계층 순서 | H1 → H2 → H3 순서 |
|
||||||
|
| 최대 깊이 | H4 이상 지양 |
|
||||||
|
| 일관성 | 같은ឋ위의 섹션은 같은 헤딩 레벨 |
|
||||||
|
|
||||||
|
## 가독성 검증
|
||||||
|
|
||||||
|
### 검사 항목
|
||||||
|
|
||||||
|
| 항목 | 기준 | 감점 |
|
||||||
|
|------|------|------|
|
||||||
|
| 단락 길이 | 5줄 이하 | 초과 시 -2 |
|
||||||
|
| 문장 길이 | 100자 이하 | 초과 시 -1 |
|
||||||
|
| 표 사용 | 복잡한 설명은 표로 | 미사용 시 -2 |
|
||||||
|
| 코드 블록 | 명령어/코드는 코드 블록 | 미사용 시 -2 |
|
||||||
|
| 일관성 | 같은 패턴의 반복 | 비일관적 -3 |
|
||||||
|
|
||||||
|
## 점수 산출
|
||||||
|
|
||||||
|
| 항목 | 배점 | 감점 기준 |
|
||||||
|
|------|------|----------|
|
||||||
|
| Frontmatter 필수 필드 | 25점 | 누락당 -8점 |
|
||||||
|
| description 패턴 | 15점 | USE FOR 없음 -10점, DO NOT USE FOR 없음 -5점 |
|
||||||
|
| 필수 섹션 존재 | 20점 | 누락당 -10점 |
|
||||||
|
| 권장 섹션 존재 | 10점 | 누락당 -3점 |
|
||||||
|
| 헤딩 계층 | 10점 | 비일관적 -5점 |
|
||||||
|
| 가독성 | 20점 | 항목당 감점 |
|
||||||
|
|
||||||
|
## 개선 패턴
|
||||||
|
|
||||||
|
### 패턴 1: Frontmatter 누락
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
# My Skill
|
||||||
|
|
||||||
|
이 스킬은 ...
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
name: my-skill
|
||||||
|
description: "설명. Use for: ... DO NOT USE FOR: ..."
|
||||||
|
version: 1.0.0
|
||||||
|
author: User
|
||||||
|
---
|
||||||
|
|
||||||
|
# My Skill
|
||||||
|
|
||||||
|
이 스킬은 ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 2: description 패턴 부재
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```yaml
|
||||||
|
description: "스킬 설명"
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```yaml
|
||||||
|
description: "스킬 설명. Use for: 키워드1, 키워드2. DO NOT USE FOR: 다른 작업 (대체 스킬명)."
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 3: 섹션 구조 부실
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
# Skill
|
||||||
|
## 설정
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
# Skill
|
||||||
|
한 문단 요약
|
||||||
|
|
||||||
|
## When to Use
|
||||||
|
...
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
...
|
||||||
|
|
||||||
|
## Error Handling
|
||||||
|
...
|
||||||
|
```
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
# 구조 분석 가이드
|
||||||
|
|
||||||
|
대상 스킬의 디렉토리 구조와 리소스를 분석하는 가이드입니다.
|
||||||
|
|
||||||
|
## 분석 대상
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 디렉토리 존재 | 스킬 루트 디렉토리 존재 여부 |
|
||||||
|
| 파일 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` 참조하지만 파일 없음
|
||||||
|
|
||||||
|
**개선:** 해당 스크립트 파일 생성 또는 참조 제거
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
# 워크플로우 분석 가이드
|
||||||
|
|
||||||
|
대상 스킬의 워크플로우 완성도를 분석하는 가이드입니다.
|
||||||
|
|
||||||
|
## 분석 대상
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 단계 명확성 | 각 단계가 명확하게 정의되어 있는지 |
|
||||||
|
| 분기 처리 | 조건 분기가 적절히 처리되어 있는지 |
|
||||||
|
| 실행 가능성 | 제시된 단계가 실제로 실행 가능한지 |
|
||||||
|
| 테스트 시나리오 | 검증 가능한 시나리오가 있는지 |
|
||||||
|
|
||||||
|
## 단계 명확성 검증
|
||||||
|
|
||||||
|
### 양호한 워크플로우 예시
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
### Phase 1: 주제 선택
|
||||||
|
- 사용자 입력 파싱
|
||||||
|
- 범위 분석
|
||||||
|
- 너무 넓으면 → 사용자에게 초점 요청
|
||||||
|
|
||||||
|
### Phase 2: 소스 발견
|
||||||
|
- 각 하위 주제에 대해:
|
||||||
|
1. 권위 있는 소스 검색
|
||||||
|
2. 신뢰도 점수 산출
|
||||||
|
3. 임계값 미달 시 재검색
|
||||||
|
```
|
||||||
|
|
||||||
|
### 부적절한 워크플로우 예시
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Workflow
|
||||||
|
1. 분석한다
|
||||||
|
2. 개선한다
|
||||||
|
3. 완료한다
|
||||||
|
```
|
||||||
|
|
||||||
|
### 검사 기준
|
||||||
|
|
||||||
|
| 기준 | 양호 | 부적절 |
|
||||||
|
|------|------|--------|
|
||||||
|
| 단계 이름 | "주제 선택", "소스 발견" | "1단계", "분석" |
|
||||||
|
| 단계 설명 | 구체적 행동 명시 | 추상적 표현 |
|
||||||
|
| 입출력 | 명시됨 | 미명시 |
|
||||||
|
| 조건 분기 | if/then 명시 | 분기 없음 |
|
||||||
|
|
||||||
|
## 분기 처리 검증
|
||||||
|
|
||||||
|
### 분기 유형
|
||||||
|
|
||||||
|
| 유형 | 설명 | 예시 |
|
||||||
|
|------|------|------|
|
||||||
|
| 조건 분기 | 특정 조건에 따른 경로 분기 | "주제가 너무 넓으면 → 초점 요청" |
|
||||||
|
| 반복 분기 | 루프 처리 | "임계값 미달 시 → 재검색" |
|
||||||
|
| 예외 분기 | 오류/예외 상황 처리 | "파일 없음 → 에러 메시지" |
|
||||||
|
|
||||||
|
### 검사 항목
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 분기 존재 | 필수적인 분기가 명시되어 있는지 |
|
||||||
|
| 분기 조건 | 조건이 명확하게 정의되어 있는지 |
|
||||||
|
| 분기 결과 | 각 분기의 결과가 명시되어 있는지 |
|
||||||
|
| 루프 처리 | 반복 작업의 종료 조건이 있는지 |
|
||||||
|
|
||||||
|
## 실행 가능성 검증
|
||||||
|
|
||||||
|
### 검사 기준
|
||||||
|
|
||||||
|
| 기준 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| 도구 가용성 | 제시된 도구/명령어가 실제로 존재하는지 |
|
||||||
|
| 환경 요구사항 | 필요한 환경이 명시되어 있는지 |
|
||||||
|
| 권한 | 필요한 권한이 명시되어 있는지 |
|
||||||
|
| 데이터 가용성 | 필요한 데이터/입력이 확보 가능한지 |
|
||||||
|
|
||||||
|
### 일반적인 실행 불가 사례
|
||||||
|
|
||||||
|
| 사례 | 설명 |
|
||||||
|
|------|------|
|
||||||
|
| 존재하지 않는 명령어 | `git push --force-with-lease --all` (실제로는 `--force`) |
|
||||||
|
| 잘못된 경로 | `./scripts/old-name.sh` (실제로는 `./scripts/new-name.sh`) |
|
||||||
|
| 미구현 기능 | "LLM이 자동으로 판단한다" (구체적 로직 없음) |
|
||||||
|
| 환경 미명시 | "API 키가 필요하다" (어디서 obtained?)
|
||||||
|
|
||||||
|
## 테스트 시나리오 검증
|
||||||
|
|
||||||
|
### 검사 항목
|
||||||
|
|
||||||
|
| 항목 | 검사 내용 |
|
||||||
|
|------|----------|
|
||||||
|
| 테스트 존재 | 테스트 시나리오/예시가 있는지 |
|
||||||
|
| 시나리오 다양성 | 정상/예외/경계값 시나리오 포함 |
|
||||||
|
| 기대 결과 | 각 시나리오의 기대 결과가 명시 |
|
||||||
|
| 검증 가능 | 결과를 검증할 수 있는 기준이 있는지 |
|
||||||
|
|
||||||
|
## 점수 산출
|
||||||
|
|
||||||
|
| 항목 | 배점 | 감점 기준 |
|
||||||
|
|------|------|----------|
|
||||||
|
| 단계 명확성 | 30점 | 추상적 표현당 -5점 |
|
||||||
|
| 분기 처리 | 25점 | 필수 분기 누락 -10점 |
|
||||||
|
| 실행 가능성 | 25점 | 실행 불가 항목당 -10점 |
|
||||||
|
| 테스트 시나리오 | 20점 | 없음 -20점, 부족함 -10점 |
|
||||||
|
|
||||||
|
## 개선 패턴
|
||||||
|
|
||||||
|
### 패턴 1: 단계 추상화 개선
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
### Phase 1: 분석
|
||||||
|
대상을 분석한다.
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
### Phase 1: 대상 분석
|
||||||
|
1. SKILL.md 파일 읽기
|
||||||
|
2. Frontmatter 파싱
|
||||||
|
3. 섹션 구조 매핑
|
||||||
|
4. 참조 파일 목록 추출
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 2: 분기 처리 추가
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
### Phase 2: 소스 발견
|
||||||
|
소스를 검색한다.
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
### Phase 2: 소스 발견
|
||||||
|
1. 소스 검색
|
||||||
|
2. 신뢰도 점수 산출
|
||||||
|
3. 임계값(0.6) 이상 → 채택
|
||||||
|
4. 임계값 미달 → 대체 키워드로 재검색 (최대 3회)
|
||||||
|
5. 3회 미달 시 → 사용자에게 소스 부족 알림
|
||||||
|
```
|
||||||
|
|
||||||
|
### 패턴 3: 테스트 시나리오 추가
|
||||||
|
|
||||||
|
**현재:**
|
||||||
|
```markdown
|
||||||
|
## 사용 예시
|
||||||
|
```
|
||||||
|
|
||||||
|
**개선:**
|
||||||
|
```markdown
|
||||||
|
## 테스트 시나리오
|
||||||
|
|
||||||
|
| 시나리오 | 입력 | 기대 결과 |
|
||||||
|
|----------|------|-----------|
|
||||||
|
| 정상 | 유효한 SKILL.md 경로 | 개선 보고서 생성 |
|
||||||
|
| 예외 | 잘못된 경로 | 에러 메시지 + 경로 재요청 |
|
||||||
|
| 경계값 | 빈 SKILL.md | "파일이 비어 있습니다" 안내 |
|
||||||
|
```
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
# Self-Improve Skill - 분석 파라미터
|
||||||
|
|
||||||
|
# 점수 가중치 (합계: 100)
|
||||||
|
scoring:
|
||||||
|
frontmatter: 15
|
||||||
|
documentation: 20
|
||||||
|
workflow: 25
|
||||||
|
error_handling: 15
|
||||||
|
resources: 10
|
||||||
|
cross_references: 10
|
||||||
|
metadata: 5
|
||||||
|
|
||||||
|
# 등급 기준
|
||||||
|
grades:
|
||||||
|
S: 90
|
||||||
|
A: 80
|
||||||
|
B: 70
|
||||||
|
C: 60
|
||||||
|
D: 0
|
||||||
|
|
||||||
|
# 우선순위 기준
|
||||||
|
priority_thresholds:
|
||||||
|
high: 80 # 80점 미만 = 즉시 개선 (높은 우선순위)
|
||||||
|
medium: 60 # 60점 미만 = 권장 개선 (중간 우선순위)
|
||||||
|
low: 40 # 40점 미만 = 선택적 개선 (낮은 우선순위)
|
||||||
|
|
||||||
|
# Frontmatter 검증 규칙
|
||||||
|
frontmatter:
|
||||||
|
required_fields:
|
||||||
|
- name
|
||||||
|
- description
|
||||||
|
- version
|
||||||
|
- author
|
||||||
|
optional_fields:
|
||||||
|
- tags
|
||||||
|
- dependencies
|
||||||
|
- license
|
||||||
|
description_patterns:
|
||||||
|
- "USE FOR:"
|
||||||
|
- "DO NOT USE FOR:"
|
||||||
|
version_format: "semver" # major.minor.patch
|
||||||
|
|
||||||
|
# 문서 구조 검증 규칙
|
||||||
|
documentation:
|
||||||
|
required_sections:
|
||||||
|
- title # H1 헤딩
|
||||||
|
- purpose # 한 문단 요약
|
||||||
|
recommended_sections:
|
||||||
|
- workflow # 워크플로우 설명
|
||||||
|
- error_handling # 에러 처리
|
||||||
|
- examples # 사용 예시
|
||||||
|
max_heading_depth: 4
|
||||||
|
min_paragraph_length: 20
|
||||||
|
|
||||||
|
# 워크플로우 검증 규칙
|
||||||
|
workflow:
|
||||||
|
min_phases: 2
|
||||||
|
require_phase_names: true
|
||||||
|
require_decision_points: false # 분기 처리 필수 여부
|
||||||
|
require_test_scenarios: false # 테스트 시나리오 필수 여부
|
||||||
|
|
||||||
|
# 에러 핸들링 검증 규칙
|
||||||
|
error_handling:
|
||||||
|
require_table: true
|
||||||
|
min_scenarios: 3
|
||||||
|
required_columns:
|
||||||
|
- situation
|
||||||
|
- response
|
||||||
|
|
||||||
|
# 리소스 검증 규칙
|
||||||
|
resources:
|
||||||
|
check_scripts_exist: true
|
||||||
|
check_templates_exist: true
|
||||||
|
check_references_exist: true
|
||||||
|
allowed_extensions:
|
||||||
|
- .md
|
||||||
|
- .sh
|
||||||
|
- .py
|
||||||
|
- .ps1
|
||||||
|
- .yaml
|
||||||
|
- .json
|
||||||
|
|
||||||
|
# 교차참조 검증 규칙
|
||||||
|
cross_references:
|
||||||
|
check_links_valid: true
|
||||||
|
check_related_skills: true
|
||||||
|
|
||||||
|
# 메타데이터 검증 규칙
|
||||||
|
metadata:
|
||||||
|
require_version: true
|
||||||
|
require_author: true
|
||||||
|
require_license: false
|
||||||
|
require_dependencies: false
|
||||||
|
|
||||||
|
# 분석 대상 제외 패턴
|
||||||
|
excludes:
|
||||||
|
- ".git"
|
||||||
|
- ".gitignore"
|
||||||
|
- "node_modules"
|
||||||
|
- "__pycache__"
|
||||||
|
- "*.pyc"
|
||||||
|
|
||||||
|
# 보고서 설정
|
||||||
|
report:
|
||||||
|
language: "ko" # 보고서 언어
|
||||||
|
include_examples: true # 개선 전/후 예시 포함
|
||||||
|
max_improvements: 20 # 최대 개선 사항 수
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
## Skill Improvement Report: {{SKILL_NAME}}
|
||||||
|
|
||||||
|
### 점수: {{SCORE}}/100 ({{GRADE}})
|
||||||
|
|
||||||
|
| 차원 | 점수 | 가중치 | 가중 점수 |
|
||||||
|
|------|------|--------|-----------|
|
||||||
|
| Frontmatter | {{FRONTMATTER_SCORE}}/100 | 15% | {{FRONTMATTER_WEIGHTED}} |
|
||||||
|
| 문서 구조 | {{DOCUMENTATION_SCORE}}/100 | 20% | {{DOCUMENTATION_WEIGHTED}} |
|
||||||
|
| 워크플로우 | {{WORKFLOW_SCORE}}/100 | 25% | {{WORKFLOW_WEIGHTED}} |
|
||||||
|
| 에러 핸들링 | {{ERROR_SCORE}}/100 | 15% | {{ERROR_WEIGHTED}} |
|
||||||
|
| 리소스 | {{RESOURCE_SCORE}}/100 | 10% | {{RESOURCE_WEIGHTED}} |
|
||||||
|
| 교차참조 | {{CROSSREF_SCORE}}/100 | 10% | {{CROSSREF_WEIGHTED}} |
|
||||||
|
| 메타데이터 | {{METADATA_SCORE}}/100 | 5% | {{METADATA_WEIGHTED}} |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 강점
|
||||||
|
|
||||||
|
{{#each STRENGTHS}}
|
||||||
|
- {{this}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 개선 필요 사항
|
||||||
|
|
||||||
|
| # | 우선순위 | 차원 | 문제 | 현재 상태 | 개선안 |
|
||||||
|
|---|----------|------|------|-----------|--------|
|
||||||
|
{{#each IMPROVEMENTS}}
|
||||||
|
| {{this.number}} | {{this.priority}} | {{this.category}} | {{this.issue}} | {{this.current}} | {{this.suggested}} |
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 권장 조치
|
||||||
|
|
||||||
|
#### 즉시 개선 (높은 우선순위)
|
||||||
|
{{#each HIGH_PRIORITY}}
|
||||||
|
{{@number}}. {{this}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
#### 권장 개선 (중간 우선순위)
|
||||||
|
{{#each MEDIUM_PRIORITY}}
|
||||||
|
{{@number}}. {{this}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
#### 선택적 개선 (낮은 우선순위)
|
||||||
|
{{#each LOW_PRIORITY}}
|
||||||
|
{{@number}}. {{this}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 분석 상세
|
||||||
|
|
||||||
|
#### 구조 분석
|
||||||
|
- 디렉토리 존재: {{STRUCTURE.dir_exists}}
|
||||||
|
- 파일 naming: {{STRUCTURE.naming}}
|
||||||
|
- 리소스 디렉토리: {{STRUCTURE.resources}}
|
||||||
|
|
||||||
|
#### 문서 분석
|
||||||
|
- Frontmatter: {{DOCUMENTATION.frontmatter}}
|
||||||
|
- 섹션 완성도: {{DOCUMENTATION.sections}}
|
||||||
|
- 가독성: {{DOCUMENTATION.readability}}
|
||||||
|
|
||||||
|
#### 워크플로우 분석
|
||||||
|
- 단계 명확성: {{WORKFLOW.clarity}}
|
||||||
|
- 분기 처리: {{WORKFLOW.branching}}
|
||||||
|
- 실행 가능성: {{WORKFLOW.feasibility}}
|
||||||
|
|
||||||
|
#### 완전성 분석
|
||||||
|
- 에러 핸들링: {{COMPLETENESS.error_handling}}
|
||||||
|
- 교차참조: {{COMPLETENESS.cross_references}}
|
||||||
|
- 메타데이터: {{COMPLETENESS.metadata}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 분석 일시
|
||||||
|
{{ANALYSIS_DATE}}
|
||||||
|
|
||||||
|
### 대상 스킬 경로
|
||||||
|
{{SKILL_PATH}}
|
||||||
Reference in New Issue
Block a user