Unreal Bridge
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
Creates and edits AnimSequence keyframes and bone tracks in Unreal Engine through AnimSequenceService, following an inspect, preview, validate and bake workflow with correct bone-space handling.
$ npx skills add kevinpbuckley/VibeUE --skill animsequence -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kevinpbuckley/VibeUE animsequence --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/kevinpbuckley/VibeUE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Content/Skills/animsequence .claude/skills/animsequence && 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 "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .claude/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequenceType 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 kevinpbuckley/VibeUE --skill animsequence -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kevinpbuckley/VibeUE animsequence --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Content/Skills/animsequence .agents/skills/animsequence && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .agents/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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 kevinpbuckley/VibeUE --skill animsequence -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kevinpbuckley/VibeUE animsequence --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Content/Skills/animsequence .cursor/skills/animsequence && 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 "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .cursor/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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/kevinpbuckley/VibeUE.git --path Content/Skills/animsequence--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 kevinpbuckley/VibeUE --skill animsequence -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kevinpbuckley/VibeUE animsequence --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Content/Skills/animsequence .gemini/skills/animsequence && 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 "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .gemini/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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 kevinpbuckley/VibeUE animsequenceInstalls 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 kevinpbuckley/VibeUE --skill animsequence -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .github/skills && cp -r skills-src/Content/Skills/animsequence .github/skills/animsequence && 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 "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .github/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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 kevinpbuckley/VibeUE --skill animsequence -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kevinpbuckley/VibeUE animsequence --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kevinpbuckley/VibeUE.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Content/Skills/animsequence .opencode/skills/animsequence && 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 "animsequence" agent skill from https://github.com/kevinpbuckley/VibeUE/tree/master/Content/Skills/animsequence into .opencode/skills/animsequence/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "animsequence", 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.
animsequenceCreates and edits AnimSequence keyframes and bone tracks in Unreal Engine through AnimSequenceService, following an inspect, preview, validate and bake workflow with correct bone-space handling.
The skill wraps unreal.AnimSequenceService and unreal.SkeletonService, run through execute_python_code, to add or remove keyframes, set bone tracks, query sequence information and bake edits into a sequence. Discovery goes through safe methods such as list_skeletons, find_animations_for_skeleton and list_anim_sequences, which read asset metadata without loading assets into memory; the skill specifically warns against calling unreal.load_asset() in a loop because it causes memory crashes.
Every bone rotation must declare its coordinate space explicitly, defaulting to local (relative to the parent bone) for ordinary edits, with component space for cross-bone coordination and world space rarely used. The workflow runs inspect, profile, preview, validate, then bake, and a companion animation-editing skill handles constraint-aware bone posing while a skeleton skill covers bone hierarchy and retargeting. Reference files cover the API, bone rotation, data structures, method categories, patterns and workflows, plus a script for inspecting a sequence.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dc051be. 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.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Unreal AnimSequence Editor loads about 3.2k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 664 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); the scripts in this folder are not scanned.
The full file from kevinpbuckley/VibeUE at commit dc051be, republished under its MIT licence (© kevinpbuckley). 664 words, ~3,159 tokens.
.claude/skills/animsequence/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.🧠 Brains complement: IF an
unreal-engine-skills-managertool (external MCP) exists in this session, call it with{action: "load", skill: "animation-system"}for UE domain knowledge on this topic — correct APIs, architecture, best practices — and treat it as the rubric for any review / "best practices" question. If no such tool is available (e.g. running under Claude Code or Codex without that MCP), skip this line entirely and proceed with this skill alone — do NOT attempt the call.
This skill covers the inspect → profile → preview → validate → bake workflow for safe animation bone edits with correct bone-space handling and constraint validation.
Loading skills: skills load via the engine's
AgentSkillToolset(ListSkills/GetSkills) — there is novibeue-skills-managertool. Run the VibeUE services below withexecute_python_code(unreal.AnimSequenceService.<method>()/unreal.SkeletonService.<method>()).Related Skills:
- skeleton - For modifying skeleton bone transforms/hierarchy and retargeting modes
- animation-blueprint - For state machines and AnimGraph navigation
Workflow: Create skeleton profile → Learn constraints → Preview bone rotations → Validate pose → Bake to keyframes
🛡️ SAFE DISCOVERY: Always use VibeUE service methods
DO NOT use
unreal.load_asset()in loops - causes memory crashes!USE THESE SAFE METHODS:
unreal.SkeletonService.list_skeletons(search_path)- Find skeletonsunreal.AnimSequenceService.find_animations_for_skeleton(skeleton_path)- Find animationsunreal.AnimSequenceService.list_anim_sequences(search_path, skeleton_filter)- List all animationsThese methods query asset metadata WITHOUT loading assets into memory.
- animation-blueprint - For state machines and AnimGraph navigation
Workflow: Create skeleton profile → Learn constraints → Preview bone rotations → Validate pose → Bake to keyframes
All bone rotations must specify the coordinate space. Default to "local" for user intent.
| Space | Description | Use For |
|---|---|---|
"local" | Relative to parent bone | Most edits (default) |
"component" | Relative to skeletal mesh root | Cross-bone coordination |
"world" | World coordinates | Rarely used for animations |
# WRONG: Assuming space or not specifying
unreal.AnimSequenceService.apply_bone_rotation(path, "arm", rot, ...)
# CORRECT: Always specify space explicitly
unreal.AnimSequenceService.preview_bone_rotation(
path, "upperarm_r", unreal.Rotator(0, 30, 0), "local", 0
)Never apply edits directly without validation. Use the preview workflow:
import unreal
anim_path = "/Game/Anims/AS_Idle"
# Step 1: PREVIEW the edit
result = unreal.AnimSequenceService.preview_bone_rotation(
anim_path, "upperarm_r", unreal.Rotator(0, 45, 0), "local", 0
)
# Step 2: VALIDATE against constraints
validation = unreal.AnimSequenceService.validate_pose(anim_path, True) # Use learned constraints
if not validation.is_valid:
for msg in validation.violation_messages:
print(f"⚠️ {msg}")
# Option A: Cancel and adjust
unreal.AnimSequenceService.cancel_preview(anim_path)
# Option B: Accept clamped values and continue
# Step 3: BAKE if valid
if validation.is_valid:
result = unreal.AnimSequenceService.bake_preview_to_keyframes(
anim_path, 0, -1, "cubic"
)
print(f"✓ Baked frames {result.start_frame} to {result.end_frame}")Create a skeleton profile to get hierarchy, constraints, and learned ranges:
# WRONG: Editing without understanding the skeleton
unreal.AnimSequenceService.apply_bone_rotation(...)
# CORRECT: Build profile first
profile = unreal.SkeletonService.create_skeleton_profile("/Game/SK_Mannequin")
print(f"Skeleton has {profile.bone_count} bones")
# Check if constraints are available
if not profile.has_learned_constraints:
# Learn from existing animations
constraints = unreal.SkeletonService.learn_from_animations("/Game/SK_Mannequin", 50, 10)
print(f"Learned from {constraints.animation_count} animations")User intent is expressed in Euler angles (degrees), but always use quaternions internally to avoid gimbal lock:
# User intent: "rotate forearm 30 degrees"
rotation_delta = unreal.Rotator(0, 30, 0) # Euler (Roll, Pitch, Yaw)
# The service converts to quaternion internally
result = unreal.AnimSequenceService.preview_bone_rotation(
anim_path, "lowerarm_r", rotation_delta, "local", 0
)
# To inspect quaternion values:
euler = unreal.AnimSequenceService.quat_to_euler(some_quat)# WRONG - space is ambiguous
transform = unreal.Transform(rotation=some_rotation)
# This may be interpreted incorrectly
# CORRECT - always specify space
result = unreal.AnimSequenceService.preview_bone_rotation(
anim_path, bone, rotation, "local", frame
)# WRONG - direct edit without checking constraints
unreal.AnimSequenceService.apply_bone_rotation(
path, "lowerarm_r", unreal.Rotator(0, 180, 0), # Impossible elbow bend!
"local", 0, -1, True
)
# CORRECT - preview → validate → bake
result = unreal.AnimSequenceService.preview_bone_rotation(...)
validation = unreal.AnimSequenceService.validate_pose(path, True)
if validation.is_valid:
unreal.AnimSequenceService.bake_preview_to_keyframes(...)# WRONG - assuming pitch raises arm
rotation = unreal.Rotator(0, 90, 0) # May not do what you expect!
# CORRECT - analyze reference pose first
ref_pose = unreal.AnimSequenceService.get_reference_pose(skeleton_path)
for bp in ref_pose:
if bp.bone_name == "upperarm_r":
euler = unreal.AnimSequenceService.quat_to_euler(bp.transform.rotation)
print(f"Reference: Roll={euler.roll}, Pitch={euler.pitch}, Yaw={euler.yaw}")
# Now you know the baseline to add deltas to# WRONG - editing without profile
unreal.AnimSequenceService.preview_bone_rotation(...) # No constraints!
# CORRECT - build profile first
unreal.SkeletonService.create_skeleton_profile(skeleton_path)
# Now constraints are available for validation# WRONG - Loading assets causes memory access violations (0xC0000005)
asset_subsystem = unreal.get_editor_subsystem(unreal.EditorAssetSubsystem)
assets = asset_subsystem.list_assets("/Game", recursive=True)
for asset_path in assets:
anim = unreal.load_asset(asset_path) # ❌ CRASHES!
if anim and hasattr(anim, 'get_skeleton'):
skeleton = anim.get_skeleton() # Memory violation
# CORRECT - Use Asset Registry API (no loading required)
asset_registry = unreal.AssetRegistryHelpers.get_asset_registry()
filter = unreal.ARFilter(
class_paths=[unreal.TopLevelAssetPath("/Script/Engine", "AnimSequence")],
recursive_paths=True,
package_paths=["/Game"]
)
anim_assets = asset_registry.get_assets(filter)
for asset_data in anim_assets:
# Access metadata without loading
anim_name = asset_data.asset_name
anim_path = asset_data.object_path
# Get skeleton path from asset registry tags
skeleton_tag = asset_data.get_tag_value("Skeleton")Why this crashes:
unreal.load_asset() loads full asset into memorySafe alternatives:
FindAnimationsForSkeleton() - BEST OPTIONBEST: Use VibeUE AnimSequenceService methods
# CORRECT - VibeUE safe discovery (no loading)
import unreal
skeleton_path = "/Game/Characters/SK_Mannequin"
# Get all animations for a skeleton - no loading!
anims = unreal.AnimSequenceService.find_animations_for_skeleton(skeleton_path)
for anim_info in anims[:10]:
print(f"{anim_info.anim_name}")
print(f" Duration: {anim_info.duration:.2f}s")
print(f" Frames: {anim_info.frame_count}")
print(f" Path: {anim_info.anim_path}")Other safe VibeUE methods:
list_anim_sequences(search_path, skeleton_filter) - List all in pathget_anim_sequence_info(anim_path) - Get single anim infosearch_animations(name_pattern, search_path) - Find by name patternAll anim_path parameters require the FULL asset path (package_name), NOT the folder path (package_path).
When using AssetDiscoveryService.search_assets(), use package_name NOT package_path:
import unreal
# Search for an animation
results = unreal.AssetDiscoveryService.search_assets("Run", "AnimSequence")
if results:
asset = results[0]
# CORRECT: Use package_name (full asset path)
anim_path = str(asset.package_name) # e.g., "/Game/Animations/Run/AS_Run_Forward"
# WRONG: Do NOT use package_path (folder only)
# folder = asset.package_path # e.g., "/Game/Animations/Run" - This will FAIL!
# Now you can use the anim_path with AnimSequenceService
info = unreal.AnimSequenceService.get_anim_sequence_info(anim_path)Load these sibling docs for deeper coverage of specific topics:
execute_python_code)scripts/inspect_sequence.txt — safely inspect AnimSequences for a skeleton (metadata, no asset loading).© kevinpbuckley, 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 7 other files (scripts) in Content/Skills/animsequence of kevinpbuckley/VibeUE.
Open the folder on GitHubat commit dc051be
Unreal AnimSequence Editor 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 |
|---|---|---|---|---|---|---|
| Unreal AnimSequence Editor this skillkevinpbuckley/VibeUE | 724 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Unreal BridgeTornLux/UnrealBridge | 305 | — | ~8.4k | Automated safety check: Notes | MIT | |
| Scenario Unreal Cinematicsscenario-labs/skills | 913 | — | ~5.1k | Automated safety check: Pass | MIT | |
| Scenario Unreal Pipeline Automationscenario-labs/skills | 913 | — | ~5k | Automated safety check: Pass | MIT | |
| Scenario Unreal Expertscenario-labs/skills | 913 | — | ~6.4k | Automated safety check: Pass | MIT | |
| Scenario Unreal Gameplayscenario-labs/skills | 913 | — | ~5.2k | Automated safety check: Pass | MIT |
TornLux/UnrealBridge
Execute Python scripts inside a running Unreal Engine 5.3+ editor via TCP bridge.
scenario-labs/skills
A skill your agent uses when making a trailer, cutscene, cinematic or short film in Unreal Engine 5.8 with Sequencer: shot lists, master and shot sequences, cameras, lenses, depth of field, camera…
scenario-labs/skills
A skill your agent uses when importing FBX, USD, OBJ or glTF from Maya, ZBrush or Blender into Unreal Engine 5.8 in bulk or reimporting changed files, writing Editor Python tools, Interchange…
scenario-labs/skills
A skill your agent uses when an agent drives Unreal Engine 5.8 on a Mac for any task: Editor Python (the unreal module), headless UnrealEditor-Cmd -run=pythonscript jobs, Epic's Unreal MCP server…
scenario-labs/skills
A skill your agent uses when building or debugging UE5 gameplay: a character with double jump or dash, abilities with cooldowns, enemy AI that patrols, chases and attacks, a health bar or HUD…
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
kevinpbuckley/VibeUE
Previews, validates and bakes bone-rotation edits on Unreal Engine AnimSequences, enforcing a coordinate space and a constraint-checked preview-validate-bake loop.
kevinpbuckley/VibeUE
Creates and edits Unreal Engine Animation Montages through AnimMontageService: sections, slots, segments, branching points, notifies and blend settings.
kevinpbuckley/VibeUE
Imports files into Unreal Engine, exports textures, reads the Content Browser selection and checks open assets via VibeUE, plus mesh reimport material fixes.
kevinpbuckley/VibeUE
Changes Unreal Engine console variables, scalability levels and raw INI values through VibeUE's Python API, now that registered settings moved to the engine's own toolset.
kevinpbuckley/VibeUE
Creates and wires Unreal Engine Enhanced Input assets through VibeUE's InputService: Input Actions, Mapping Contexts, key bindings, triggers and modifiers.
kevinpbuckley/VibeUE
Creates, edits and inspects Unreal Engine UserDefinedEnums and UserDefinedStructs through Python, including adding values or members and reading internal versus display names.
Works with
Categories
Creates and edits AnimSequence keyframes and bone tracks in Unreal Engine through AnimSequenceService, following an inspect, preview, validate and bake workflow with correct bone-space handling. SkeletonService, run through execute_python_code, to add or remove keyframes, set bone tracks, query sequence information and bake edits into a sequence.load_asset() in a loop because it causes memory crashes.
Unreal AnimSequence Editor fits situations like: creating a new animation sequence or adding keyframes to an existing one; editing raw bone tracks in an Unreal Engine animation asset; querying which animations exist for a given skeleton without loading every asset.
Run `npx skills add kevinpbuckley/VibeUE --skill animsequence -a claude-code`. Or copy the skill folder (Content/Skills/animsequence in kevinpbuckley/VibeUE) into .claude/skills/animsequence in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kevinpbuckley/VibeUE --skill animsequence -a codex`. Or copy the skill folder (Content/Skills/animsequence in kevinpbuckley/VibeUE) into .agents/skills/animsequence 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 kevinpbuckley/VibeUE --skill animsequence -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/animsequence, .gemini/skills/animsequence, .github/skills/animsequence and .opencode/skills/animsequence in your project.
SKILL.md names no scripts, command-line tools or credentials: Unreal AnimSequence Editor is instructions for the agent only. Our summary lists: Unreal Engine with the VibeUE plugin and its AnimSequenceService.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Unreal AnimSequence Editor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Unreal AnimSequence Editor: Unreal Bridge (TornLux/UnrealBridge, 305 stars), Scenario Unreal Cinematics (scenario-labs/skills, 913 stars), Scenario Unreal Pipeline Automation (scenario-labs/skills, 913 stars) and Scenario Unreal Expert (scenario-labs/skills, 913 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kevinpbuckley (a GitHub user) maintains it in kevinpbuckley/VibeUE, which has 724 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 7, 2026.
Source: kevinpbuckley/VibeUE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.