From auto-complete-loop
Loaded by the full-auto-solo orchestrator at Phase 3 entry via Read.
npx claudepluginhub vp-k/auto-complete-loopThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides slash command development for Claude Code: structure, YAML frontmatter, dynamic arguments, bash execution, user interactions, organization, and best practices.
Loaded by the full-auto-solo orchestrator at Phase 3 entry via Read. No Ralph/progress/promise code — managed by the orchestrator.
shared-rules.md가 이미 로드된 상태phases.phase_2.completedFiles 확인phases.phase_2.documents[].acceptanceCriteria 로드 (있으면 리뷰 프롬프트에 포함)각 라운드에서 외부 AI 없이 Claude가 관점별 순차 패스로 리뷰합니다. 각 패스에서 다른 관점은 의도적으로 무시합니다.
라운드 2+: git diff --name-only로 변경된 파일만 리뷰 범위로 사용. 이전 finding 목록은 참고용으로만 포함 (범위 제한 금지). 새로운 이슈도 반드시 보고.
지금부터 당신은 보안 및 에러 처리 전문가입니다. 다른 관점(성능, 코드 품질, 구현 완성도)은 무시하세요. Read 도구로 리뷰 대상 파일을 직접 읽고 다음만 검토:
== vs ===, PHP loose comparison 등 type coercion리뷰 원칙 (회의적 리뷰어 역할):
심각도 기준:
심각도 판정 기준 (Few-shot 참고):
db.query("SELECT * FROM users WHERE id = " + userId) → SEC-INJ (SQL injection)catch(e) {} 빈 catch 블록 → ERR (에러 무시)출력: 발견된 finding을 {CATEGORY}-{SEVERITY}-{번호} 형식으로 기록.
지금부터 당신은 데이터 일관성 및 성능 전문가입니다. 보안/에러는 이미 검토했으니 무시하세요. 동일 파일을 다시 Read 도구로 읽고 다음만 검토:
리뷰 원칙 (회의적 리뷰어 역할):
심각도 판정 기준 (Few-shot 참고):
출력: 발견된 finding을 {CATEGORY}-{SEVERITY}-{번호} 형식으로 기록. 번호는 Pass 1에서 이어서 부여.
지금부터 당신은 SPEC 준수 및 코드 품질 전문가입니다. 보안/에러/데이터/성능은 이미 검토했으니 무시하세요. SPEC.md (또는 docs/api-spec.md)가 존재하면 먼저 읽고, 코드와 1:1 대조:
리뷰 원칙 (회의적 리뷰어 역할):
심각도 판정 기준 (Few-shot 참고):
/auth/register 엔드포인트가 코드에 없음 → IMPL-MISSINGapp.get('/users', (req, res) => res.json({})) 빈 응답 반환 → IMPL-STUB{id, name, email} 응답인데 코드는 {success: true}만 반환 → IMPL-SCHEMAconst users = [{name: "John"}] 하드코딩 mock 데이터 → IMPL-HARDCODEgetData가 구체적이지 않음 → CODE (네이밍)출력: 발견된 finding을 {CATEGORY}-{SEVERITY}-{번호} 형식으로 기록. 번호는 Pass 2에서 이어서 부여.
각 패스의 finding을 합산하여 전체 finding 목록을 생성합니다. 각 finding의 출력 형식:
### {CATEGORY}-{SEVERITY}-{번호}: {제목}
- 파일: {경로}
- 라인: {줄번호}
- 설명: {문제 상세}
- 권장: {수정안}
finding 없으면 "NO_FINDINGS".
마지막에 FINDING_COUNT: N 기록.
Finding 검증: 각 finding에 대해 Read 도구로 해당 파일의 해당 라인을 직접 읽고 판정
라운드 간 Finding 매칭 (라운드 2+):
open → 이번 미발견 → fixedfixed → 이번 재발견 → regressednew (status: open)수정:
수정 후 품질 게이트 재실행
bash ${CLAUDE_PLUGIN_ROOT}/scripts/shared-gate.sh quality-gate --progress-file .claude-full-auto-progress.json
자동 커밋 (품질 게이트 통과 시):
git add -A && git commit -m "[auto] Phase 3 코드 리뷰 Round N (solo) 수정 완료"
다음 라운드 또는 완료 판단
progress 파일에 라운드 결과 기록:
"phase_3": {
"currentRound": 2,
"roundResults": [
{
"round": 1,
"critical": 0, "high": 2, "medium": 3, "low": 1,
"fixed": 5,
"dismissed": 1,
"dismissedDetails": [
{ "id": "CODE-LOW-003", "reason": "테스트 파일의 의도적 매직넘버, 프로덕션 코드 아님" }
]
}
]
}
리뷰 시 .claude-review-suppressions.json 파일이 존재하면 로드하여 적용:
file + category + keyword 패턴 매칭파일 형식 (.claude-review-suppressions.json):
[
{
"file": "src/legacy/auth.ts",
"category": "SEC",
"keyword": "loose comparison",
"reason": "레거시 코드, 다음 스프린트에서 마이그레이션 예정",
"createdAt": "2026-03-01T00:00:00Z",
"expiresAt": "2026-03-31T00:00:00Z"
}
]
phases.phase_2.e2e.applicable == true인 경우에만, 최종 라운드에서 실행):
bash ${CLAUDE_PLUGIN_ROOT}/scripts/shared-gate.sh e2e-gate --progress-file .claude-full-auto-progress.json
applicable이 false/null이면 E2E 게이트 스킵. E2E 실패 시: 수정 후 e2e-gate만 재실행 (코드 리뷰 재실행 불필요)bash ${CLAUDE_PLUGIN_ROOT}/scripts/shared-gate.sh quality-gate --progress-file .claude-full-auto-progress.json
code_review_pass.checked = true, evidence에 "N라운드 리뷰 완료, CRITICAL/HIGH/MEDIUM: 0"