Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

game-quality-gates游戏质量门

Agent Skill

game-quality-gates 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

11,592

周安装

483

GitHub Stars

公开资料未说明

下载量

3,864
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:game-quality-gates(游戏质量门)
来源仓库:https://github.com/abczsl520/game-quality-gates
安装命令:
openclaw skills install game-quality-gates
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install game-quality-gates

简介

提供游戏项目的质量检查与强制门禁,保障代码和构建安全。

  • 适用于 H5、Canvas、WebGL、Phaser 等前端游戏框架的审查流程。
  • 在构建、调试或部署阶段执行自动化检查,提升项目稳定性。
  • 使用时需确认项目技术栈和 CI/CD 集成方式,避免兼容性问题。
  • 建议根据实际需求配置检查规则和阈值。

SKILL.md

name
game-quality-gates
description
Game development quality gates and mandatory checks. Activate when building, reviewing, debugging, or deploying any game project (H5/Canvas/WebGL/Phaser/Three.js/2D/3D). Covers state cleanup, lifecycle management, input handling, audio, persistence, networking, anti-cheat, and performance. Use as pre-deploy checklist or when diagnosing game-specific bugs (state leaks, phantom timers, buff conflicts, memory growth, touch issues).

Game Quality Gates

Mandatory quality standards for all game projects. Based on 70+ real bugs and industry best practices.

Core Principle

Bugs come from cross-state interactions, not individual features. Each feature works alone; they break in combination.

12 Universal Rules (all games)

1. Single Cleanup Entry Point 🔄

All exit paths (death/level-complete/quit/pause/scene-switch) call ONE cleanup method with options.

cleanupGameState(opts) {
  // Fixed order: sub-objects → buffs+timers → UI → projectiles → (optional) enemies/controls/events
}
// Every exit: resetBall(), levelComplete(), gameOver(), onShutdown() → calls this

New feature = add one line here. Never scatter cleanup across exits.

2. Respect Active Buffs ⚡

Any code modifying attributes (speed/attack/size/defense) must check for active temporary effects first.

// ❌ speed = Math.max(speed, BASE_SPEED);  // ignores slow buff
// ✅ speed = Math.max(speed, this._currentBaseSpeed);  // buff-aware baseline

3. Cache Before Destroy 📦

Extract all needed data before destroy()/dispose()/remove().

const { x, y } = obj; const color = obj.getData('color');
obj.destroy();
spawnParticles(x, y, color);

4. Timers Follow Lifecycle ⏰

Track all setTimeout/setInterval/delayedCall/rAF. Cancel in cleanup.

this.activeTimers.push(this.time.delayedCall(10000, cb));
// In cleanup: this.activeTimers.forEach(t => t.remove(false));

5. Frame-Rate Independent Logic 🖥️

Multiply all time-dependent logic by delta. Never assume 60fps.

// ✅ player.x += speed * (delta / 1000);
  • Phaser update(time, delta): delta in ms, divide by 1000
  • Three.js clock.getDelta(): returns seconds
  • Physics: prefer fixed timestep (accumulate delta, step every 16.67ms)

6. Scene Transition = Full Cleanup 🚪

On scene/level switch, clean: event listeners, timers, rAF, audio nodes, object pools, WebGL resources (geometry/material/texture dispose), global state, pending fetch/XHR.

Verify: Chrome DevTools → Memory → heap snapshots before/after transition.

7. Audio Lifecycle 🔊

  • iOS: AudioContext must resume() inside a user interaction event
  • visibilitychange → pause all audio when hidden, resume when visible
  • WeChat WebView: WeixinJSBridge.invoke('getNetworkType') before autoplay
  • Pool short sound effects; manage background music separately

8. Input Safety 👆

  • Purchase/consume actions: mutex lock + visual disable
  • Attack/fire: cooldown timer
  • State toggles (pause/resume): state machine guard
  • See Phaser reference for multi-touch pointer ID tracking

9. Save State Persistence 💾

  • Include version field for migration when game updates
  • Only persist meaningful state (not particles/temp animations)
  • Auto-save on: level end, manual save, visibilitychange (hidden)
  • localStorage limit 5MB; use IndexedDB for larger saves
  • WeChat: use wx.setStorage (not localStorage)

10. Network Fault Tolerance 🌐

All network calls (leaderboard/share/ads/sync): 5s timeout + local cache fallback + no blocking game flow on failure.

11. Asset Loading Strategy 📦

Three tiers: critical (startup, <2s) → level assets (loading screen) → deferred (background lazy load). Fatal error only for critical failures; degrade gracefully for non-critical.

Compression: GLB+Draco, WebP images, MP3+OGG dual audio, sprite atlases.

12. Anti-Cheat Baseline 🛡️

Client is untrusted. Server validates:

  • One-time raid tokens (bind user+timestamp, single use)
  • Play duration sanity check (can't finish 30 levels in 3 seconds)
  • Score range validation
  • See references/anti-cheat.md for implementation patterns

Engine-Specific Rules

For Phaser-specific rules (pointer ID tracking, physics group cleanup, OVERLAP_BIAS, time vs physics pause): → Read references/phaser.md

For Three.js-specific rules (dispose trio, GLB compression pipeline, animation state machine, prune pitfalls): → Read references/threejs.md


Pre-Deploy Checklist

Run this checklist before every deployment:

🔴 Universal (all games)

  • [ ] New objects cleaned in cleanupGameState()?
  • [ ] New timers cancelled in cleanup?
  • [ ] Attribute changes respect active buffs?
  • [ ] Data cached before destroy?
  • [ ] Movement/animation uses delta time?
  • [ ] No memory leaks across scene transitions? (DevTools verify)
  • [ ] Audio pauses on background/lock?
  • [ ] Purchase/consume has duplicate-click prevention?
  • [ ] Save has version number + migration?
  • [ ] Network calls have timeout + fallback?
  • [ ] Asset load failure has graceful degradation?
  • [ ] Critical operations (spend/settle) server-validated?

🟡 Mobile Extra

  • [ ] Multi-touch: each finger tracked independently?
  • [ ] iOS AudioContext resumed after first interaction?
  • [ ] WeChat WebView compatible (no advanced CSS like backdrop-filter)?
  • [ ] Virtual joystick/buttons don't overlap game area?
  • [ ] Orientation change handled?

🔵 Engine-specific

→ See references/phaser.md or references/threejs.md for engine checklists.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

92.04%
按下载量换算3,556

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills