How this skill is triggered — by the user, by Claude, or both
Slash command
/godot-craft:godot-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
게임에 자동화된 입력을 주입하고, 게임 상태를 검증하고, 스크린샷을 캡처합니다.
게임에 자동화된 입력을 주입하고, 게임 상태를 검증하고, 스크린샷을 캡처합니다. game-develop의 Playwright 테스트를 Godot 4에 맞게 재구현한 시스템입니다.
rules/testing-rules-godot.md — 반복 제한, 시나리오 카테고리, 페이로드 형식templates/test-scenarios.json — 기본 시나리오 정의templates/game_state_reporter.gd — 게임 상태 직렬화 Autoloadtemplates/test_choreography.gd — 입력 주입 Autoloadgodot-test-runner.sh (오케스트레이터)
├── game_state_reporter.gd (Autoload) → 상태 JSON 덤프
├── test_choreography.gd (Autoload) → 입력 주입 + assertion
└── test-scenarios.json → 시나리오 정의
실행 흐름:
1. Autoload 주입 → project.godot에 등록
2. 시나리오 JSON 추출 → 임시 파일
3. Godot 실행 (Xvfb) → 시나리오 자동 실행
4. 결과 수집 → 스크린샷 + state.json + errors
5. Autoload 제거 → 원상복구
# Godot + jq 필수
command -v godot && command -v jq
# Linux: Xvfb 필수 (스크린샷 캡처용)
command -v Xvfb
bash ${CLAUDE_PLUGIN_ROOT}/scripts/godot-test-runner.sh --check-api
결과가 ready: false이면 --inject-autoloads 사용.
테스트가 올바르게 작동하려면:
add_to_group("player")add_to_group("enemies")add_to_group("game_manager"), game_mode/score 프로퍼티move_left, move_right, move_up, move_down, jump 등 표준 이름⚠️ 이 요구사항은 Phase 2에서 godot-task가 코드를 생성할 때 자동으로 반영해야 합니다.
기본 시나리오(templates/test-scenarios.json)를 사용하거나, 게임에 맞는 커스텀 시나리오를 작성합니다.
커스텀 시나리오 예시 (슈팅 게임):
{
"scenarios": {
"shoot-enemy": {
"description": "게임 시작 후 적 방향으로 이동하며 공격",
"frames": 180,
"steps": [
{ "frame": 0, "press": ["ui_accept"] },
{ "frame": 3, "release": ["ui_accept"] },
{ "frame": 20, "press": ["move_right"] },
{ "frame": 40, "press": ["attack"] },
{ "frame": 42, "release": ["attack"] },
{ "frame": 60, "release": ["move_right"] }
],
"assertions": {
"mode": "playing",
"score": { "gte": 0 }
}
}
}
}
bash ${CLAUDE_PLUGIN_ROOT}/scripts/godot-test-runner.sh \
--inject-autoloads \
--scenario idle \
--output-dir test_output
bash ${CLAUDE_PLUGIN_ROOT}/scripts/godot-test-runner.sh \
--inject-autoloads \
--scenarios idle,start-game,basic-movement \
--output-dir test_output
bash ${CLAUDE_PLUGIN_ROOT}/scripts/godot-test-runner.sh \
--inject-autoloads \
--scenarios-file custom-scenarios.json \
--scenarios shoot-enemy,dodge-test
반드시 Read 도구로 스크린샷 이미지 파일을 열어서 시각적으로 확인합니다.
Read test_output/shot-idle.png
Read test_output/shot-start-game.png
Read test_output/shot-basic-movement.png
Read test_output/state-start-game.json
Read test_output/errors-{scenario}.json
Read test_output/batch-summary.json
passed/total 비율 확인에러 또는 assertion 실패 시:
Implementation Phase에서 매 태스크 완료 후:
compile-check 통과 확인basic-movement)VQA Phase 시작 전:
npx claudepluginhub vp-k/godot-craftDevelop, test, build, and deploy Godot 4.x games. Includes GdUnit4 for GDScript unit tests and PlayGodot for game automation and E2E testing. Supports web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Guides selection of automated and manual test layers for Godot features, covering deterministic logic tests, scene-level tests, and CI/export smoke coverage.
Provides persistent godot-mcp and AI Bridge workflows for Godot 4.x projects, handling .tscn/.gd/.gdshader/.tres files and live editor tasks like scene inspection, node edits, refresh/run/test loops, runtime diagnostics, hybrid validation.