develop-web-game

A development and testing workflow for browser games built with HTML and JavaScript. It helps check each small change by sending inputs, pausing the game, inspecting its state, and reviewing screenshots and browser errors.

In plain words
What is it for?
Use it while building or changing a web game to run repeatable browser tests, inspect rendered game state, advance time predictably, and find console errors.
Why use it?
It catches broken game behavior during development instead of relying only on visual checks or manual play.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/freestylefly/wesight/develop-web-game
Any agent
npx skills add freestylefly/wesight --skill develop-web-game
Clone the repo
git clone --depth 1 https://github.com/freestylefly/wesight

Made for: Claude Code, Codex.

Per session 64 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,111 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 95% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00064 $0.02111
Opus 5 $0.00032 $0.01056
Sonnet 5 $0.00013 $0.00422
Haiku 4.5 $0.00006 $0.00211

Measured 2d ago against content hash f0306ef9bb92, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

develop-web-game scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/web_game_playwright_client.js), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

95% identical to develop-web-game — 4 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

SKILLs/develop-web-game/SKILL.md · 151 lines

How it starts

The opening of the file, as written. The whole thing — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Develop Web Game

Build games in small steps and validate every change. Treat each iteration as: implement → act → pause → observe → adjust.

Skill paths (set once)

export SKILLS_ROOT="${WESIGHT_SKILLS_ROOT:-${SKILLS_ROOT:-$HOME/Library/Application Support/WeSight/SKILLs}}"
export WEB_GAME_CLIENT="$SKILLS_ROOT/develop-web-game/scripts/web_game_playwright_client.js"
export WEB_GAME_ACTIONS="$SKILLS_ROOT/develop-web-game/references/action_payloads.json"

Installed skills resolve from $WESIGHT_SKILLS_ROOT / $SKILLS_ROOT (production default: app userData/SKILLs, macOS usually ~/Library/Application Support/WeSight/SKILLs).

Workflow

  1. Pick a goal. Define a single feature or behavior to implement.
  2. Implement small. Make the smallest change that moves the game forward.
  3. Ensure integration points. Provide a single canvas and window.render_game_to_text so the test loop can read state.
  4. Add window.advanceTime(ms). Strongly prefer a deterministic step hook so the Playwright script can advance frames reliably; without it, automated tests can be flaky.
  5. Initialize progress.md. If progress.md exists, read it first and confirm the original user prompt is recorded at the top (prefix with Original prompt:). Also note any TODOs and suggestions left by the previous agent. If missing, create it and write Original prompt: <prompt> at the top before appending updates.
  6. Verify Playwright availability. Ensure playwright is available (local dependency or global install). If unsure, check npx first.
  7. Run the Playwright test script. You must run $WEB_GAME_CLIENT after each meaningful change; do not invent a new client unless required.
  8. Use the payload reference. Base actions on $WEB_GAME_ACTIONS to avoid guessing keys.
  9. Inspect state. Capture screenshots and text state after each burst.
  10. Inspect screenshots. Open the latest screenshot, verify expected visuals, fix any issues, and rerun the script. Repeat until correct.
  11. Verify controls and state (multi-step focus). Exhaustively exercise all important interactions. For each, think through the full multi-step sequence it implies (cause → intermediate states → outcome) and verify the entire chain works end-to-end. Confirm render_game_to_text reflects the same state shown on screen. If anything is off, fix and rerun. Examples of important interactions: move, jump, shoot/attack, interact/use, select/confirm/cancel in menus, pause/resume, restart, and any special abilities or puzzle actions defined by the request. Multi-step examples: shooting an enemy should reduce its health; when health reaches 0 it should disappear and update the score; collecting a key should unlock a door and allow level progression.
  12. Check errors. Review console errors and fix the first new issue before continuing.
  13. Reset between scenarios. Avoid cross-test state when validating distinct features.
  14. Iterate with small deltas. Change one variable at a time (frames, inputs, timing, positions), then repeat steps 7–13 until stable.

Read the full file on GitHub · 151 lines

Files

What ships with it

6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 151 lines · 64 tokens per session scan A f0306ef9bb92

Subscribe to this mod's changes

develop-web-game is a skill published in the GitHub repository freestylefly/wesight (907 stars, last pushed 8d ago), licensed MIT. It adds 64 tokens to every session and 2,111 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 95% identical to develop-web-game, differing in 4 lines, and is treated as a copy.

Related

Other skills, from other repositories

deepseek-harness-eac-dev

面向 Deepseek Harness EAC 源码仓库的全栈开发与维护技能。处理 Tauri/Rust 桌面壳、Node sidecar、Web bridge、DSH 插件与 preset、profile 治理、更新打包、可靠性修复、测试验收和发布准备时使用;不用于客户端功能使用说明,也不负责专项 JS 到 TS 迁移。.

zouyuxuan122/DSH-Desktop-EAC · 94 tokens

eac-desktop-tips

Deepseek Harness EAC 桌面客户端功能速查 —— 退出后台运行、对话回退、插件市场、桌面宠物、Skills 与 MCP 管理等特性的使用方法与排障入口。当用户询问本客户端某个功能怎么用、去哪找设置或某个内置行为不符预期时使用。.

zouyuxuan122/DSH-Desktop-EAC · 80 tokens

katra

Chronicle development work in a committed, rich-component dev log as you build. Use when starting a piece of work that should be logged, when capturing a screenshot/gif/render into the log, when adding a before/after comparison, or at commit time to stamp the active draft with its hash + diffstat. Keywords - katra…

craigjmidwinter/getvect · 88 tokens

getvect

Convert a raster image (PNG, JPEG, BMP) into a vector file (SVG, EPS, DXF, PDF) locally, with no network call and no account. Use when you have generated or been given a bitmap and need clean editable paths — a logo to scale, line art to cut, a diagram to embed at any size. Do not use for photographs you want to keep…

craigjmidwinter/getvect · 92 tokens

release

Use when the maintainer wants to cut, prepare, or ship a code-by-wire release — e.g. says "bump version", "bump vX.Y.Z", "release it", "ship it", or "cut a release" — whether before the release (preparing the version bump and the changelog PR) or after the bump PR has merged (tagging and publishing).

luojiahai/code-by-wire · 82 tokens

feishu-create-doc

创建飞书云文档。从 Lark-flavored Markdown 内容创建新的飞书云文档,支持指定创建位置(文件夹/知识库/知识空间)。.

op7418/CodePilot · 40 tokens