From 9afc5f4491d983540ee2358ba86ae2aaab4330a4 Mon Sep 17 00:00:00 2001 From: Hana Date: Fri, 12 Jun 2026 19:15:14 +0900 Subject: [PATCH] =?UTF-8?q?Add=20self-improve-skill:=20=EA=B8=B0=EC=A1=B4?= =?UTF-8?q?=20=EC=8A=A4=ED=82=AC=20=EC=A2=85=ED=95=A9=20=EB=B6=84=EC=84=9D?= =?UTF-8?q?=20=EB=B0=8F=20=EA=B0=9C=EC=84=A0=20=EC=8A=A4=ED=82=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skills/self-improve-skill/SKILL.md | 135 +++++++++++++ .../analysis/completeness-analysis.md | 187 ++++++++++++++++++ .../analysis/documentation-analysis.md | 154 +++++++++++++++ .../analysis/structure-analysis.md | 117 +++++++++++ .../analysis/workflow-analysis.md | 163 +++++++++++++++ skills/self-improve-skill/config.yaml | 107 ++++++++++ .../templates/improvement-report.md | 82 ++++++++ 7 files changed, 945 insertions(+) create mode 100644 skills/self-improve-skill/SKILL.md create mode 100644 skills/self-improve-skill/analysis/completeness-analysis.md create mode 100644 skills/self-improve-skill/analysis/documentation-analysis.md create mode 100644 skills/self-improve-skill/analysis/structure-analysis.md create mode 100644 skills/self-improve-skill/analysis/workflow-analysis.md create mode 100644 skills/self-improve-skill/config.yaml create mode 100644 skills/self-improve-skill/templates/improvement-report.md diff --git a/skills/self-improve-skill/SKILL.md b/skills/self-improve-skill/SKILL.md new file mode 100644 index 0000000..d24dee6 --- /dev/null +++ b/skills/self-improve-skill/SKILL.md @@ -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 개선해줘 +``` diff --git a/skills/self-improve-skill/analysis/completeness-analysis.md b/skills/self-improve-skill/analysis/completeness-analysis.md new file mode 100644 index 0000000..5c9aa83 --- /dev/null +++ b/skills/self-improve-skill/analysis/completeness-analysis.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] +``` diff --git a/skills/self-improve-skill/analysis/documentation-analysis.md b/skills/self-improve-skill/analysis/documentation-analysis.md new file mode 100644 index 0000000..dd52905 --- /dev/null +++ b/skills/self-improve-skill/analysis/documentation-analysis.md @@ -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 +... +``` diff --git a/skills/self-improve-skill/analysis/structure-analysis.md b/skills/self-improve-skill/analysis/structure-analysis.md new file mode 100644 index 0000000..dfa8084 --- /dev/null +++ b/skills/self-improve-skill/analysis/structure-analysis.md @@ -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` 참조하지만 파일 없음 + +**개선:** 해당 스크립트 파일 생성 또는 참조 제거 diff --git a/skills/self-improve-skill/analysis/workflow-analysis.md b/skills/self-improve-skill/analysis/workflow-analysis.md new file mode 100644 index 0000000..4b47a61 --- /dev/null +++ b/skills/self-improve-skill/analysis/workflow-analysis.md @@ -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 | "파일이 비어 있습니다" 안내 | +``` diff --git a/skills/self-improve-skill/config.yaml b/skills/self-improve-skill/config.yaml new file mode 100644 index 0000000..27f66df --- /dev/null +++ b/skills/self-improve-skill/config.yaml @@ -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 # 최대 개선 사항 수 diff --git a/skills/self-improve-skill/templates/improvement-report.md b/skills/self-improve-skill/templates/improvement-report.md new file mode 100644 index 0000000..39bb479 --- /dev/null +++ b/skills/self-improve-skill/templates/improvement-report.md @@ -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}}