Skip to main content
Run any Skill in Manus
with one click
GitHub repository

web-starter-kit

web-starter-kit contains 16 collected skills from vibegameengine, with repository-level occupation coverage and site-owned skill detail pages.

skills collected
16
Stars
17
updated
2026-07-23
Forks
0
Occupation coverage
5 occupation categories · 100% classified
repository explorer

Skills in this repository

visual-verification-gate
software-quality-assurance-analysts-and-testers

Define and execute visual acceptance before, during, and after any task that can change rendered UI, game scenes, 3D assets, animation, responsive layout, or browser behavior. Use before editing a visual surface, for redesigns that must be proven in an isolated lab before integration, after visual feedback, and before claiming a visual result complete.

2026-07-23
alpha-atlas-semantic-slicing
web-developers

Slice transparent UI atlases into production PNGs through alpha connected-components, geometric clustering, and an explicit semantic review. Use when an atlas has a keyed/transparent background, when manual crop coordinates are unreliable, when UI parts must be identified before slicing, or when an agent needs to inventory every atlas element before building UI.

2026-07-23
asset-optimization-pipeline
software-developers

How build-time asset optimization works in this project and how to extend it. Every asset (image, audio, 3D model) is shrunk at build time by a dedicated Vite plugin in `vite/`, and every asset reachable from the entry graph is auto-collected into `virtual:bootstrap-assets` and preloaded by the bootstrap gate — no hand-written manifest. Enforces the shared plugin shape (resolveId tag → load repack → emit/serve, per-import `?…` query opt-out/tuning, closeBundle savings report) and the registry wiring (ASSET_EXTENSIONS + kind). MANDATORY before: adding/importing a `.glb`/`.gltf`/image/audio asset, adding a new asset TYPE, changing texture/audio/image compression, touching the preloader weighting, or writing a new `vite/*OptimizerPlugin.ts`. Trigger on: "optimize assets", "compress texture/model/audio", "GLB import", "glTF", "gltf-transform", "reduce bundle/asset size", "preloader", "loading bar", "virtual:bootstrap-assets", "why is my asset not preloaded", "add asset type", "assetsInclude", "asset pipeline", "?

2026-07-23
fixed-tick-gameplay
software-developers

Keep all gameplay logic independent from render FPS. Use for any work on player input, movement, combat, abilities, cooldowns, enemy AI, projectiles, damage, loot, encounter state, animation timing, cameras, `useFrame`, frame-rate caps, fixed ticks, simulation clocks, replay, interpolation, or multiplayer snapshots in this project. Applies to system designers and programmers.

2026-07-23
fsd-ecs-architecture
software-developers

Where every file goes in this project's src/ and how to work in it. The codebase is Feature-Sliced Design (FSD) layers + a Unity-style ECS. ECS mapping: an ENTITY is a React component that IS a game being (features/slice/entities/*.tsx); a COMPONENT is a React hook you attach to any entity (features/slice/components/use*.ts); a SYSTEM is pure framework-free logic (features/slice/systems/*.ts). MANDATORY before adding, moving, or renaming any file under src/ — new entity, hook, system, screen, scene, feature, shared util, asset, or route. Enforces: correct layer placement, relative imports (no path aliases), deep cross-slice imports (barrels only for a feature's public screen), the app/scenes/features/shared layering, and DEV-only debug routes for lab/dead code. Trigger on: "where do I put", "add a feature", "add an entity / component / system", "new screen", "new scene", "new route", "folder structure", "FSD", "ECS", "how is src organized", "import from another feature", "where does this hook go".

2026-07-23
mobile-ui-scaling
web-and-digital-interface-designers

How to correctly make UI scale on mobile in this project. The app scales every UI screen with the external ScalableContainer (@vibegameengine/ui-scaler): content is authored in a fixed logical `targetWidth` and shrunk by `transform: scale(min(1, innerWidth/targetWidth))`. On a phone a desktop-width target collapses the UI to ~30% (tiny, unreadable). The ONE correct fix is a DYNAMIC targetWidth per device via the shared `useResponsiveTargetWidth` hook — never remove the scaler, never patch it with per-element `transform: scale(N)` compensation, never invent a new scaling system. MANDATORY whenever a screen is "too small / doesn't scale / broken on mobile", when touching `targetWidth`, ScalableContainer, a HUD/menu/overlay on mobile, or any responsive UI work. Trigger on: "mobile UI", "doesn't scale on phone", "too small on mobile", "targetWidth", "ScalableContainer", "adaptive UI", "responsive", "portrait", "HUD too big/small on mobile", "меню не скейлится", "плашка на мобилке".

2026-07-23
reference-to-3d
architects-except-landscape-and-naval

Reconstruct Blender models from supplied reference sheets, branding templates, texture atlases, orthographic front/side/back/top views, or mascot/logo art where visual fidelity to the source is more important than a plausible generated object. Use when the user says the model must match a template, wireframe, texture pack, character sheet, mascot sheet, or brand asset exactly; also use after feedback like "does not look like the reference", "fit the texture 1:1", "wrong number of visible parts", or "compare against the template". Requires Blender MCP plus local Python with Pillow/OpenCV/numpy; pairs with blender-uv-texturing, wireframe-to-3d, blender-modeling, blender-materials, and blender-export.

2026-07-23
spriteforge-pipeline
software-developers

Use SpriteForge to import, key, clean, outline, slice, or export 2D game sprites and UI atlases. Trigger when a user mentions SpriteForge, `__AGENT_API__`, chroma key/keying, pink/green background removal, sprite cleanup, outline nodes, or wants a processed SpriteForge result saved next to its source asset.

2026-07-23
threejs-instancing-materials
software-developers

Keep Three.js / react-three-fiber draw calls low in this project. Use whenever adding repeated 3D objects (props, tiles, foliage, blocks, enemies, particles, greybox/blockout geometry) or creating materials. Enforces two rules: (1) batch repeated meshes with InstancedMesh (drei <Instances>/<Instance>), never one <mesh> per object; (2) define every material and geometry ONCE in the shared registry and reuse it — tint per-instance with instance color — never `new THREE.Material()` / `new THREE.Geometry()` inline. Shared assets register with `@vibegameengine/shader-warmup`'s central warmup service. Trigger on: "too many draw calls", "scene is slow", "add N of these", "spawn", "props", "instancing", "material", "shader warmup", "shader stutter", "warmup splash", "ShaderWarmupRegistry", high draw-call count in r3f-perf.

2026-07-23
tripo-to-mixamo
software-developers

Prepare a Tripo character for direct, untouched Mixamo FBX animations. Use when a Tripo GLB is sent through Blender/Mixamo, a With-Skin FBX must become the one runtime GLB model, an animation-only Mixamo FBX must play without retargeting, or skin normals/materials break after FBX conversion.

2026-07-23
ui-kit-architecture
software-developers

Build and evolve the isolated UI-kit feature for this React game. Use when creating or changing reusable UI primitives, menus, HUD controls, dialogs, Patch9 wrappers, UI asset placement, UI-kit exports, or when deciding whether a screen should compose UI-kit rather than own another UI feature.

2026-07-23
internationalization
software-developers

Localize this React game into Russian and English with feature-owned, type-safe dictionaries. Use whenever adding or translating UI copy, locale detection, a language selector, a `t(key)` call, `ru/en` files, or localized bootstrap/menu/HUD content. Enforces the project's FSD boundaries, matching dictionary keys, browser-locale fallback, and focused localization tests.

2026-07-13
patch9-ui
web-developers

Build, slice, and repair responsive game UI in this project with the shared Patch9Button/Patch9Surface renderer. Use whenever creating or changing a HUD, main menu, modal, panel, framed button, UI atlas crop, or a UI overlay that must stay clickable inside ScalableContainer. Covers FSD placement, asset slicing, Patch9 inset configuration, interaction rules, and headed validation.

2026-07-13
threejs-scene-architecture
software-developers

Frame-cost architecture for Three.js / react-three-fiber scenes in this project: how the scene is rendered multiple times per frame (main + shadow + velocity passes), and the static/dynamic split that stops invariant work being recomputed every frame. Use when reasoning about fps/perf beyond draw calls, shadows, GI / indirect / bounce light, reflections, "why is the scene rendered several times", "why so many triangles", per-frame cost, or when adding moving objects (players, monsters, projectiles) to a mostly-static world. Enforces: tag world geometry static vs dynamic (shadowLayers.ts / <ShadowGroup>), never recompute a pass whose inputs did not change (throttle/cache shadows, bake static GI), compute only the cheap dynamic delta per frame, composite. Trigger on: "shadows every frame", "bake", "static/dynamic", "GI", "reflected light", "reflections", low fps that instancing did not fix. Pairs with threejs-instancing-materials (draw-call budget).

2026-07-10
threejs-scene-authoring
software-developers

How to BUILD / lay out Three.js / react-three-fiber scenes in this project. MANDATORY whenever placing, composing, arranging, or "dressing" scene geometry — buildings, props, trees/cones, ruins, terrain features, colored figures, level layout, greybox/blockout. Enforces the project's absolute rule (AGENTS.md #3): scenes are ALWAYS authored by hand — no RNG scatter, no seeded generators, no `range()`/random placement, no "spawn N from a loop to fill space". Every element is placed deliberately to serve a composition/reference, and EVERY step is confirmed with a headed (visible-window) screenshot before moving on. Trigger on: "build the scene", "lay out", "place", "arrange", "compose", "match the reference", "dress the set", "add buildings/trees/props", "the scene looks…", scene/level construction of any kind. Pairs with threejs-instancing-materials (draw calls) and threejs-scene-architecture (frame cost / static-dynamic).

2026-07-10
text-to-blender
software-developers

Drive Blender from natural language. Converts plain-English requests ("model a sword and render it with cinematic lighting", "make this glass look frosted", "set up three-point lighting", "export this scene as glTF for the web") into Blender Python code executed via the Blender MCP server. Acts as the orchestrator that picks and chain-loads specialised sub-skills (blender-modeling, blender-materials, blender-lighting, blender-cameras, blender-rendering, blender-animation, blender-export, wireframe-to-3d, blender-pro-workflow, blender-skill-harmonizer, quality-refinement-autoloop). Use this skill whenever the user wants Claude to do anything in Blender, including creating geometry, applying materials, lighting a scene, framing a camera, rendering, animating, or exporting. Make sure to invoke this skill even if the user does not say "Blender" — also covers requests like "create a 3D model of...", "render this...", "make a glTF from...", "set up a scene with...", or any 3D-creation task. Requires the Blender MCP

2026-07-09
web-starter-kit Agent Skills on GitHub | SkillsMP