mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-10-16 01:37:05 +00:00
Release 1.1.0 — one config file, and a process weight you choose
`project.yaml` at the repo root is now the single source of truth for a project's configuration, replacing `production/stage.txt`, `production/review-mode.txt` and `.claude/docs/technical-preferences.md` (all three still read as a fallback; nothing is force-deleted). **`modes.rigor` — one question instead of six.** `minimal`, `standard` or `full` fronts six knobs: `modes.workflow`, `docs.density`, `qa.level`, `modes.story_granularity`, `modes.review_mode` and `team.size`. It defaults to `minimal`, which is a change from 1.0's behaviour: the heavier tier was measured costing several times more to reach working code without producing a better result, and returning nothing when a fresh developer inherited the project. Pin `modes.rigor: standard` to keep 1.0's process level. Also in this release: - `/settings` to view or change any setting, and `project.local.yaml` for per-developer preferences that should not be committed. - `system_overrides` to hold one system to a higher standard than the rest of the project, and `testing.strict` to set per test type whether missing evidence blocks a story or warns. - A story that changes anything the player sees is not closed until the game has been launched, observed, and a screenshot retained in `production/qa/evidence/`. A parse check is not a run. This holds at every rigor level, including `minimal`, where automated tests are waived but the look is not. - The code root is engine-specific and enforced as such: Godot `src/`, Unity `Assets/`, Unreal `Source/<Module>/`. Two of the three will not build a project laid out any other way. - Migration tooling for existing projects: `.claude/scripts/migrate-v1-config.sh` converts a 1.0 layout, non-destructively by default, with a report to review before `--finalize` deletes anything. - Ask-before-write holds regardless of personal automation settings. Upgrading from 1.0 or earlier: see UPGRADING.md. Full list of changes: CHANGELOG.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016xvzG3i7pWQg4LjyDwWMXd
This commit is contained in:
co-authored by
Claude Opus 5
parent
984023ddac
commit
d05699707f
@@ -1,11 +1,60 @@
|
||||
---
|
||||
name: launch-checklist
|
||||
description: "Complete launch readiness validation covering every department: code, content, store, marketing, community, infrastructure, legal, and go/no-go sign-offs."
|
||||
description: "Launch readiness across every department: code, content, store, marketing, community, infrastructure, legal, go/no-go sign-offs."
|
||||
argument-hint: "[launch-date or 'dry-run']"
|
||||
user-invocable: true
|
||||
allowed-tools: Read, Glob, Grep, Write
|
||||
model: sonnet
|
||||
---
|
||||
!`source "${CLAUDE_PROJECT_DIR:-.}/.claude/hooks/yaml-helper.sh" 2>/dev/null && resolve_config --keys rigor,project.stage,cert_tier,automation`
|
||||
|
||||
**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).
|
||||
|
||||
Resolved above — use as-is. No block → defaults in `.claude/docs/config-resolution.md`.
|
||||
|
||||
**Scope this checklist to the project.** Emitting every item for every platform
|
||||
trains the reader to skip the list, which defeats the gate:
|
||||
|
||||
- **`project.stage`** — items for phases this project has not reached are out of
|
||||
scope; say so rather than listing them unchecked.
|
||||
- **`modes.rigor`** — at `minimal`, drop items whose only justification is process
|
||||
weight this project has opted out of.
|
||||
- **`platform.cert_tier`** — emit certification items **only** for the tier the
|
||||
project targets. If it is **unset**, **ask which platforms are in scope**
|
||||
rather than emitting all of them — an unset value is a question, not a licence
|
||||
to emit every certification track. If it cannot be determined, mark the section
|
||||
**`NOT ASSESSED — cert tier unknown`**. **Unset is not `none`:** `none` is a
|
||||
decision, unset is a missing one, and they must not produce the same output.
|
||||
Branch on the **four values this key takes** — `none | itch | steam | console` —
|
||||
and not on platform names; `.claude/docs/effects-map.md` holds the full
|
||||
requirement table and is the source, so read it rather than restating it.
|
||||
- `none` — **emit no certification section at all.** Internal release, alpha or
|
||||
jam game. Say the section was omitted and why; do not leave it blank.
|
||||
- `itch` — itch.io upload requirements only: build size, page setup, age tags.
|
||||
**No console and no Steamworks items.**
|
||||
- `steam` — Steamworks: store page, depot build, achievements, system
|
||||
requirements, common content rules. **No console certification items.**
|
||||
- `console` — full platform certification (TRC / XR / Lotcheck), save-data
|
||||
rules, controller-mapping rules, age-rating boards. The heaviest tier.
|
||||
|
||||
> **Branch on the `cert_tier` values above, not on platform names.** "Emit
|
||||
> console/mobile certification items only for the platforms the project targets"
|
||||
> is the wrong test: it treats an `itch` project and a `steam` project
|
||||
> identically, conflates `none` with unset, and keys on `mobile`, which is not a
|
||||
> `cert_tier` value at all. Use the vocabulary the config defines.
|
||||
|
||||
If an item cannot be scoped because the config is absent, mark it
|
||||
**`NOT ASSESSED — platform/stage unknown`**. Do not silently include it: a
|
||||
`rigor: standard`, single-platform project would otherwise receive a ~150-item
|
||||
checklist demanding PC **and** console **and** mobile certification plus age
|
||||
ratings, of which ~140 are unassessable.
|
||||
|
||||
---
|
||||
|
||||
|
||||
> **Explicit invocation only**: This skill should only run when the user explicitly requests it with `/launch-checklist`. Do not auto-invoke based on context matching.
|
||||
|
||||
@@ -26,11 +75,34 @@ Read the argument for the launch date or `dry-run` mode. Dry-run mode generates
|
||||
|
||||
## Phase 3: Scan Codebase Health
|
||||
|
||||
> **Every scan in this phase is a search for something bad, so a zero-hit result
|
||||
> is ambiguous by construction: it means either "searched and found none" or
|
||||
> "there was nothing to search". On a launch gate those are opposite findings,
|
||||
> and a green checkbox renders them identically.**
|
||||
>
|
||||
> **Establish the denominator before every scan below, and report it.** Each line
|
||||
> reads either `scanned [N] files, [M] hits` or
|
||||
> `NOT ASSESSED — [no src/ | no assets/ | directory empty]`. Never a bare tick.
|
||||
>
|
||||
> This is written once, over the whole phase, rather than under **one** of the
|
||||
> four bullets. All four search `src/` the same way — for placeholder assets,
|
||||
> TODOs, debug output and hardcoded test values — so if only one carries the
|
||||
> warning, an empty or absent `src/` returns zero
|
||||
> hits three times and read as three clean results. The original
|
||||
> instance shipped: with no `assets/` directory the scan returned zero hits and
|
||||
> "All placeholder art replaced" was ticked green.
|
||||
|
||||
- Count `TODO`, `FIXME`, `HACK` comments and their locations
|
||||
- Check for any `console.log`, `print()`, or debug output left in production code
|
||||
- Check for placeholder assets (search for `placeholder`, `temp_`, `WIP_`)
|
||||
- Check for hardcoded test/dev values (localhost, test credentials, debug flags)
|
||||
|
||||
**Carry the distinction into the checklist itself.** An item whose scan returned
|
||||
`NOT ASSESSED` is written `- [?]`, not `- [ ]`. An unticked box says *work
|
||||
remains*; a `[?]` says *nobody could check*, and only one of those is closed by
|
||||
doing the work. Include the legend wherever a `[?]` appears:
|
||||
`[?] = not assessed — the input to this check was absent`.
|
||||
|
||||
---
|
||||
|
||||
## Phase 4: Generate the Launch Checklist
|
||||
@@ -114,12 +186,46 @@ Generated: [Date]
|
||||
- [ ] Edge cases tested (full storage, no network, suspend/resume)
|
||||
|
||||
### Platform Certification
|
||||
- [ ] PC: Steam/Epic/GOG SDK requirements met
|
||||
- [ ] Console: TRC/TCR/Lotcheck submission prepared
|
||||
- [ ] Mobile: App Store/Play Store guidelines compliant
|
||||
- [ ] Accessibility: minimum standards met (remapping, text scaling, colorblind)
|
||||
|
||||
**Emit ONLY the block matching `platform.cert_tier`** (resolved in the resolved-config block at the top of this skill — see
|
||||
the `platform.cert_tier` rule above). Do not emit this section's other blocks, and
|
||||
do not fall back to emitting all of them.
|
||||
|
||||
**At `none`** — omit the section and say so in one line:
|
||||
`Platform Certification: omitted — cert_tier is 'none' (internal/jam release).`
|
||||
|
||||
**At `itch`:**
|
||||
- [ ] Build size within itch.io upload limits
|
||||
- [ ] itch.io page complete (cover art, screenshots, description, tags)
|
||||
- [ ] Age/content tags set honestly
|
||||
- [ ] Downloadable vs browser build decided and tested
|
||||
|
||||
**At `steam`:**
|
||||
- [ ] Steamworks SDK integrated and tested
|
||||
- [ ] Store page complete (capsule art, trailer, description, system requirements)
|
||||
- [ ] Depot build uploaded and installs cleanly from a fresh account
|
||||
- [ ] Achievements functional
|
||||
- [ ] Steam common content rules reviewed
|
||||
|
||||
**At `console`:**
|
||||
- [ ] TRC/TCR/Lotcheck submission prepared
|
||||
- [ ] Save-data rules compliant (corruption, full storage, user switching)
|
||||
- [ ] Controller-mapping rules met, platform-correct button prompts
|
||||
- [ ] Suspend/resume verified
|
||||
- [ ] Age ratings obtained (ESRB, PEGI, regional)
|
||||
|
||||
**Every tier**, because these are not certification-gated:
|
||||
- [ ] Accessibility: minimum standards met (remapping, text scaling, colorblind)
|
||||
|
||||
> **Keep this template gated by tier.** An ungated list — PC *and* Console *and*
|
||||
> Mobile rows emitted at every tier — contradicts the `cert_tier` rule at the top
|
||||
> of this skill, which says an `itch` project gets no console and no Steamworks
|
||||
> items. When a rule and a template disagree, the template wins in practice,
|
||||
> because a template is what gets copied.
|
||||
>
|
||||
> Changing the branching vocabulary is only half the job: the rows that branching
|
||||
> governs have to move with it, or the rule describes behaviour nothing reaches.
|
||||
|
||||
### Performance
|
||||
- [ ] Target FPS met on minimum spec hardware
|
||||
- [ ] Load times within budget on all platforms
|
||||
|
||||
Reference in New Issue
Block a user