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 kevinpbuckley/VibeUE --skill pcggit clone --depth 1 https://github.com/kevinpbuckley/VibeUEWrote 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/kevinpbuckley/vibeue/pcg)<a href="https://agentmods.dev/skills/kevinpbuckley/vibeue/pcg"><img src="https://agentmods.dev/badge/skills/kevinpbuckley/vibeue/pcg/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/kevinpbuckley/vibeue/pcg"><img src="https://agentmods.dev/badge/skills/kevinpbuckley/vibeue/pcg.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00082 | $0.01744 |
| Opus 5 | $0.00041 | $0.00872 |
| Sonnet 5 | $0.00016 | $0.00349 |
| Haiku 4.5 | $0.00008 | $0.00174 |
Grade A, and why
pcg 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PCG Skill
PCG (Procedural Content Generation) in UE 5.7 is production-ready and fully scriptable via
the PCGPythonInterop plugin. No VibeUE service wrapper is needed — the Python API is complete.
⚠️ Read this before writing any code
These are the mistakes that cause infinite retry loops. Check each one before executing:
Do not call discover_python_class or discover_python_function on any PCG class — this skill contains everything you need. Calling discover bloats context and causes content filter failures.
- Volume Sampler input pin is
"Volume", not"In"—add_edge(input_node, 'In', sampler_node, 'Volume'). Using'In'silently no-ops and produces 0 points. voxel_sizeis aVector, not a float —set_editor_property('voxel_size', unreal.Vector(200, 200, 200)). Passing a float raises a TypeError.graphproperty on PCGComponent is protected — usepcg_comp.set_graph(graph), neverset_editor_property('graph', ...).- After modifying a graph, always: save → reload → reassign → generate — skipping reload means the component runs the old cached version.
- Check for existing nodes before adding — always inspect
[type(n.get_settings()).__name__ for n in graph.nodes]first. Adding a node type that already exists creates duplicates that break wiring. - Always save AND reload after every change — call
save_assetthenreload_packagesevery time. Without the reload the PCG graph editor window won't update and users will think nothing happened. - Use Volume Sampler for empty levels, not Surface Sampler — Surface Sampler requires geometry to sample from. An empty level has no geometry, so Surface Sampler always produces 0 points. Use
PCGVolumeSamplerSettingswithunbounded=Truefor empty or sparse levels. - Never spawn test actors to verify meshes or materials — do not use
spawn_actor_from_classto place test cubes. Verify by checking ISM instance counts on the PCGVolume instead:sum(c.get_instance_count() for c in volume.get_components_by_class(unreal.InstancedStaticMeshComponent)).
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.
- 10d ago First seen · 174 lines · 82 tokens per session scan A 9005f85026d1
pcg is a skill published in the GitHub repository kevinpbuckley/VibeUE (662 stars, last pushed 6d ago), licensed MIT. It adds 82 tokens to every session and 1,744 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
autonomous-game-pipeline
CIEL's framework for autonomous game generation from natural language descriptions across Godot 4, Bevy, and Babylon.js. Builds complete games with assets and proof video.
procedural-audio
CIEL's framework for procedural audio synthesis, spatial acoustics, and generative soundscapes from scene graphs. Zero static sample dependencies — pure DSP code emission.
animation-engineer
!cat skills/shared/game-visual-foundations.md 2>/dev/null || echo "=== Visual Foundations not loaded ===" !cat skills/shared/protocols/ux-protocol.md 2>/dev/null || true !cat skills/shared/protocols/input-validation.md 2>/dev/null || true !cat skills/shared/protocols/tool-efficiency.md 2>/dev/null || true !cat…
procedural-landscapes
Generate procedural 3D landscapes and terrain in Three.js using WebGPU compute shaders with automatic WebGL2 fallback. Covers heightmap generation via FBM noise, ridged multifractal, and domain warping; chunked LOD terrain meshes; slope-based multi-material texturing; procedural water planes; atmospheric sky…
gameobject-component-destroy
Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.
unity-version-split
Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).