Skip to content
Back to skills

Find Examples

ASecurity

Use when implementing a PlayCanvas feature the project does not use yet, to find and adapt the official example matching the installed version.

  • 24 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added August 31, 2026
ai-agentsgoreactnodegitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add playcanvas/skills --skill find-examples --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Find Examples?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Find Examples
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/playcanvas-find-examples/badge)](https://www.skillsdirectory.com/skills/playcanvas-find-examples)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: find-examples
description: Use when implementing a PlayCanvas feature the project does not use yet, to find and adapt the official example matching the installed version.
---

# Official examples

Examples are version-matched recipes to adapt, not modules to import. When the Engine ships a script
for the behaviour, use `reuse-scripts` first.

## Find the example

If `node_modules/playcanvas/examples/src/examples` exists, it is a linked or source checkout: read
it locally. The npm package omits `examples/`, so otherwise fetch from the installed tag:

```sh
TAG="v$(node -p "JSON.parse(require('fs').readFileSync('node_modules/playcanvas/package.json')).version")" || exit 1
gh api "repos/playcanvas/engine/git/trees/$TAG?recursive=1" | grep -o '"examples/src/examples/[^"]*\.example\.mjs"'
gh api "repos/playcanvas/engine/contents/examples/src/examples/<category>/<name>.example.mjs?ref=$TAG" \
  --jq .content | base64 --decode
```

Read the resolved package, not the dependency list; `playcanvas` is often transitive. An empty list
means an invalid tag: stop rather than guess. Use `main` only when the version has no tag.

| Surface | Repository | Ref | Example paths |
| --- | --- | --- | --- |
| direct Engine | `playcanvas/engine` | `v<version>` | `examples/src/examples/<category>/<name>.example.mjs` |
| Web Components | `playcanvas/web-components` | `v<version>` | `examples/<name>.html` |
| React | `playcanvas/developer-site` | `main` | `docs/user-manual/react/examples/<name>.mdx` |

Search the surface's catalog first, then the Engine's. React pages track the latest package; verify
each prop against the installed declarations. Fetch example assets, including the Draco, Basis, and
Ammo decoders under `examples/assets/wasm`, from the same ref.

## Adapt it

Keep component options, scene setup, materials, shaders, assets, and update logic; drop the example
browser's controls and imports. When one example joins several systems, such as layers, depth,
camera frame, and sky, get that baseline rendering before customizing it.

Read only the reference matching the code: [direct Engine](references/direct-engine.md),
[React](references/react.md), or [Web Components](references/web-components.md).

Files in this skill

  • SKILL.md4.1 KB
  • references/direct-engine.md764 B
  • references/react.md841 B
  • references/web-components.md975 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.