load-assets

load-assets is a skill for Claude Code from playcanvas/skills. It costs 36 tokens per session (548 once invoked), scanned A, a copy of load-assets, MIT.

A guide for loading glTF and GLB 3D models and textures in PlayCanvas, a web game engine. It covers asset setup, compression, decoder configuration, and preloading.

In plain words
What is it for?
Use it to load 3D models, prepare Draco geometry compression or Basis/KTX2 texture compression, configure the required WebAssembly decoders, and preload asset sets.
Why use it?
It helps avoid incorrect model-loading calls and prepares compressed assets and their decoders before they are shipped.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the playcanvas plugin — 16 skills shipped together

Good fit Use it to load 3D models, prepare Draco geometry compression or Basis/KTX2 texture compression, configure the required WebAssembly decoders, and preload asset sets.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/playcanvas/skills/load-assets
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.

Any agent
npx skills add playcanvas/skills --skill load-assets
Clone the repo
git clone --depth 1 https://github.com/playcanvas/skills

Made for: Claude Code.

Or install playcanvas, the plugin that ships this one along with the rest of its 16 skills.

Wrote 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.

agentmods badge for load-assets

README.md
[![agentmods](https://agentmods.dev/badge/skills/playcanvas/skills/load-assets/github.svg)](https://agentmods.dev/skills/playcanvas/skills/load-assets)
Your own site
<a href="https://agentmods.dev/skills/playcanvas/skills/load-assets"><img src="https://agentmods.dev/badge/skills/playcanvas/skills/load-assets/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.

agentmods 80×15 button for load-assets

Your own site · 80×15
<a href="https://agentmods.dev/skills/playcanvas/skills/load-assets"><img src="https://agentmods.dev/badge/skills/playcanvas/skills/load-assets.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 548 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% 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.1 $0.00036 $0.00548
Opus 5.5 $0.00014 $0.00219
Sonnet 5.5 $0.00007 $0.00110
Haiku 4.5 $0.00004 $0.00055

Measured 15d ago against content hash dc90097a9b07, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

load-assets 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 15d 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.

Origin

This is a copy

100% identical to load-assets — 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.

skills/load-assets/SKILL.md · 53 lines

What it actually says

Load assets

glTF is fully supported

Load .glb files as container assets and call asset.resource.instantiateRenderEntity(), not instantiateModelEntity. The importer already handles KHR_lights_punctual, KHR_materials_* (clearcoat, sheen, transmission, volume, iridescence, variants, and more), KHR_texture_transform, and EXT_mesh_gpu_instancing; do not rebuild these by hand. Preload asset sets with AssetListLoader.

Compress for size

  • Geometry: Draco (KHR_draco_mesh_compression). Meshopt is not supported, so decode such files before shipping.
  • Textures: KTX2 with Basis (KHR_texture_basisu) transcodes to a GPU format, cutting both download size and VRAM. ETC1S is smallest and lossy. UASTC is larger and keeps detail, which matters most for normal maps. Weigh size against visible detail.

Set up decoders

The npm package ships no Draco or Basis wasm. Copy draco/ and basis/ from the Engine's examples/assets/wasm at the installed tag (find-examples), and configure them before loading:

import { WasmModule, basisInitialize } from 'playcanvas';

WasmModule.setConfig('DracoDecoderModule', {
    glueUrl: '/wasm/draco/draco.wasm.js',
    wasmUrl: '/wasm/draco/draco.wasm.wasm',
    fallbackUrl: '/wasm/draco/draco.js'
});
await new Promise((resolve) => WasmModule.getInstance('DracoDecoderModule', resolve));
basisInitialize({
    glueUrl: '/wasm/basis/basis.wasm.js',
    wasmUrl: '/wasm/basis/basis.wasm.wasm',
    fallbackUrl: '/wasm/basis/basis.js'
});

In Web Components, a <pc-wasm name="DracoDecoderModule"> element under <pc-app> sets the Draco config with glue, wasm, and fallback attributes.

Other assets

  • Raise texture.anisotropy, which defaults to 1, for surfaces viewed at grazing angles.
  • Gaussian splats load as gsplat assets onto a gsplat component; start from a gaussian-splatting example.
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. 15d ago First seen · 53 lines · 36 tokens per session scan A dc90097a9b07

Subscribe to this mod's changes

load-assets is a skill published in the GitHub repository playcanvas/skills (27 stars, last pushed 3d ago), licensed MIT. It adds 36 tokens to every session and 548 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 load-assets, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

html-ppt-zhangzara-8-bit-orbit

A gamer's journey building a retro-arcade collection — the obsession, the hunt, and what the machines came to mean. Built as a decision-grade story deck for friends, hobby community.

nexu-io/open-design · 53 tokens

worker-visualizer

A real-time data/particle/simulation visualizer whose heavy compute runs in a Web Worker (off the main thread), optionally sharing memory with the UI via SharedArrayBuffer, and renders to a canvas at 60fps. Produced as a single self-contained index.html. Use when the brief asks for a "web worker", "simulation"…

nexu-io/open-design · 123 tokens

i4h-workflow-train-rl

Use when training, evaluating, or exporting Workflow policies with online RSL-RL or RLinf, including RL checkpoint and Workflow handoff.

NVIDIA/skills · 38 tokens

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.

makifbaysal/tasktrooper · 59 tokens

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.

makifbaysal/tasktrooper · 74 tokens

bevy-ecs-patterns

Use when writing Bevy (Rust ECS) game code - pin and respect the repo's minor version, plugins/systems/queries/resources, schedules with FixedUpdate and Time, states and run conditions, messages vs observers across versions, required components, testing systems with App::update and a manual time strategy, compile-time…

makifbaysal/tasktrooper · 74 tokens