3DGS Articulated Reasoner
Extract part structures and infer kinematic constraints from 3D Gaussian Splatting scenes.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/3dgs-articulated-reasoner-jaccen/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
3DGS Articulated Object Reasoning & Digital Twin Agent. Reason about articulated objects in 3DGS scenes: extract part structure, infer kinematic constraints, generate interactive digital twins. Use when: articulated object, digital twin, part structure, kinematic chain, URDF, interactive 3DGS, part-aware rendering, articulated manipulation, joint estimation, part segmentation 3DGS, ArtiSplat, ArtiTwinSplat, articulated reconstruction.
What this skill does
3DGS Articulated Reasoner
Reason about articulated objects within 3DGS scenes: extract part structure, infer kinematics, build interactive digital twins.
Capabilities
- Part Structure Extraction: Given a 3DGS scene containing articulated objects (furniture, vehicles, tools), identify part boundaries and segment Gaussians into movable/ fixed groups.
- Kinematic Inference: Estimate joint types (revolute, prismatic, fixed) and axes from multi-view observation or user specification. Output URDF-compatible kinematic tree.
- Part-Aware Compositing: Apply part-aware alpha-compositing that penalizes inter-part penetration at boundaries (inspired by Innovation I-01 in the knowledge base).
- Digital Twin Generation: Produce an interactable digital twin where Agent commands (open, rotate, slide) drive real-time Gaussian deformation.
- Simulation-Ready Export: Export articulated 3DGS scenes to simulation frameworks (MuJoCo, Isaac Sim) with preserved visual fidelity.
Instructions
Step 1: Scene Analysis
When the user provides a 3DGS scene or asks about articulated objects:
- Check
references/3dgs-methods-overview.mdfor relevant methods (ArtiTwinSplat, ArtiSplat, ULF-Loc). - Identify the object category and expected articulation pattern from the knowledge base.
- Determine whether part segmentation is available or needs estimation.
Key references:
- ArtiTwinSplat (arXiv 2026): Articulated digital twin from 3DGS
- ULF-Loc (CVPR 2026): Exposed feature bias at part boundaries
- ArtiSplat: Differentiable physics + rendering for articulated objects
Step 2: Part Segmentation
If the user needs part segmentation:
Input: 3DGS point cloud / rendered views
Method options:
a) Semantic segmentation (LangSplat/Feature 3DGS) β part labels
b) Motion-based segmentation (multi-frame observation) β movable vs fixed
c) User-specified masks (manual annotation on rendered views)
Output: Per-Gaussian part label {0, 1, ..., K}
Validation criteria:
- Part boundaries should align with geometric discontinuities (normal/depth edges)
- Each part should be spatially contiguous (no isolated Gaussians)
- Fixed parts should be the largest spatially connected component
Step 3: Kinematic Estimation
For each part pair with relative motion:
Joint Type Decision Tree:
IF relative motion is rotational around a fixed axis
β Revolute joint (hinge)
β Estimate: axis direction, axis point, rotation limits [ΞΈ_min, ΞΈ_max]
IF relative motion is translational along a fixed axis
β Prismatic joint (slider)
β Estimate: slide axis, slide limits [d_min, d_max]
IF no relative motion observed
β Fixed joint (weld)
Output format: URDF XML string with visual (mesh from TSDF fusion) and collision (simplified convex hull) links.
Step 4: Part-Aware Rendering
When rendering articulated objects for visualization or editing:
# Part-aware alpha-compositing (Innovation I-01)
C(theta) = sum_i T_i * alpha_i * omega_{p(i)}(theta) * c_i
# where omega penalizes penetration:
# omega = 1.0 if no penetration
# omega = exp(-lambda * pen_i) if penetration detected
# pen_i = SDF_violation at Gaussian center
# lambda = 10.0 (default)
This prevents color bleeding at part boundaries that standard alpha-compositing produces.
Step 5: Agent-Driven Interaction
Support natural-language commands for digital twin interaction:
| Command | Action | Implementation |
|---|---|---|
| "Open the drawer" | Translate drawer part along slide axis | Apply d_offset to prismatic joint |
| "Rotate the door 30 degrees" | Rotate door part around hinge | Apply ΞΈ_offset to revolute joint |
| "Show the internal structure" | Hide external shell parts | Set alpha=0 for shell Gaussians |
| "Reset pose" | Return all parts to initial configuration | Zero all joint offsets |
Deformation pipeline:
- Load URDF + initial Gaussian positions
- Apply forward kinematics: new_pos = FK(joint_offsets)
- Transform Gaussian positions: G_new.mu = R * (G.mu - joint_origin) + joint_origin + t
- Re-render with part-aware compositing
Step 6: Export & Integration
Export options:
- URDF + Mesh: For MuJoCo / Isaac Sim (convex decomposition via VHACD)
- GLTF with morph targets: For web viewers (Three.js)
- 3DGS-Compatible: Gaussian attributes + joint parametrization for real-time rendering
Reference Data
Articulated Object Methods in Knowledge Base
| Method | Venue | Category | Key Contribution |
|---|---|---|---|
| ArtiTwinSplat | arXiv 2026 | Articulated/Digital Twin | Digital twin via 3DGS |
| ArtiSplat | 2026 | Articulated | Differentiable physics + rendering |
| ULF-Loc | CVPR 2026 | SLAM/Articulated | Feature bias at part boundaries |
| Articulate-100 | Benchmark | Dataset | 100 articulated objects |
| PartNeRF | ICCV 2023 | Part-Aware | Part-aware neural radiance fields |
Common Articulated Object Templates
| Object Type | Expected Joints | Typical DOF |
|---|---|---|
| Cabinet | 1-4 revolute (doors) + 1-3 prismatic (drawers) | 2-7 |
| Car | 4 revolute (wheels) + 2-4 revolute (doors) | 6-8 |
| Laptop | 1 revolute (lid hinge) | 1 |
| Robotic Arm | 6-7 revolute (serial chain) | 6-7 |
| Refrigerator | 1-2 revolute (doors) + 1-3 prismatic (drawers) | 2-5 |
Penetration Penalty Benchmarks
| Object | lambda | Penetration Reduction | PSNR Impact |
|---|---|---|---|
| Cabinet (ULF-Loc) | 10.0 | 78% | +0.3 dB |
| Car door | 5.0 | 62% | +0.1 dB |
| Robotic arm | 20.0 | 91% | +0.5 dB |
Known Pitfalls
- Gaussian leakage across parts: During densification, new Gaussians may be spawned at part boundaries. Mitigation: add part-consistency regularization during training.
- Joint axis drift: With limited observations, estimated joint axes may drift. Mitigation: enforce geometric constraints (perpendicularity, coplanarity).
- Self-intersection after deformation: Large joint offsets can cause inter-part collision. Mitigation: use SDF-based collision checking before applying deformation.
- Texture tearing: When rotating parts with no overlapping Gaussians, gaps appear. Mitigation: extend part Gaussians slightly into neighboring part space.
Validation Checklist
Before delivering articulated reasoning results, verify:
- Every part has >= 100 Gaussians (below this threshold, rendering quality degrades)
- Joint axes are physically plausible (gravity-aligned for doors, horizontal for drawers)
- URDF is well-formed and loadable in MuJoCo
- Part-aware compositing reduces boundary artifacts vs standard compositing
- Digital twin responds to at least 3 natural-language commands
- No self-intersection at joint limit extremes
Red Lines
The following are categorical prohibitions. Violating any of these invalidates the output:
- No invented data: Never fabricate kinematic constraints, joint parameters, or articulation characteristics not in the loaded reference files. If a value is not found, write "data not available" or "N/A".
- No hallucinated citations: Never invent paper titles, authors, DOIs, arXiv IDs, or venue names. Only reference works explicitly present in the skill's knowledge base or provided by the user.
- No silent speculation: If you are uncertain about a technical detail, explicitly flag it with "[UNCERTAIN]" rather than presenting it as fact.
- No method misattribution: Do not assign features, results, or mechanisms from one method to another. Each method's data is specific to that method.
- No oversimplified comparisons: Do not reduce multi-dimensional articulation trade-offs to a single judgment without context.
Related Skills
- 3dgs-spatial-agent β Spatial intelligence agent (use for embodied reasoning with articulated objects)
- 3dgs-mcp-renderer β MCP rendering (use for rendering articulated interactions)
- cad-mesh-3dgs β CAD/Mesh integration (use for URDF/mesh export of articulated structures)
- 3dgs-method-compare β Method comparison (use for comparing articulated 3DGS methods)
Guardrail: Do Not Apply From Memory
Do NOT try to apply the logic, method data, bug patterns, or technical details described in this skill from memory. Always read the SKILL.md and referenced files from disk before producing any output. The knowledge base is updated frequently; stale memory may produce outdated, inaccurate, or fabricated results.
If you cannot find a method, pattern, or data point in the loaded files, say so explicitly. Never invent metrics, venue acceptances, bug patterns, or technical features not present in the source data.
Related skills
Chai-1
xuzhougeng
Predict protein, nucleic acid, and small-molecule complex structures from FASTA sequences.
DiffDock
xuzhougeng
Predict 3D binding poses for small molecules in protein structures.
EPD Comparator
AlpacaLabsLLC
Compare products side-by-side on environmental impact and LEED compliance.
Aerospace Coordinates
matlab
Convert aerospace units, times, and coordinate frames using aerospace toolbox functions.