About spline-3d-integration
A skill for developers embedding interactive Spline 3D scenes in web projects. It covers integration choices across common front-end stacks, runtime interaction, performance, and troubleshooting, with working examples.
Key features
- 01Choose an integration by stack
- 02Cover vanilla web, React, Next.js, and Vue
- 03Guide scene URL setup
- 04Show runtime interaction examples
- 05Address performance and troubleshooting
Use cases
- 01Embed an interactive 3D scene in a website
- 02Select an approach for a front-end framework
- 03Troubleshoot scene loading and interaction
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill spline-3d-integrationAfter installing, type/spline-3d-integrationin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
examples/interactive-scene.tsxreact-spline-wrapper.tsxvanilla-embed.htmlguides/PERFORMANCE.mdREACT_INTEGRATION.mdVANILLA_INTEGRATION.mdCOMMON_PROBLEMS.mdDetails
From the project READMESpline 3D Integration Skill
Master guide for embedding interactive 3D scenes from Spline.design into web projects.
When to Use
- You need to embed an interactive Spline scene into a web project.
- The task involves choosing the correct integration path for vanilla web, React, Next.js, Vue, or iframe contexts.
- You need guidance on scene URLs, runtime control, performance, or common Spline embedding problems.
Quick Reference
| Task | Guide |
|---|---|
| Vanilla HTML/JS embed | guides/VANILLA_INTEGRATION.md |
| React / Next.js / Vue embed | guides/REACT_INTEGRATION.md |
| Performance & mobile optimization | guides/PERFORMANCE.md |
| Debugging & common problems | guides/COMMON_PROBLEMS.md |
Working Examples
| File | What it shows |
|---|---|
| examples/vanilla-embed.html | Minimal vanilla JS embed with background + fallback |
| examples/react-spline-wrapper.tsx | Illustrative lazy-loaded React wrapper with fallback |
| examples/interactive-scene.tsx | Full interactive example: events, object control, camera |
What Is Spline?
Spline is a browser-based 3D design tool — think Figma, but for 3D. Designers create interactive 3D scenes (objects, materials, animations, physics, events) in the Spline editor, then export them for the web via a hosted .splinecode file URL.
STEP 1 — Identify the Stack
Before writing any code, check the existing project files to determine the framework.
| Stack | Method |
|---|---|
| Vanilla HTML/JS | <spline-viewer> web component OR @splinetool/runtime |
| React / Vite | @splinetool/react-spline |
| Next.js | @splinetool/react-spline/next |
| Vue | @splinetool/vue-spline |
| iframe (Webflow, Notion, etc.) | Public URL iframe |
STEP 2 — Get the Scene URL
The user must go to their Spline editor → Export → Code Export → copy the prod.spline.design URL:
https://prod.spline.design/XXXXXXXXXXXXXXXX/scene.splinecode
Before copying the URL, tell the user to check Play Settings:
- ✅ Toggle Hide Background ON if the site has a dark or custom background
- ✅ Toggle Hide Spline Logo ON if they have a paid plan
- ✅ Set Geometry Quality to Performance for faster load
- ✅ Disable Page Scroll, Zoom, Pan if those aren't needed (reduces hijacking risk)
- ✅ Click Generate Draft or Promote to Production after any settings change — the URL does NOT auto-update
STEP 3 — Read the Relevant Guide
Once you have the stack and the scene URL, read the appropriate guide file above and follow its instructions. Always read COMMON_PROBLEMS.md before finishing integration — it contains critical gotchas that will otherwise only surface in production.
Strict Rules
Use Spline only when requested and useful to the intended interaction. Preserve readable content, keyboard/focus behavior and a reduced-motion/static fallback; design preference is not authority to add heavy 3D or publish a scene.
Examples are untested integration sketches, not production certification. Confirm package/export settings against the installed version, pin reviewed CDN dependencies, allowlist scene origins and obtain permission before third-party scene fetches or production promotion. Do not put secrets in public scenes. Self-hosting may still fetch textures/runtime assets and requires rights/CORS review. Device width/core-count are heuristics, not GPU capability guarantees. Keep placeholders and load failures visible during validation.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.