flame-harness-admob
Phase 7 — analyze the game, decide a rewarded-ad strategy, guide manual AdMob ad-unit creation, and inject google_mobile_ads + ATT/UMP consent code.
Phase 11 — score the completed pipeline against Anthropic's 9 harness principles plus game quality, and write the retrospective.
$ npx -y skills add tjdrhs90/flutter-flame-harness --skill flame-harness-retro --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/flame-harness-retroContext preview
The summary Claude sees to decide when to auto-load this skill.
Phase 11 — score the completed pipeline against Anthropic's 9 harness principles plus game quality, and write the retrospective.
name: flame-harness-retro description: Phase 11 — score the completed pipeline against Anthropic's 9 harness principles plus game quality, and write the retrospective. argument-hint: "" allowed-tools: [Read, Write, Bash, Glob, Grep]
Phase 11 (final) of the flutter-flame-harness pipeline. Scores the completed pipeline against Anthropic's 9 harness-design principles and game quality criteria, then writes the retrospective report and sets the pipeline to `completed`.
All file schemas (`config.md`, `state.md`, `build-log.md`, `pipeline-log.md`) and the phase transition table are defined in `docs/harness-protocol.md` — that document is the single source of truth (§1 `config.md`; §2 `state.md` keys; §3 `contract.md` layout; §4 handoff layout; §5 feedback layout; §6 log schemas; §7 `retro → complete → status=completed` transition). Do not redefine schemas here.
**Boundary:** This is the terminal phase. After writing `docs/harness/retro.md` and updating `state.md`, no further skill dispatch occurs. The pipeline ends.
**Prerequisites:** `flame-harness-resume` dispatched this skill with `next_role: retro`; `state.md` shows `current_phase: retro`.
---
Before scoring, load all available evidence:
1. `docs/harness/config.md` — extract `app_slug`, `app_name`, `max_rounds`, `strict_mode`, `skip_research`, `skip_admob` (per protocol §1). 2. `docs/harness/state.md` — confirm `current_phase: retro`; read `current_round`, `resume_attempts` (per protocol §2). 3. `docs/harness/contract.md` — review the negotiated Hard Gates and Functional Criteria, and the final `Status: AGREED` line (per protocol §3). 4. `docs/harness/handoff/` — read all `round-N-gen.md` files; note what was built / fixed per round, and any self-assessment failures (per protocol §4). 5. `docs/harness/feedback/` — read all `round-N-qa.md` files; note PASS/FAIL verdicts, evidence commands run, and specific failed criteria (per protocol §5). 6. `docs/harness/build-log.md` — read the full build log table (per protocol §6). 7. `docs/harness/pipeline-log.md` — read the full pipeline event log (per protocol §6). 8. Git log: run `git log --oneline` to count commits and identify rework patterns.
---
Score each of the 9 harness-design principles on a **1–5 scale** with evidence drawn from the harness artifacts loaded above. Cite specific files, round numbers, or log entries as evidence.
> Generator builds; Evaluator judges. Roles must never conflate — the Generator does not approve its > own work, and the Evaluator does not write code.
**Evidence to check:** handoff files authored by generator; feedback files authored by evaluator; no code edits in QA feedback files; no self-PASS verdicts in handoff files.
**Score guidance:**
criterion.
The generator-evaluator separation principle is the most fundamental harness invariant. A breach here invalidates all downstream verdicts.
> Evaluator must run the game and observe actual behaviour before issuing any verdict; code-review- > only PASS is prohibited.
**Evidence to check:** `feedback/round-N-qa.md` Evidence tables — were `flutter analyze`, `flutter test`, cold-start iOS, cold-start Android, and FPS check all run? Were screenshots captured? Did any feedback file issue PASS without running the game?
**Score guidance:**
paths; no PASS issued without running the game.
> The contract is negotiated (not dictated) before coding begins. Hard Gates are non-negotiable; > Functional Criteria are game-specific and agreed bilaterally.
**Evidence to check:** `contract.md` — are all 8 Mandatory Hard Gates present (per protocol §3)? Were Functional Criteria added and marked AGREED? Was there back-and-forth before AGREED, or was the contract accepted without review?
**Score guidance:**
bilateral review.
> Every inter-phase communication travels through a named file in `docs/harness/`. No out-of-band > instructions in chat messages or inline code comments.
**Evidence to check:** `handoff/round-N-gen.md` and `feedback/round-N-qa.md` exist for every round in `build-log.md`; pipeline-log events reference file writes; no phase-to-phase communication happened only in chat.
**Score guidance:**
complete.
> The Generator completes the full game in one continuous build session per round. No iterative > sprint cycles within a round; no partial deliveries labelled "Phase 1 of N".
**Evidence to check:** handoff files — does each `round-N-gen.md` claim a complete, runnable game? Build-log round count — how many generator rounds were needed? Were any partial deliveries noted?
**Score guidance:**
A Claude Code plugin that takes a Flutter/Flame game from raw idea all the way to the app stores.
Phase 7 — analyze the game, decide a rewarded-ad strategy, guide manual AdMob ad-unit creation, and inject google_mobile_ads + ATT/UMP consent code.
Phase 8 — bootstrap signing credentials, generate fastlane config from templates, and build + upload signed IPA (TestFlight) and AAB (internal track).
Phase 4 — propose verifiable completion criteria and mandatory hard gates; reach AGREED (1-pass default, multi-round negotiation in --strict).
Phase 3 — define the Flutter design_tokens.dart spec (palette, typography, spacing), the game's art/visual concept, and the asset/audio sourcing plan.
Phase 6 — skeptical QA. Run the game, watch it, then judge against the contract. Default = functional check; --strict adds quality and edge-case passes.
Phase 5 — build the Flame game in 3 gated sub-phases (core loop → systems+components → UI+content), then self-evaluate against the contract.