blind-spot-pass
Use *before* starting work in a domain you don't know well, to surface the "unknown unknowns" — the things you don't even know to ask about — and learn just…
세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 프로젝트 CLAUDE.md를 관리합니다.
$ npx -y skills add sangrokjung/claude-forge --skill manage-skills --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/manage-skillsContext preview
The summary Claude sees to decide when to auto-load this skill.
세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 프로젝트 CLAUDE.md를 관리합니다.
name: manage-skills description: 세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 프로젝트 CLAUDE.md를 관리합니다. disable-model-invocation: true argument-hint: "[선택사항: 특정 스킬 이름 또는 집중할 영역]"
현재 세션에서 변경된 내용을 분석하여 검증 스킬의 드리프트를 탐지하고 수정합니다:
1. **커버리지 누락** -- 어떤 verify 스킬에서도 참조하지 않는 변경된 파일 2. **유효하지 않은 참조** -- 삭제되거나 이동된 파일을 참조하는 스킬 3. **누락된 검사** -- 기존 검사에서 다루지 않는 새로운 패턴/규칙 4. **오래된 값** -- 더 이상 일치하지 않는 설정값 또는 탐지 명령어
이 스킬은 `~/.claude/skills/`에 설치된 **글로벌 스킬**입니다. 프로젝트별 verify-* 스킬은 각 프로젝트의 `.claude/skills/`에 생성됩니다. 등록 테이블은 **프로젝트별 CLAUDE.md**에서 관리합니다.
| 스킬 유형 | 위치 | 이유 | |-----------|------|------| | manage-skills (이 스킬) | `~/.claude/skills/` | 모든 프로젝트에서 공통 사용 | | verify-implementation | `~/.claude/skills/` | 모든 프로젝트에서 공통 사용 | | verify-* (검증 스킬) | 프로젝트 `.claude/skills/` | 프로젝트별 규칙/패턴 |
현재 프로젝트에 등록된 검증 스킬 목록입니다. 새 스킬 생성/삭제 시 이 목록을 업데이트합니다.
> **참고**: 이 테이블은 글로벌 레벨의 기본값입니다. 실제 프로젝트별 등록은 프로젝트 CLAUDE.md의 `## Verify Skills` 섹션에서 관리됩니다.
| 스킬 | 설명 | 커버 파일 패턴 | |------|------|---------------| | (프로젝트에서 `/manage-skills`로 생성됨) | (프로젝트 지침에 맞는 스킬을 생성하려면 `/manage-skills`를 실행하세요) | (자동으로 결정됨) |
verify-* 스킬을 생성하기 전에 기존 **전문 에이전트**가 해당 도메인을 이미 커버하는지 확인합니다. 중복 생성은 토큰 낭비이며 결과 충돌을 유발합니다.
| 기존 에이전트 | 커버 도메인 | verify-* 스킬 생성 금지 | |--------------|-----------|----------------------| | security-reviewer | 보안 취약점, OWASP, CWE | verify-security, verify-auth-security | | database-reviewer | DB 스키마, 쿼리 최적화, 마이그레이션 | verify-db, verify-schema, verify-migration | | code-reviewer | 코드 품질, 네이밍, 복잡도 | verify-code-quality, verify-naming | | build-error-resolver | 빌드 오류, 타입 오류 | verify-build, verify-types | | e2e-runner | E2E 테스트 | verify-e2e |
새 verify-* 스킬 생성 요청 시:
IF 위 에이전트-도메인 매핑에 해당하는 경우:
→ SKIP: "이 도메인은 {에이전트명} 에이전트가 담당합니다" 안내
ELSE IF 에이전트가 일부만 커버하는 경우:
→ 에이전트가 커버하지 않는 부분만 verify-* 스킬로 생성
ELSE:
→ 정상 생성 진행현재 세션에서 변경된 모든 파일을 수집합니다:
# 커밋되지 않은 변경사항 git diff HEAD --name-only # 현재 브랜치의 커밋 (main에서 분기된 경우) git log --oneline main..HEAD 2>/dev/null # main에서 분기된 이후의 모든 변경사항 git diff main...HEAD --name-only 2>/dev/null
중복을 제거한 목록으로 합칩니다. 선택적 인수로 스킬 이름이나 영역이 지정된 경우 관련 파일만 필터링합니다.
**표시:** 최상위 디렉토리(첫 1-2 경로 세그먼트) 기준으로 파일을 그룹화합니다:
## 세션 변경사항 감지 **이 세션에서 N개 파일 변경됨:** | 디렉토리 | 파일 | |----------|------| | src/components | `Button.tsx`, `Modal.tsx` | | src/server | `router.ts`, `handler.ts` | | tests | `api.test.ts` | | (루트) | `package.json`, `.eslintrc.js` |
**프로젝트 CLAUDE.md**의 `## Verify Skills` 섹션에서 등록된 스킬 목록을 읽습니다. 글로벌 레벨의 등록 테이블도 참조합니다.
등록된 스킬이 0개인 경우, Step 4 (CREATE vs UPDATE 결정)로 바로 이동합니다. 모든 변경 파일이 "UNCOVERED"로 처리됩니다.
등록된 스킬이 1개 이상인 경우, 각 스킬의 `.claude/skills/verify-<name>/SKILL.md`를 읽고 다음에서 추가 파일 경로 패턴을 추출합니다:
1. **Related Files** 섹션 -- 테이블을 파싱하여 파일 경로 및 glob 패턴 추출 2. **Workflow** 섹션 -- grep/glob/read 명령어에서 파일 경로 추출
Step 1에서 수집한 각 변경 파일에 대해, 등록된 스킬의 패턴과 대조합니다. 파일이 스킬과 매칭되는 조건:
### 파일 -> 스킬 매핑 | 스킬 | 트리거 파일 (변경된 파일) | 액션 | |------|--------------------------|------| | verify-api | `router.ts`, `handler.ts` | CHECK | | verify-ui | `Button.tsx` | CHECK | | (스킬 없음) | `package.json`, `.eslintrc.js` | UNCOVERED |
영향받은(AFFECTED) 각 스킬(매칭된 변경 파일이 있는 스킬)에 대해, 전체 SKILL.md를 읽고 다음을 점검합니다:
1. **누락된 파일 참조** -- 이 스킬의 도메인과 관련된 변경 파일이 Related Files 섹션에 목록되어 있지 않은 경우? 2. **오래된 탐지 명령어** -- 스킬의 grep/glob 패턴이 현재 파일 구조와 여전히 일치하는지? 샘플 명령어를 실행하여 테스트합니다. 3. **커버되지 않은 새 패턴** -- 변경된 파일을 읽고 스킬이 검사하지 않는 새로운 규칙, 설정, 패턴을 식별합니다. 확인 사항:
4. **삭제된 파일의 잔여 참조** -- 스킬의 Related Files에 있는 파일이 코드베이스에 더 이상 존재하지 않는 경우? 5. **변경된 값** -- 스킬이 검사하는 특정 값(식별자, 설정 키, 타입 이름)이 수정된 파일에서 변경되었는지?
발견된 각 갭을 기록합니다:
| 스킬 | 갭 유형 | 상세 | |------|---------|------| | verify-api | 파일 누락 | `src/server/newHandler.ts`가 Related Files에 없음 | | verify-ui | 새 패턴 | 새 컴포넌트가 검사되지 않는 규칙을 사용 | | verify-test | 오래된 값 | 설정 파일의 테스트 러너 패턴이 변경됨 |
다음 결정 트리를 적용합니다:
커버되지 않은 각 파일 그룹에 대해:
IF 기존 전문 에이전트가 해당 도메인을 커버하는 경우:
-> "에이전트 위임"으로 표시 (verify-* 스킬 불필요)
ELSE IF 기존 스킬의 도메인과 관련된 파일인 경우:
-> 결정: 기존 스킬 UPDATE (커버리지 확장)
ELSE IF 3개 이상의 관련 파일이 공통 규칙/패턴을 공유하는 경우:
-> 결정: 새 verify 스킬 CREATE
ELSE:
-> "면제"로 표시 (스킬 불필요)결과를 사용자에게 제시합니다:
### 제안 액션 **에이전트 위임** (N개) - `src/auth/*.ts` -- security-reviewer 에이전트가 보안 검증 담당 - `src/db/*.ts` -- database-reviewer 에이전트가 DB 검증 담당 **결정: 기존 스킬 UPDATE** (N개) - `verify-api` -- 누락된 파일 참조 2개 추가, 탐지 패턴 업데이트 - `verify-test` -- 새 설정 패턴에 대한 탐지 명령어 업데이트 **결정: 새 스킬 CREATE** (M개) - 새 스킬 필요 -- <패턴 설명> 커버 (X개 미커버 파일) **액션 불필요:** - `package.json` -- 설정 파일, 면제 - `README.md` -- 문서, 면제
`AskUserQuestion`을 사용하여 확인합니다:
사용자가 업데이트를 승인한 각 스킬에 대해, 현재 SKILL.md를 읽고 대상 편집을 적용합니다:
**규칙:**
**예시 -- Related Files에 파일 추가:**
## Related Files | File | Purpose | |------|---------| | ... 기존 항목 ... | | `src/server/newHandler.ts` | 유효성 검사가 포함된 새 요청 핸들러 |
**예시 -- 탐지 명령어 추가:**
### Step N: 새 패턴 검증 **파일:** `path/to/file.ts` **검사:** 검증할 내용에 대한 설명. ```bash grep -n "pattern" path/to/file.ts
**위반:** 잘못된 경우의 모습.
oh-my-zsh for Claude Code — 16 agents, 35 commands, 32 skills, 21 safety hooks in one install. v4.0 adds an adversarial review loop: a second agent that never sees the first one's reasoning. MIT.
Repo: sangrokjung/claude-forge
Use *before* starting work in a domain you don't know well, to surface the "unknown unknowns" — the things you don't even know to ask about — and learn just…
Use when detecting and running project build systems automatically. Supports npm/yarn/pnpm/pip/poetry/gradle/maven/cargo/go/make. Triggers on build, test run,…
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js…
Use when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development. Covers Spec-Driven…
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use…