Pixel Style Poster Skill
v92388375-gif/pixel-style-poster-skill
Generate Pixel Style Poster prompts and matching raster images.
A skill your agent uses when loading and managing resources in PixiJS v8.
$ npx skills add netaart/cohub --skill pixijs-assets -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install netaart/cohub pixijs-assets --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pixijs-assets .claude/skills/pixijs-assets && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .claude/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assetsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add netaart/cohub --skill pixijs-assets -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install netaart/cohub pixijs-assets --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/pixijs-assets .agents/skills/pixijs-assets && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .agents/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add netaart/cohub --skill pixijs-assets -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install netaart/cohub pixijs-assets --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/pixijs-assets .cursor/skills/pixijs-assets && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .cursor/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/netaart/cohub.git --path .agents/skills/pixijs-assets--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add netaart/cohub --skill pixijs-assets -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install netaart/cohub pixijs-assets --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/pixijs-assets .gemini/skills/pixijs-assets && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .gemini/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install netaart/cohub pixijs-assetsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add netaart/cohub --skill pixijs-assets -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/pixijs-assets .github/skills/pixijs-assets && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .github/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add netaart/cohub --skill pixijs-assets -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install netaart/cohub pixijs-assets --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/netaart/cohub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/pixijs-assets .opencode/skills/pixijs-assets && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pixijs-assets" agent skill from https://github.com/netaart/cohub/tree/main/.agents/skills/pixijs-assets into .opencode/skills/pixijs-assets/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pixijs-assets", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pixijs-assetsA skill your agent uses when loading and managing resources in PixiJS v8.
Pixijs Assets is an agent skill from netaart/cohub. 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…
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `references/background.md`, `references/bundles.md` and `references/caching.md`).
It sits in Game Development, covering Sprites and pixel art, Typography and Social media graphics. The repository describes itself as: A living space where people and agents create, play, and build together. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit edc669f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
pixijs.downloadFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pixijs Assets loads about 5k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 163 tokens; SKILL.md has 1,144 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from netaart/cohub at commit edc669f, republished under its MIT licence (© netaart). 1,144 words, ~5,033 tokens.
.claude/skills/pixijs-assets/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.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.
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().
| 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) |
| Bitmap fonts | .fnt, .xml | bitmap-font | loadBitmapFont (loading works by default; rendering BitmapText requires 'pixi.js/text-bitmap'; see references/fonts.md) |
| Web fonts | .ttf, .otf, .woff, .woff2 | web-font | loadWebFont (see references/fonts.md) |
| JSON | .json | json | loadJson |
| Text | .txt | text | loadTxt |
| Compressed textures | .basis, .dds, .ktx, .ktx2 | basis, dds, ktx, ktx2 | See references/compressed-textures.md |
| Animated GIFs | .gif | gif | Requires 'pixi.js/gif'; returns GifSource (see references/gif.md) |
The Parser ID column is the value you pass to the top-level parser field on an asset descriptor to force a specific loader. See "Forcing a parser" below.
parserBy default, PixiJS picks a loader by matching the file extension or MIME type. When your URL lacks an extension (CDN signed URLs, blob URLs, API endpoints, content-hashed paths), the resolver can't tell the loader what to do. Set the top-level parser field on the asset descriptor to force a specific loader:
// Signed CDN URL with no extension
const texture = await Assets.load({
src: "https://cdn.example.com/signed/abc123?token=xyz",
parser: "texture",
});
// API endpoint that returns JSON
const data = await Assets.load({
alias: "config",
src: "https://api.example.com/v1/config",
parser: "json",
});
// Extension-less font URL with explicit family
await Assets.load({
src: "https://cdn.example.com/fonts/hero-v2",
parser: "web-font",
data: { family: "Hero", weights: ["400", "700"] },
});
// Video stream without a file extension
const clipTexture = await Assets.load({
src: "https://cdn.example.com/stream/xyz",
parser: "video",
data: { mime: "video/mp4", muted: true, playsinline: true },
});The parser field goes at the top level of the asset descriptor (alongside src and data), not inside data. It takes any parser ID from the "Supported file types" table above:
'texture', 'svg', 'video': image, SVG, and video textures'json', 'text': JSON and plain text'web-font', 'bitmap-font': web and bitmap fonts'spritesheet': texture atlas JSON'gif': animated GIFs (requires 'pixi.js/gif')'basis', 'dds', 'ktx', 'ktx2': compressed textures (each requires its side-effect import)https://cdn.example.com/get?id=abc123 has no extension the loader can test against.URL.createObjectURL(blob) produces blob:... URLs with no extension./api/assets/hero-v2 where the server decides the content type./static/abc123def instead of /static/abc123def.png.If the URL does have an extension, you don't need parser; let auto-detection do its job. Only set parser when detection can't work.
loadParser is deprecatedThe v7 loadParser field still works but emits a deprecation warning. Use parser for new code.
// Old (deprecated)
await Assets.load({ src: "...", loadParser: "loadTextures" });
// New
await Assets.load({ src: "...", parser: "texture" });Every asset workflow is covered in a reference file. Pick the one that matches the question:
| Topic | Reference | When |
|---|---|---|
| Texture atlases and animations | references/spritesheet.md | Loading sprite sheets with AnimatedSprite |
| Video textures | references/video.md | .mp4, .webm, autoplay, looping, mobile |
| Web and bitmap fonts | references/fonts.md | .woff2, .fnt, font families, SDF fonts |
| Animated GIFs | references/gif.md | .gif, GifSprite, playback control |
| Grouping assets by feature | references/bundles.md | addBundle, loadBundle, unloadBundle |
| Declaring everything upfront | references/manifests.md | Assets.init({ manifest }) workflows |
| Cache lookups and cleanup | references/caching.md | Assets.get, Assets.unload, Cache |
| Priming future assets | references/background.md | backgroundLoad, backgroundLoadBundle |
| Loading screens | references/progress.md | onProgress, LoadOptions progress |
| GPU-compressed formats | references/compressed-textures.md | .ktx2, .basis, .dds, .ktx |
| Vector vs raster SVG | references/svg.md | parseAsGraphicsContext, texture mode |
| Retina + format detection | references/resolution.md | @{1,2}x, format preferences |
Assets.load(url). No setup required.references/bundles.md.Assets.init. See references/manifests.md.Assets.load. See references/progress.md.references/background.md.Assets.unload between screens. See references/compressed-textures.md and references/caching.md.references/svg.md.texturePreference and use format patterns. See references/resolution.md.There are two separate "options" concepts when loading assets:
LoadOptions: the second argument to Assets.load/loadBundle. Controls error recovery, retries, progress, and completion callbacks across a whole load.data: a field on each asset descriptor. Forwards parser-specific options (scale mode, resolution, font family, autoplay flags, etc.) to the specific loader for that asset.await Assets.load(["hero.png", "enemy.png"], {
onProgress: (p) => updateBar(p),
onError: (err, url) => {
const src = typeof url === "string" ? url : url.src;
console.warn("failed:", src, err);
},
strategy: "retry",
retryCount: 3,
retryDelay: 250,
});onProgress(progress): [0, 1] as assets in the call complete.onError(error, url): url is string | ResolvedAsset. Guard before reading .src; when url is a string, .src is undefined.strategy: 'throw' | 'skip' | 'retry' — default 'throw'. 'skip' resolves with any successful assets; 'retry' reattempts the failed ones.retryCount — default 3, retries per asset when strategy is 'retry'.retryDelay — default 250 ms between retries.Global defaults live on Loader.defaultOptions, or pass loadOptions to Assets.init().
data options (per asset)Each loader parser reads its own options from the data field on the asset descriptor. Use the table below to pick the right options for each asset type:
| Asset type | data shape | Key options | Reference |
|---|---|---|---|
| Texture (image) | TextureSourceOptions | resolution, scaleMode, alphaMode, autoGenerateMipmaps, antialias, addressMode | references/resolution.md |
| SVG | { parseAsGraphicsContext?, resolution? } | parseAsGraphicsContext for Graphics mode; resolution for sharper raster | references/svg.md |
| Video | VideoSourceOptions | autoPlay, loop, muted, playsinline, preload, updateFPS, crossorigin, mime | references/video.md |
| Web font | LoadFontData | family, weights, style, display, unicodeRange, featureSettings | references/fonts.md |
| Bitmap font | (none; auto-configured) | Distance-field detection sets scale mode and mipmaps | references/fonts.md |
| Spritesheet | { texture?, imageFilename?, ignoreMultiPack?, textureOptions?, cachePrefix? } | textureOptions forwards TextureSourceOptions (e.g. scaleMode) to the atlas image; texture to skip image load; imageFilename to override the referenced image; ignoreMultiPack to skip multi-pack follow-ups; cachePrefix to namespace frames | references/spritesheet.md |
| GIF | GifBufferOptions | fps, scaleMode, resolution, autoGenerateMipmaps | references/gif.md |
| Compressed texture | TextureSourceOptions | scaleMode, addressMode, autoGenerateMipmaps | references/compressed-textures.md |
| JSON / Text | (none) | Returned as-is | — |
Example combining LoadOptions and data:
await Assets.load(
{
alias: "hero",
src: "hero.png",
data: { scaleMode: "nearest", resolution: 2 },
},
{ strategy: "retry", retryCount: 3 },
);Inside a manifest or bundle, every entry can carry its own data:
await Assets.init({
manifest: {
bundles: [
{
name: "level1",
assets: [
{ alias: "tiles", src: "tiles.png", data: { scaleMode: "nearest" } },
{ alias: "font", src: "hero.woff2", data: { family: "Hero" } },
{
alias: "clip",
src: "intro.mp4",
data: { autoPlay: false, muted: true },
},
],
},
],
},
});Assets.init(options) accepts, alongside basePath and manifest:
defaultSearchParams — string or Record<string, any> appended to every resolved URL. Useful for cache busting.skipDetections: boolean — bypass browser format detection for faster init. Requires explicit texturePreference.format.bundleIdentifier: BundleIdentifierOptions — customize how bundle keys resolve so the same alias can live in multiple bundles.loadOptions: Partial<LoadOptions> — set the default strategy, retryCount, retryDelay, and callbacks for every subsequent Assets.load call.preferences: Partial<AssetsPreferences> — crossOrigin, preferWorkers, preferCreateImageBitmap, parseAsGraphicsContext.After init, preferences can still be tuned:
Assets.setPreferences({
crossOrigin: "anonymous",
preferCreateImageBitmap: false,
});
for (const detection of Assets.detections) {
console.log(detection.extension);
}
Assets.reset();Assets.setPreferences(preferences) — push new preferences to every parser that supports them.Assets.detections — getter exposing the registered FormatDetectionParser list; use when inspecting what formats the current environment advertises.Assets.reset() — internal full reset (resolver + loader + cache). Intended for tests so a fresh Assets.init can run.Texture.from(url) to loadWrong:
const texture = Texture.from("https://example.com/image.png");Correct:
const texture = await Assets.load("https://example.com/image.png");In v8, Texture.from() only reads the cache. It does not fetch from a URL. Use Assets.load() first; the return value is the texture itself.
Assets.add signatureWrong:
Assets.add("bunny", "bunny.png");Correct:
Assets.add({ alias: "bunny", src: "bunny.png" });The positional Assets.add(key, url) form was removed in v8. Use the options object with alias and src properties.
Assets.load() caches textures indefinitely. For level-based games or screens with distinct asset sets, call Assets.unloadBundle() when transitioning to release GPU memory.
© netaart, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 12 other files (references) in .agents/skills/pixijs-assets of netaart/cohub.
Open the folder on GitHubat commit edc669f
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in netaart/cohub, which our catalogue first saw on October 7, 2026.
Pixijs Assets next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pixijs Assets this skillnetaart/cohub | 571 | 1 repos | ~5k | Automated safety check: Pass | MIT | |
| Pixel Style Poster Skillv92388375-gif/pixel-style-poster-skill | 152 | — | ~8k | Automated safety check: Pass | MIT | |
| Opencharttryopendata/skills | 142 | — | ~11k | Automated safety check: Pass | MIT | |
| Text to PNG Card Casterlijigang/ljg-skills | 7.5k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Fantasy Movie Posterdacnay816y62-hub/fantasy-movie-poster-skill | 165 | — | ~943 | Automated safety check: Pass | None | |
| Typography Cover Designersugarforever/01coder-agent-skills | 137 | — | ~3.3k | Automated safety check: Pass | MIT |
v92388375-gif/pixel-style-poster-skill
Generate Pixel Style Poster prompts and matching raster images.
tryopendata/skills
Generates OpenChart (https://github.com/tryopendata/openchart) chart, table, graph, sankey, tilemap, and geo map specs from data, and guides editorial design decisions.
lijigang/ljg-skills
Turns text, URLs or local files into tall PNG cards through HTML typography, with four modes: long reading card, full-text layout, comic and whiteboard.
dacnay816y62-hub/fantasy-movie-poster-skill
Design original 9:16 Chinese-language cinematic movie posters from story briefs, genre keywords, or visual references, including layered cover workflows with separate image-designed background and…
sugarforever/01coder-agent-skills
Designs typography-driven video covers and thumbnails in HTML/CSS and screenshots them with Chrome DevTools at 16:9, 16:10, 9:16 and 3:4.
agentara/skills
Create AI image-generation prompts and image-generation workflows for torn-paper editorial collage style posters with layered ripped paper, rough typography, stamps, tape, stickers, cutout subjects…
netaart/cohub
A skill your agent uses when reasoning about the PixiJS v8 scene graph as a whole: how containers, leaves, transforms, and render order fit together.
netaart/cohub
A skill your agent uses when rendering custom geometry in PixiJS v8.
netaart/cohub
A skill your agent uses when drawing images in PixiJS v8. An agent skill from netaart/cohub.
netaart/cohub
A skill your agent uses when rendering text in PixiJS v8. An agent skill from netaart/cohub.
netaart/cohub
A skill your agent uses when understanding how PixiJS v8 renders frames: the systems-and-pipes renderer, the render loop, and how the library adapts to different environments.
netaart/cohub
A skill your agent uses when adding screen reader and keyboard navigation to PixiJS v8 apps.
Categories
A skill your agent uses when loading and managing resources in PixiJS v8. Pixijs Assets is an agent skill from netaart/cohub. Use this skill when loading and managing resources in PixiJS v8.
Pixijs Assets fits situations like: loading and managing resources in PixiJS v8; loadVideoTextures; videoSourceOptions.
Run `npx skills add netaart/cohub --skill pixijs-assets -a claude-code`. Or copy the skill folder (.agents/skills/pixijs-assets in netaart/cohub) into .claude/skills/pixijs-assets in your project. Claude Code loads it when a task matches its description.
Run `npx skills add netaart/cohub --skill pixijs-assets -a codex`. Or copy the skill folder (.agents/skills/pixijs-assets in netaart/cohub) into .agents/skills/pixijs-assets in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add netaart/cohub --skill pixijs-assets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixijs-assets, .gemini/skills/pixijs-assets, .github/skills/pixijs-assets and .opencode/skills/pixijs-assets in your project.
SKILL.md names no scripts, command-line tools or credentials: Pixijs Assets is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: pixijs.download. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Pixijs Assets is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Pixijs Assets: Pixel Style Poster Skill (v92388375-gif/pixel-style-poster-skill, 152 stars), Openchart (tryopendata/skills, 142 stars), Text to PNG Card Caster (lijigang/ljg-skills, 7.5k stars) and Fantasy Movie Poster (dacnay816y62-hub/fantasy-movie-poster-skill, 165 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
netaart (a GitHub organization) maintains it in netaart/cohub, which has 571 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 9, 2026.
Source: netaart/cohub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.