mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-17 10:47:05 +00:00
Fix release for 1.1.2: the 14 longest skills keep their later phases after a compaction, a question nobody answered is never taken as an answer, settings read the same from a subfolder, the commit check works for a project in a subfolder of a larger repository, every skill opens with a title, and the shipped allow rules no longer approve deleting a branch or writing files without asking. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.2 → v1.1.3). Refs #83 Refs #133 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0185en4t76fPn7315q4c3nko
68 lines
3.3 KiB
Markdown
68 lines
3.3 KiB
Markdown
---
|
|
name: test-setup
|
|
description: "Scaffold the test framework and CI — tests/ directory, engine test runner, GitHub Actions workflow. Once, before the first sprint."
|
|
argument-hint: "[force]"
|
|
user-invocable: true
|
|
allowed-tools: Read, Glob, Grep, Bash, Write, Bash(bash "*/.claude/skills/test-setup/../../hooks/yaml-helper.sh" resolve_config *)
|
|
model: sonnet
|
|
---
|
|
|
|
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation,workflow,qa.level`
|
|
|
|
**Automation mode**: Resolve `modes.automation` (`project.local.yaml` →
|
|
`project.yaml` → default `collaborative`). Every `AskUserQuestion` call and
|
|
every file write follows `.claude/docs/automation-modes.md`
|
|
(collaborative asks always · guided major-only · autonomous logs and proceeds;
|
|
`automation_always_ask` categories always prompt).
|
|
|
|
# Test Setup
|
|
|
|
This skill scaffolds the automated testing infrastructure for the project.
|
|
It detects the configured engine, generates the appropriate test runner
|
|
configuration, creates the standard directory layout, and wires up CI/CD
|
|
so tests run on every push.
|
|
|
|
Run this once during the Technical Setup phase, before any implementation
|
|
begins. A test framework installed at sprint start costs 30 minutes.
|
|
A test framework installed at sprint four costs 3 sprints.
|
|
|
|
**Output:** `tests/` directory structure + `.github/workflows/tests.yml`
|
|
|
|
---
|
|
|
|
## Phase 1: Detect Engine and Existing State
|
|
|
|
**Read `references/1-detect.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Phase 2: Present Plan
|
|
|
|
**Read `references/2-plan.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Phase 3: Create Directory Structure
|
|
|
|
**Read `references/3-directories.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Phase 4: Create CI/CD Workflow
|
|
|
|
**Read `references/4-ci.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Phase 5: Create Smoke Test Seed
|
|
|
|
**Read `references/5-smoke-seed.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Phase 6: Post-Setup Summary
|
|
|
|
**Read `references/6-summary.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
|
|
|
|
## Collaborative Protocol
|
|
|
|
- **Never overwrite existing test files** — only create files that are missing.
|
|
If a test runner file exists, leave it as-is.
|
|
- **Always ask before creating files** — Phase 2 requires explicit approval.
|
|
- **Engine detection is non-negotiable** — if the engine is not configured,
|
|
stop and redirect to `/setup-engine`. Do not guess.
|
|
- **`force` flag skips the "already exists" early-exit but never overwrites.**
|
|
It means "create any missing files even if the directory already exists."
|
|
- For Unity CI, note that the `UNITY_LICENSE` secret must be configured
|
|
manually. Do not attempt to automate license management.
|