evilvideogamenerd — 외부에서 게임을 부수는 리뷰어은(는) 무엇을 하나요?
리뷰어 설정 (실시간)
!node ${CLAUDE_SKILL_DIR}/../../scripts/gate.mjs evilvideogamenerd || echo GATE_UNAVAILABLE
NO_CONFIG→ 중단하고 먼저 devinit 스킬을 실행하세요.CONFIG_ERROR→ 계속하기 전에 정책을 수리하고 검증하세요. 기본값을 대체하지 마세요.node ${CLAUDE_SKILL_DIR}/../../scripts/install-template.mjs <skill>/templates/<file> <destination>명령어로 프로젝트에 템플릿을 복사하세요 (덮어쓰지 않음).{{placeholders}}가 포함된 템플릿은 읽고, 채우고, 작성합니다.
모드 ($ARGUMENTS)
| 인자 | 수행할 작업 |
|---|---|
player / qa / critic [focus] | 리뷰 라운드 (아래 절차 참조). 기본 모드: nerd.default_mode |
recheck | fix-submitted, still-open, regressed 상태인 대장 행만 재확인하는 라운드 |
status | qa/nerd/ledger.md를 심각도와 상태별로 요약. 리뷰어를 실행하지 않음 |
setup | 1~2단계만 수행: 리뷰어 폴더와 도구 설정 |
당신의 역할 (메인 에이전트)
당신은 준비, 실행, 분류를 담당합니다. 리뷰어는 독립적으로 작업합니다.
- 절대 디자인 의도, GDD 내용, 숫자, 로드맵 항목 또는 프로젝트 규칙을 리뷰어 프롬프트에 넣지 마세요. 브리핑을 플레이어 대상 노트 형식(실행 방법, 조작법, 패치 노트 스타일의 변경 사항)으로 작성하세요.
- 절대 리뷰어의 결함을 종료하지 마세요. 커밋이나 메모와 함께
fix-submitted를 설정할 수 있습니다. 재확인 시 리뷰어나 사람만verified-fixed를 설정할 수 있습니다. 오직 사람만wontfix를 설정할 수 있습니다. - 결함에 대한 이견("그건 의도된 것입니다")은 사용자의 판단입니다. 사용자의 결정과 함께 기록하세요.
라운드 절차
-
리뷰어 폴더 (
paths.nerd, 기본값qa/nerd/). 없으면 생성:ledger.md:install-template.mjs evilvideogamenerd/templates/ledger.md qa/nerd/ledger.md;report-template.md:install-template.mjs evilvideogamenerd/templates/report.md qa/nerd/report-template.md;reports/,screens/,logs/,scripts/(리뷰어가 필요 시 생성).
리뷰어는 플러그인 폴더를 읽을 수 없으므로 템플릿은 여기에 있어야 합니다.
-
도구. 리뷰어가 실제로 사용할 수 있는 도구를 파악하고 명확히 말하세요:
- MCP play: 스크린샷 및 입력 도구가 포함된 Godot MCP 사용 가능 (GoPeak 권장; stopgen 스킬의
setup-mcp에서 설정).player및critic모드에 필요. - 혼돈 러너:
<project_dir>/tools/qa/chaos_runner.gd파일 존재. 없으면 설치를 제안 (사용자 동의 필요):install-template.mjs evilvideogamenerd/templates/chaos_runner.gd <project_dir>/tools/qa/chaos_runner.gd. 디스플레이가 아닌 Godot 바이너리가 필요. - 없음: 사용자에게 부분적인 라운드만 가능(
qa코드 리뷰)하다고 알리고 계속할지 묻습니다.
- MCP play: 스크린샷 및 입력 도구가 포함된 Godot MCP 사용 가능 (GoPeak 권장; stopgen 스킬의
-
세션 파일.
qa/nerd/.session.json작성:{"mode": "...", "round": N, "focus": "...", "capabilities": ["mcp-play", "chaos"], "version": "<process.current_version>", "started": "<ISO date>"}. 라운드 번호는 이전 번호 +1입니다 (reports/참조). 고립 후크는 이 파일에서 모드를 읽습니다. -
브리핑 templates/briefing.md에서: 플레이어 대상 정보만 포함.
-
실행
evil-video-game-nerd서브에이전트 (나열된 유형에godot-gamedev:접두사가 있을 수 있음). 브리핑, 작성할 보고서 경로, "템플릿은 qa/nerd/에 있습니다"를 전달합니다. 세션당 최대nerd.max_rounds라운드. -
분류 보고서를 사용자와 함께:
- Blocker/Critical → 현재 버전 로드맵의 필수 항목 (antislop-game).
- 기타 → 심각도 × 빈도에 따라 로드맵 또는 백로그.
- 거부된 결함 → 사용자 이유와 함께 대장에
wontfix. - 의심되는 결함 및 직감 → 재현될 때까지 아무 작업 안 함.
-
수정 후 재확인. 수정 후 대장에
fix-submitted를 설정하고recheck를 실행합니다. 최대nerd.max_rounds까지 반복. -
세션이 종료되면
qa/nerd/.session.json을 삭제합니다.
여기서 고립이 의미하는 바 (솔직하게)
- 플러그인의
nerd-guard후크는 이 서브에이전트에만 적용됩니다. GDD, 로드맵, 결정사항, 플레이테스트,AGENTS.md,CLAUDE.md,.gamedev/읽기를 차단합니다.player/critic모드에서는docs/player/,qa/nerd/및 자체 메모리만 허용하고, 플레이 도구만 허용합니다.qa/nerd/및 자체 메모리에만 쓰기를 허용하며, 게임을 편집하거나 런타임에 메서드를 호출하는 MCP 도구는 절대 허용하지 않습니다. omitClaudeMd는 Claude Code 2.1.271 이상이 필요합니다. 초기 사용자/프로젝트/로컬 명령어를 건너뜁니다. 관리 정책은 여전히 로드되며, 하위 디렉토리 명령어는 파일에 접근할 때 로드될 수 있습니다. 이는 명령어가 없는 컨텍스트를 보장하지 않습니다. 리뷰어는 프로젝트 메모리를.claude/agent-memory/…evil-video-game-nerd…/또는 에이전트 메모리를 사용할 수 없을 때qa/nerd/memory.md에 유지합니다.- Bash 필터링은 최선의 노력이며, 샌드박스가 아닙니다. 보장된 고립이 필요한 경우 사용자에게 이 사실을 알리세요. 대안은
docs/없이 별도 체크아웃을 사용하는 것입니다. docs/player/는 디자인 의도가 없어야 합니다 (gdddocs 규칙). 그렇지 않으면 고립이 정문을 통해 새어 나갑니다.
게이트
릴리스 후보 게이트(antislop-game gate)는 대장에 Blocker 또는 Critical 행 중 verified-fixed 또는 wontfix가 아닌 것이 남아 있으면 실패합니다.