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 skills add playcanvas/skills --skill reuse-scriptsgit clone --depth 1 https://github.com/playcanvas/skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/playcanvas/skills/reuse-scripts)<a href="https://agentmods.dev/skills/playcanvas/skills/reuse-scripts"><img src="https://agentmods.dev/badge/skills/playcanvas/skills/reuse-scripts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/playcanvas/skills/reuse-scripts"><img src="https://agentmods.dev/badge/skills/playcanvas/skills/reuse-scripts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.00418 |
| Opus 5.5 | $0.00010 | $0.00167 |
| Sonnet 5.5 | $0.00005 | $0.00084 |
| Haiku 4.5 | $0.00003 | $0.00042 |
Grade A, and why
reuse-scripts 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 26d 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
100% identical to reuse-scripts — 0 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.
What it actually says
Reuse shipped Engine code
Before writing behaviour, check what the installed playcanvas package already provides.
Scripts live under scripts/esm/**; import only from there. List them:
rg 'static scriptName =' node_modules/playcanvas/scripts/esm \
| sed "s|.*/scripts/esm/||; s|:.*static scriptName = ['\"]| -> |; s|['\"].*||" \
| sort
Common ones are CameraControls, FirstPersonController, ThirdPersonController,
ShadowCatcher, ProceduralSky, Water, and Grid, plus XR and splat scripts. Modules under
scripts/esm/parsers are resource-handler classes, not scripts.
Core exports that are not scripts include CameraFrame for post-processing, Picker
(getSelectionAsync), TransformGizmo, OutlineRenderer, MiniStats, GltfExporter, and
UsdzExporter.
Integrate
- Read the source for exports,
@attributeproperties, defaults, and required components. - Find its official example with
find-examples, and copy the assets, layers, scene settings, and render setup it depends on. - Adapt configuration and extension points. If nothing fits, implement only the missing part and say what was missing.
- After a rendered frame, fail on console, shader, or missing-asset errors.
Keep a shipped script's input mapping and damping unless asked otherwise, and verify input directions with real input rather than deriving signs from memory.
Grouped property updates differ by surface; preserve defaults you do not change. Read only the reference matching the code: direct Engine, React, or Web Components.
What ships with it
3 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.
- 26d ago Changed · -23 lines · -10 tokens per session 1f7ee18582a4
- 1mo ago Changed · +4 lines · -4 tokens per session fc19fc9c7f88
- 1mo ago First seen · 60 lines · 39 tokens per session scan A 44eec87ae34a
reuse-scripts is a skill published in the GitHub repository playcanvas/skills (31 stars, last pushed 5d ago), licensed MIT. It adds 25 tokens to every session and 418 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to reuse-scripts, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
i4h-workflow-train-rl
Use when training, evaluating, or exporting Workflow policies with online RSL-RL or RLinf, including RL checkpoint and Workflow handoff.
cdf-autonomous-vehicle-dataset-generation
Prepare payloads, run and monitor the Autonomous Vehicle Dataset Generation Airflow workflow, and inspect results for driving-clip retrieval and Cosmos3-Nano variants. Existing clips with no retrieval use cdf-video-data-augmentation; seed-image event or anomaly generation uses cdf-event-video-generation.
game-engine-choice
Use when a game task could run on more than one engine or the repository has no engine yet - read the repo's engine and pinned version, and only for a brand-new game pick one from platforms, 2D/3D, team language, scale and licensing.
game-networking
Use when touching multiplayer code - authoritative server, client prediction and reconciliation, interpolation, lockstep and rollback, server-side validation of every RPC per engine (Netcode, Unreal replication, Godot multiplayer, Colyseus, Bevy crates), bandwidth and versioned messages.
game-visual-self-review
Use when you are about to hand off a change a player can see - the exact steps to look at it running (web game in the browser at two viewports plus a seeded Playwright smoke run for input and console errors; engine games through a headless frame capture), the checklist, and how to report what could not be observed.
other-engines-quickref
Use when the repository is Defold, MonoGame, pygame/pygame-ce, Excalibur or KAPLAY (or melonJS, Stride, Python arcade, macroquad/ggez) - each engine's lifecycle and delta, where logic goes, the test runner, the headless build/run command, and how to capture a frame.