From three-pro
3D web development planning and coding standards for Three.js, React Three Fiber, and D3+Three.js hybrid visualizations. Auto-loads when working with Three.js, R3F, or 3D visualization code. Covers scene setup patterns, performance rules, NPR rendering, D3-Three wiring, and the pmndrs ecosystem. Trigger on: "Three.js," "R3F," "React Three Fiber," "3D," "WebGL," "shader," "scene," "d3-force-3d," or any 3D web development work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/three-pro:three-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Standards for all Three.js and React Three Fiber code.
Standards for all Three.js and React Three Fiber code.
Every R3F scene must include:
'use client';
<Canvas dpr={[1, 2]} camera={{ position: [0, 0, 5], fov: 50 }}>
<Suspense fallback={null}>
{/* Scene content */}
<Preload all />
</Suspense>
</Canvas>
'use client' on R3F componentsdpr={[1, 2]} for retina supportdispose={null} on GLTF groupsnew THREE.Vector3() per frame.
Pre-allocate in useMemo or at module scope.D3 computes, Three.js renders. Never re-implement D3 layout algorithms. Never use D3 for rendering when Three.js is available.
Every 3D component must handle WebGL absence:
if (!hasWebGL()) return <ExistingTwoDComponent />;
return (
<Suspense fallback={<ExistingTwoDComponent />}>
<ThreeScene />
</Suspense>
);
Non-photorealistic rendering is the default for sketch-aesthetic sites. Use Sobel edge detection post-processing, not bloom/DOF.
Before using any Three.js, R3F, or Drei API, check refs/ to confirm
method signatures. Do not rely on training data for parameter order or
default values.
new Vector3(), new Color(), etc.)Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub travis-gilbert/claude-marketplace --plugin three-pro