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.
npx agentmods add skills/freestylefly/wesight/develop-web-gamenpx skills add freestylefly/wesight --skill develop-web-gamegit clone --depth 1 https://github.com/freestylefly/wesightWhat 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.
| Model | Per session | Once 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 |
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.
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.
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.
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
- Pick a goal. Define a single feature or behavior to implement.
- Implement small. Make the smallest change that moves the game forward.
- Ensure integration points. Provide a single canvas and
window.render_game_to_textso the test loop can read state. - 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. - Initialize progress.md. If
progress.mdexists, read it first and confirm the original user prompt is recorded at the top (prefix withOriginal prompt:). Also note any TODOs and suggestions left by the previous agent. If missing, create it and writeOriginal prompt: <prompt>at the top before appending updates. - Verify Playwright availability. Ensure
playwrightis available (local dependency or global install). If unsure, checknpxfirst. - Run the Playwright test script. You must run
$WEB_GAME_CLIENTafter each meaningful change; do not invent a new client unless required. - Use the payload reference. Base actions on
$WEB_GAME_ACTIONSto avoid guessing keys. - Inspect state. Capture screenshots and text state after each burst.
- Inspect screenshots. Open the latest screenshot, verify expected visuals, fix any issues, and rerun the script. Repeat until correct.
- 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_textreflects 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. - Check errors. Review console errors and fix the first new issue before continuing.
- Reset between scenarios. Avoid cross-test state when validating distinct features.
- Iterate with small deltas. Change one variable at a time (frames, inputs, timing, positions), then repeat steps 7–13 until stable.
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.
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.
- 2d ago First seen · 151 lines · 64 tokens per session scan A f0306ef9bb92
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.
Other skills, from other repositories
deepseek-harness-eac-dev
面向 Deepseek Harness EAC 源码仓库的全栈开发与维护技能。处理 Tauri/Rust 桌面壳、Node sidecar、Web bridge、DSH 插件与 preset、profile 治理、更新打包、可靠性修复、测试验收和发布准备时使用;不用于客户端功能使用说明,也不负责专项 JS 到 TS 迁移。.
eac-desktop-tips
Deepseek Harness EAC 桌面客户端功能速查 —— 退出后台运行、对话回退、插件市场、桌面宠物、Skills 与 MCP 管理等特性的使用方法与排障入口。当用户询问本客户端某个功能怎么用、去哪找设置或某个内置行为不符预期时使用。.
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…
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…
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).
feishu-create-doc
创建飞书云文档。从 Lark-flavored Markdown 内容创建新的飞书云文档,支持指定创建位置(文件夹/知识库/知识空间)。.