一键导入
platformer-game
Mario-style 2D platformer with stomp/bump/ability/gate/combo mechanics
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Mario-style 2D platformer with stomp/bump/ability/gate/combo mechanics
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Breakout/Arkanoid-style brick breaker with paddle, ball, bricks, lives, and required powerups
深度研究方法论 — 4 阶段结构化研究框架
Endless runner — auto-running player dodges obstacles and collects pickups while distance increases
TODO 一句话描述(给 LLM 看,soft dispatch 用)
Create a pull request after typecheck, targeted tests, branch, commit, and push are complete.
Word 文档 AI 助手 — 读取、编辑、生成、审阅 DOCX 文件
| name | platformer-game |
| description | Mario-style 2D platformer with stomp/bump/ability/gate/combo mechanics |
| artifact_kind | game |
| subtype | platformer |
| declared_verbs | [{"verb":"defeat","selector":"enemiesDefeated","success":{"op":"increase","path":"enemiesDefeated"},"required":true},{"verb":"collect","selector":"blocksUsed","success":{"op":"increase","path":"blocksUsed"},"required":true},{"verb":"unlock","selector":"gatesUnlocked","success":{"op":"increase","path":"gatesUnlocked"},"required":true},{"verb":"moveTo","selector":"player.x","success":{"op":"change","path":"player.x"},"required":true},{"verb":"traverse","selector":"comboChallenge","success":{"op":"truthy","path":"coverage.comboChallenge"},"required":false}] |
Mario-style 2D side-scrolling platformer. Player walks/jumps through level segments, stomps enemies, bumps question blocks for rewards, gains rule-changing abilities (double jump / dash / wall jump etc.), and uses those abilities to unlock gated routes. At least one comboChallenge combines jump with two of stomp/bump/ability/gate.
Genre conventions:
max-width / max-height / aspect-ratio /
height: auto; narrow windows must not crop the playfield.Subtype identifier (subtype: platformer) goes in __GAME_META__ and triggers the
PlatformerChecker validation pipeline at src/host/agent/runtime/game/platformer/PlatformerChecker.ts.
This section is build-time inlined into game prompt assembly so the SKILL.md stays a single-source-of-truth reference for platformer generation guidance.
platformer, use exact shape
gameplayMechanics: { enemies: [], blocks: [], abilities: [], gates: [], comboChallenge: [] };
each field is an array even when it has one item, never an object map.stompable/defeatReward, bumpableFromBelow/reward/usedState,
acquiredFrom/effect/unlocksRoute, requiresAbility/blocksAccessTo,
requires/target. Use doubleJump, dash, shield, magnet, groundPound,
or wallJump.player.x, player.y, player.vx, player.vy, the
expect MUST be one of "increase" / "decrease" / "change", never a numeric
target. A numeric or boolean expect means exact final equality after the declared
frames, only valid for counters like enemiesDefeated / blocksUsed /
gatesUnlocked or boolean flags like abilities.doubleJump.player.x, player.vy, enemiesDefeated, blocksUsed,
abilities.doubleJump, gatesUnlocked, routesUnlocked; do not expect
score/progress/win/gate/ability changes unless that exact input window triggers
live collision.reset('stomp'),
reset('bumpBlock'), reset('gainAbility'), and reset('unlockGate') are better
than long full-level treks, but they must still use live physics/collision.runSmokeTest() proves gameplayMechanics with before/after
snapshots: stomp enemy defeated plus player bounce/vy, bump block
used/spawnedReward, ability changes, gate/route reachability after ability, and
comboChallenge sequence.| Failure Code | Hint |
|---|---|
missing_gameplay_mechanics | Add gameplayMechanics to __GAME_META__ with enemies, blocks, abilities, gates, comboChallenge (each an array, never a map). Implement collision: stomp marks enemy defeated and bounces player.vy; bump marks block used and spawns the ability; ability changes movement; gate checks ability before route access. |
gameplay_mechanics_without_runtime_evidence | Repair runSmokeTest() so it drives step() through stomp enemy, bump block, gain ability, unlock gate/route, and combo challenge — record coverage only after before/after snapshot changes prove each mechanic. |
ability_gate_without_reachability | Make one ability change movement or interaction rules and unlock a real gated route. snapshot() should expose abilities and gate/route state, and runSmokeTest() must prove ability false → true followed by gate/route unreachable → reachable. |
Other platformer-specific repair hints:
gameplayMechanics with enemies, blocks, abilities,
gates, and comboChallenge, wired to real step() gameplay and runSmokeTest()
before/after snapshot evidence.gameplayMechanics.enemies, blocks, abilities, gates, and
comboChallenge must be arrays; do not repair them as { enemies: { ... } } or
keyed object maps.stompEnemy, bumpBlock, gainAbility,
unlockGate/routeReachableAfterAbility, and comboChallenge, with stateChanges
for enemiesDefeated, player.vy/bounce, blocksUsed/spawnedReward,
abilities, and gates/routes.Platformer snapshots are expected to expose at least the following paths so
progressPlan / reachability and runSmokeTest() coverage have stable selectors:
player.x, player.y, player.vx, player.vyenemiesDefeated / defeatedEnemies (also matches
stompedEnemies, stomps)blocksUsed / blocksBumped / blockHits / spawnedRewardsabilities.doubleJump, abilities.dash, abilities.shield,
abilities.magnet, abilities.groundPound, abilities.wallJump,
or under player.abilities.*gatesUnlocked / routesUnlocked / reachableTargets,
or gates.<id>.{open,unlocked,reachable}runSmokeTest().coverage):
coverage.mechanics, coverage.rewards, coverage.risks,
coverage.stateChanges, coverage.gameplayMechanics,
coverage.mechanicsEvidence, coverage.allLevelsReachablesrc/host/agent/runtime/game/platformer/PlatformerChecker.tssrc/host/agent/runtime/game/platformer/repairCodes.tsdocs/audits/2026-05-07-game-acceptance-architecture.md §5–§6