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 viewportgit 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/viewport)<a href="https://agentmods.dev/skills/kevinpbuckley/vibeue/viewport"><img src="https://agentmods.dev/badge/skills/kevinpbuckley/vibeue/viewport/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/viewport"><img src="https://agentmods.dev/badge/skills/kevinpbuckley/vibeue/viewport.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.00073 | $0.05284 |
| Opus 5.5 | $0.00029 | $0.02114 |
| Sonnet 5.5 | $0.00015 | $0.01057 |
| Haiku 4.5 | $0.00007 | $0.00528 |
Grade A, and why
viewport 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 4d 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 — 426 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Viewport Control Skill
Methods
| Method | Description |
|---|---|
get_viewport_info() |
Get full viewport state (type, camera, FOV, exposure, layout) |
set_viewport_type(type) |
Switch perspective/orthographic views |
get_viewport_type() |
Get current view type as string |
set_view_mode(mode) |
Switch rendering mode (lit, wireframe, unlit, etc.) |
get_view_mode() |
Get current rendering mode |
set_fov(degrees) |
Set field of view (5-170, default 90) |
get_fov() |
Get current FOV |
set_near_clip_plane(distance) |
Set near clipping plane (-1 = engine default) |
set_far_clip_plane(distance) |
Set far clipping plane (0 = infinity) |
set_exposure(fixed, ev100) |
Set fixed/auto exposure with EV100 value. ⚠️ PERSISTS into the user's editor settings — snapshot + restore (see below) |
set_exposure_game_settings() |
Reset exposure to auto (game settings) |
restore_viewport_info(info) |
Put camera, FOV, exposure, base realtime (realtime_base) and game view back to a get_viewport_info() snapshot (writes only what differs; skips the camera if the view type changed) |
capture_with_view(location, rotation, width, height, out_png, fov=0, fixed_exposure=False, ev100=0) |
Draw the REAL level viewport from a temporary camera/FOV/exposure into a PNG, then restore the viewport (on ordinary failures too; see the crash caveat below) |
get_editor_window_state() |
JSON: is the main editor window minimized / maximized / foreground |
set_editor_window_state(state) |
"restore" / "front" / "minimize" / "maximize" the main editor window (JSON reply) |
set_game_view(enable) |
Toggle Game View (hides editor icons) |
set_allow_cinematic_control(allow) |
Allow Sequencer to control viewport camera |
set_realtime(enable) |
Toggle realtime rendering |
set_camera_speed(speed) |
Set camera movement speed (1-8) |
set_viewport_layout(name) |
Switch viewport layout (single, quad, etc.) |
get_viewport_layout() |
Get current layout name |
capture_scene(location, rotation, width, height, out_png, ortho_width=0, fov=90, manual_ev100=0) |
Synchronous SceneCapture2D → PNG that works while the editor is backgrounded (see below) |
What ships with it
1 file 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.
- 4d ago Changed · +76 lines 2f6245db6d71
- 1mo ago Changed · +83 lines 8e59d23e29df
- 1mo ago Changed · +20 lines 38c7b0abaa33
- 1mo ago First seen · 247 lines · 73 tokens per session scan A e63bee055e15
viewport is a skill published in the GitHub repository kevinpbuckley/VibeUE (797 stars, last pushed 2d ago), licensed MIT. It adds 73 tokens to every session and 5,284 once invoked, about $0.0003 per session on Opus 5.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
ue5-blueprint-workflow
UE5.6/UE5.7 Blueprint graph workflow for feature implementation, input events, node wiring, and graph validation. Use when requests involve adding Blueprint logic, keyboard input behavior, function chains, event graph edits, or pin-level connection guidance.
3d-spatial-engineer
!cat skills/shared/protocols/3d-spatial-foundations.md 2>/dev/null || echo "=== 3D 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…
2d-games
2D Game Development workflow skill. Use this skill when the user needs 2D game development principles. Sprites, tilemaps, physics, camera and the operator should preserve the upstream workflow, copied support files, and provenance before merging or handing off.
ue5-pcg-building
UE5.6/UE5.7 PCG building generation workflow for modular buildings, blockouts, facade rules, and runtime generation. Use when requests involve Procedural Content Generation (PCG), Shape Grammar, lot-based building spawn, deterministic random seeds, density/filter pipelines, or converting designer constraints into…
ue5-cpp-gameplay
UE5.6/UE5.7 gameplay C++ implementation for Actors, Components, DataAssets, and gameplay logic. Use when requests ask to write .h/.cpp pairs, expose UPROPERTY/UFUNCTION to Blueprint, use GameplayTags, or build reusable component-based systems.
ue5-debug-validation
UE5.6/UE5.7 debugging and validation workflow for logs, asset checks, and regression triage. Use when requests involve troubleshooting why gameplay does not work, validating expected output, narrowing minimal repro, and producing concrete fix steps.