Skip to content

docs: add independent SLIDE beta gameplay critic skill - #191

Merged
BrandDead merged 1 commit into
main-tL2525from
docs/45-slide-game-critic
Sep 30, 2026
Merged

BrandDead merged 1 commit into
main-tL2525from
docs/45-slide-game-critic

Conversation

@BrandDead

@BrandDead BrandDead commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Outcome

A separate Cursor/Agent Skills reviewer can critique actual SLIDE gameplay and tactical visuals with real screenshot evidence, two 0–10 scores, and at most three bounded improvement rounds.

Scope

In: .agents/skills/slide-game-critic/SKILL.md, dated append-only docs/PROJECT_LOG.md entry. Out: runtime gameplay, graphics, personal photos, Supabase, credentials, deployments, #157.
Reserved files: #45 (comment)

Contracts preserved

Requires real revision-bound phone/desktop play evidence; no self-grading or fabricated video frames. An 8+ rating is not launch authorization; #175 remains a separate blocker. Private photo likeness is never committed or posted publicly.

Verification

Skill validator: pass. git diff --check: pass. Node 24 frontend npm run validate: 88 files, 1016 passed/4 skipped; ESLint 0 errors, 200 existing warnings. npm run build: pass. Backend pytest tests -q: 95 passed, 143 warnings. Docs-only; no changed player behavior to re-test.

Operational impact

None; no secrets, schema, scheduler, deployment or production data changes. Rollback: revert this docs commit.

Integration notes

Independent of draft PR #157 and Grok's ongoing beta branch. Merge only after current-head checks/review; tell Grok to read this skill when its branch catches up.


Note

Low Risk
Documentation and agent-skill guidance only; no runtime, auth, data, or deployment behavior changes.

Overview
Adds a new .agents/skills/slide-game-critic Agent Skill so a separate reviewer (not the builder) can score SLIDE/DEALT beta with revision-bound phone/desktop play evidence, player traces, and reproducible frame samples—not fabricated metrics.

The skill defines Gameplay and Visuals 0–10 rubrics, composite/confidence rules, an 8+ candidate-quality bar (both dimensions ≥8, no P0/P1, full loop + reload), and explicit NOT PLAYED / NOT SCORED when no build exists. It caps builders at three bounded repair rounds, requires ranked GG-### findings, and states that passing critique is not launch authorization (#175 authenticated saved-game gates stay separate). Founder photo likeness stays off public artifacts.

docs/PROJECT_LOG.md gets a dated entry noting this is agent guidance only—no gameplay, renderer, credentials, migrations, or deployment changes.

Reviewed by Cursor Bugbot for commit 78e1ebd. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
slide Ready Ready Preview Sep 30, 2026 7:38pm UTC

Request Review

@BrandDead
BrandDead marked this pull request as ready for review September 30, 2026 19:39
@BrandDead
BrandDead merged commit cf05276 into main-tL2525 Sep 30, 2026
4 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-30T19:44:48.449096Z 78e1ebd Draft marked ready
🔒 Security Review ✅ Completed 2026-09-30T19:43:23.093166Z 78e1ebd Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cursor

cursor Bot commented Sep 30, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_6a365fdd-0838-47e2-930d-7b79de5206fc)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 78e1ebdf2f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


1. Record tested URL or local command, deployed/checkout SHA, demo versus authenticated mode, browser, device dimensions and date. If no accessible build or verified revision exists, mark **NOT PLAYED / NOT SCORED**.
2. Request a trace of actual player actions and outcome deltas, console/error log, and at least one cold-to-return play loop: gate → desktop → Map/Strip → contact/placement → operate → NPC encounter → result/recovery → reload. Distinguish untested stages from failed stages.
3. Sample **8–12 frames** from a real recording using a reproducible seed derived from SHA + round and spread them across the loop; include mandatory phone (375×812) and desktop (1440×900) captures and at least one combat/result frame. If only screenshots exist, sample available captures and mark animation continuity **not assessed**. Record source, timestamp or action, viewport and seed. Do not invent frames, performance numbers, interactions or outcomes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Define the reproducible frame-sampling procedure

When different critics review the same recording, deriving a seed from SHA + round does not determine which frames they select: the instruction specifies neither the hash/PRNG nor how timestamps or eligible frames are mapped from that seed, while “spread them across the loop” still permits manual selection. Consequently, the frame table cannot actually be reproduced and reviewers can unintentionally cherry-pick different evidence, undermining score comparisons across repair rounds; specify a deterministic candidate-frame ordering and selection algorithm.

Useful? React with 👍 / 👎.

Score each 0–10 with evidence:

- **Gameplay**: cold-start comprehension (20%), meaningful placement/risk choices (25%), readable encounter and exactly-once consequence feedback (25%), pacing/reward/replay motive (20%), control/accessibility/reliability (10%). A broken or unplayed critical path caps the score at 7.
- **Visuals**: scene/style/camera/lighting continuity (25%), hierarchy/legibility at final phone size (25%), clear tactical affordances and actor states (25%), alignment/overflow/safe areas and motion consistency (25%). Without adjacent frames, do not score animation continuity as observed; state the missing evidence.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Define scoring when motion evidence is unavailable

When the critic receives screenshots without adjacent frames, this rule says animation continuity is unassessed, but the Visuals score still includes motion consistency inside a weighted 25% subcriterion and must still produce a numeric result. Because there is no rule to omit, reweight, cap, or block that score, critics can calculate materially different Visuals scores from identical evidence, and one can still award an 8+ candidate-quality verdict without observing motion. Define the missing-evidence calculation or make moving evidence mandatory for the threshold.

Useful? React with 👍 / 👎.

- **Visuals**: scene/style/camera/lighting continuity (25%), hierarchy/legibility at final phone size (25%), clear tactical affordances and actor states (25%), alignment/overflow/safe areas and motion consistency (25%). Without adjacent frames, do not score animation continuity as observed; state the missing evidence.
- **Composite**: arithmetic mean of Gameplay and Visuals, rounded to one decimal; also state confidence (high/medium/low). An average cannot conceal a weak dimension.

Interpretation: 0–3 broken; 4–7 usable but below production-quality; **8+ candidate-quality** only when *each* dimension ≥8, the real phone and desktop path is evidenced, no P0/P1 remains, and critical recovery/reload behavior was exercised. This is a critique threshold, not launch authorization; external beta still depends on authenticated saved-game and release gates (notably #175). Do not move a threshold to pass.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Cover fractional scores in the verdict bands

When weighted subcriteria produce a fractional dimension score such as 3.5 or 7.5, none of the stated interpretation bands applies: 0–3 ends before 4, and 4–7 ends before the 8+ threshold. The composite is explicitly decimal-valued and no instruction restricts dimension or subcriterion scores to integers, so critics can emit scores with no defined verdict; express the bands as non-overlapping ranges such as <4, 4–<8, and ≥8, or require integer dimension scores.

Useful? React with 👍 / 👎.


Score each 0–10 with evidence:

- **Gameplay**: cold-start comprehension (20%), meaningful placement/risk choices (25%), readable encounter and exactly-once consequence feedback (25%), pacing/reward/replay motive (20%), control/accessibility/reliability (10%). A broken or unplayed critical path caps the score at 7.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not numerically score an unplayed critical path

When a build is accessible but the encounter, recovery, or reload path cannot actually be exercised, this rule still permits a Gameplay score as high as 7. That conflicts with the earlier requirement for an actual cold-to-return trace and with the later instruction to treat an unavailable environment as a blocker rather than a fake negative score, so a critic can label wholly untested gameplay “usable” from static evidence. Make an unplayed critical path NOT PLAYED / NOT SCORED, or explicitly define a narrower scoped score that cannot be presented as the Gameplay dimension.

AGENTS.md reference: AGENTS.md:L14-L14

Useful? React with 👍 / 👎.


## Independent feedback and repair loop

1. Return a ranked top-five issue list to the builder: `GG-###`, severity, action/viewport, evidence link (redacted if private), expected/observed, player harm, smallest repair or experiment, and a measurable success check. Separate confirmed defects from design hypotheses.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Define the severity scale consumed by the gates

When a critic produces the required top-five list, severity has no prescribed vocabulary, yet the verdict and testing gates specifically consume P0 and P1. A reviewer can reasonably emit critical/high/medium severities, leaving “no P0/P1 remains” and “A P0 blocks broad testing” impossible to evaluate; define the P0–P3 scale and state whether these gates apply to unresolved GG-### findings from this assessment or to the repository-wide backlog.

Useful? React with 👍 / 👎.

This branch was successfully deployed

1 active deployment
Preview — 78e1ebdf Deployed Sep 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant