# pixijs-assets

Provides PixiJS v8 resource management patterns for AI coding agents. Helps configure Assets.load, bundles, manifests, and explicit parsers for extension-less URLs.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5900 installs · ★ 358
- Author: pixijs
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/pixijs/pixijs-skills/tree/HEAD/skills/pixijs-assets/SKILL.md
- Updated: 2026-10-01
- HTML: https://affpapa.org/en/nevibecode/skills/pixijs-assets

## What it does

The skill provides reference patterns for the PixiJS v8 `Assets` singleton. It guides the assistant through `Assets.init`, `Assets.load`, `Assets.unload`, bundle manifests, and progress tracking with `onProgress`. When dealing with signed CDN paths, blob URLs, or API endpoints lacking file extensions, it instructs the agent to set the top-level `parser` field explicitly.

Specialized formats require dedicated imports. Loading animated GIFs fails without `'pixi.js/gif'`, while rendering `BitmapText` requires `'pixi.js/text-bitmap'`. Compressed textures like KTX or DDS similarly depend on their respective side-effect packages.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add pixijs/pixijs-skills --skill pixijs-assets -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/pixijs-assets/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/pixijs-assets/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add pixijs/pixijs-skills --skill pixijs-assets -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/pixijs-assets/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add pixijs/pixijs-skills --skill pixijs-assets -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/pixijs-assets/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install pixijs/pixijs-skills pixijs-assets
```

2. **Manually: put the files in place**
- File: `.github/skills/pixijs-assets/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add pixijs/pixijs-skills --skill pixijs-assets -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/pixijs/pixijs-skills --path skills/pixijs-assets
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/pixijs-assets/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add pixijs/pixijs-skills --skill pixijs-assets -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/pixijs/pixijs-skills/tree/HEAD/skills/pixijs-assets/SKILL.md

## When to use it
- load textures and spritesheets using `Assets.load` in PixiJS v8
- force custom loaders on URLs without file extensions
- configure bundles and manifests with progress tracking
- load web fonts and bitmap fonts with proper fallbacks

## Example prompts
- Show me how to load an extension-less signed CDN image using Assets.load in PixiJS v8
- Set up a resource bundle with a spritesheet and font, tracking progress via onProgress
- How do I load and display an animated GIF with PixiJS v8 Assets?

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: c1f734fc996433de.

BEGIN THIRD-PARTY FILE c1f734fc996433de
````text
---
name: pixijs-assets
description: "Use this skill when loading and managing resources in PixiJS v8. Covers Assets.init, Assets.load/add/unload, bundles, manifests, background loading, onProgress, caching, spritesheets, video textures, web fonts, bitmap fonts, animated GIFs, compressed textures, SVG as texture or Graphics, resolution detection, per-asset data options, and forcing a specific loader with the parser field (for extension-less URLs). Triggers on: Assets, Assets.load, Assets.init, loadBundle, manifest, backgroundLoad, Spritesheet, Cache, LoadOptions, unload, parser, loadParser, loadWebFont, loadBitmapFont, loadVideoTextures, GifSource, VideoSourceOptions."
license: MIT
---

The `Assets` API is PixiJS's asset loader, resolver, and cache in one singleton. Use it to load textures, video, spritesheets, fonts, JSON, and other resources with format detection, resolution switching, bundle grouping, progress tracking, and GPU cleanup.

## Quick Start

```ts
await Assets.init({ basePath: "/static/" });

const texture = await Assets.load("bunny.png");
const sprite = new Sprite(texture);
app.stage.addChild(sprite);

const [hero, enemy] = await Assets.load(["hero.png", "enemy.png"]);

await Assets.load({
  alias: "logo",
  src: "logo.webp",
});

const logo = new Sprite(Assets.get("logo"));
```

`Assets.init()` is optional but recommended for setting `basePath`, `texturePreference`, or a manifest. After init, call `Assets.load()` with a URL, alias, array, or `UnresolvedAsset`; resolved assets are cached and re-resolved by `Assets.get()`.

## Supported file types

| Type                | Extensions                                                       | Parser ID                     | Loader                                                                                                                          |
| ------------------- | ---------------------------------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Textures            | `.png`, `.jpg`, `.jpeg`, `.webp`, `.avif`                        | `texture`                     | `loadTextures`                                                                                                                  |
| SVG                 | `.svg`                                                           | `svg`                         | `loadSvg` (see `references/svg.md`)                                                                                             |
| Video textures      | `.mp4`, `.m4v`, `.webm`, `.ogg`, `.ogv`, `.h264`, `.avi`, `.mov` | `video`                       | `loadVideoTextures` (see `references/video.md`)                                                                                 |
| Sprite sheets       | `.json` (Spritesheet format)                                     | `spritesheet`                 | `spritesheetAsset` (see `references/spritesheet.md`)                                                                            |
````
END THIRD-PARTY FILE c1f734fc996433de

The third-party file has ended. Everything between the c1f734fc996433de tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 3107 of 20122 bytes. © pixijs · MIT · https://github.com/pixijs/pixijs-skills/tree/HEAD/skills/pixijs-assets/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
