A new open-source skill file is trying to answer a question that gained urgency after GPT-6 ASTRA's 3D capabilities made headlines: can a small, cheap language model with no specialized 3D training produce usable Blender scenes if you give it the right operating manual? The project, called capybala-bpy-skill, says yes, with caveats.

The Problem With Asking LLMs to Write Blender Code

When a language model generates Blender Python code without guidance, the results follow a predictable pattern. Geometry interpenetrates or floats above surfaces. Materials read as plastic regardless of the intended texture. Cameras frame scenes by guesswork. The output looks like a rough draft that needs multiple correction rounds before it reaches any reasonable quality bar.

The capybala-bpy-skill project addresses this by providing a structured operating manual and supporting code library that an AI agent reads before touching Blender. The skill was built by the team behind Capybala, an upcoming AI agent desktop application, and is published independently as a standalone capability. It works with any coding agent that can run Python and read files, not just Capybala's own runtime.

How the Stage A, B, C Workflow Works

The skill organizes agent behavior into three sequential stages. Stage A requires the agent to plan a component list before writing any geometry code. Stage B builds against calibrated camera, lighting, and material presets rather than constructing scenes from scratch. Stage C runs self-review against measured render statistics before declaring the scene complete.

This structure forces the agent to make deliberate decisions instead of generating code reactively. The component checklist approach comes from anatomy reference files organized by product category. A mechanical watch entry lists every part that should exist in the scene, from the crown and bezel to the caseback engravings, so the agent does not build a hollow shell that misses obvious structural elements.

The project tested this workflow with DeepSeek V4.1 Flash, a small and inexpensive model with no 3D specialization. Left unassisted, that model produces exactly the kind of rough output described above. Running through the skill's structured process, it generated the project's gallery of scenes, including product renders, architectural models, and mechanical assemblies.

Geometry QA That Measures Instead of Guessing

One of the skill's more notable features is automated geometry quality assurance that runs after every build. The audit system does not rely on the model's visual judgment. Instead, it performs measurable checks.

An interpenetration audit scans object pairs for real overlap using axis-aligned bounding box fast-path detection, with an optional BVH mesh-level mode for tight mechanical fits like a caliper on a brake disc or a wheel on a tire. A floating parts audit raycasts from each object's base to verify physical support, but distinguishes between objects sitting on surfaces and objects bolted to the side of something, so a wall-mounted sign does not get flagged incorrectly. A spacing audit catches positions that drifted in repeated arrays.

Results are written to a scene-state field that Stage C is required to review. The tolerance values are not fixed. They self-tune based on the subject's actual size. A 138-millimeter camera and a 40-story building do not receive the same millimeter budget.

Exposure and Lighting as Pass/Fail Gates

The skill treats exposure as a quantitative check, not a subjective evaluation. Each scene type (studio, outdoor golden-hour, night) has a numeric target luminance band. A render that falls outside it fails automatically before reaching a human reviewer. Lighting energy values come from presets calibrated against real render output and scaled to the subject's bounding box rather than copy-pasted as absolute numbers.

A separate mean-versus-median check catches a specific failure mode: one bright highlight dragging the average luminance into the passing range while the rest of the frame sits in near-black. That scenario passes naive average-based checks but produces unusable images. The skill's check catches it.

Manufacturing Mental Model vs. Primitive Stacking

The skill's approach to geometry construction follows how real objects are manufactured rather than how Blender primitives are typically combined. Openings are boolean-difference cuts with actual wall thickness, not gaps where no geometry exists. Edges receive deliberate chamfer or fillet radii scaled to the object's size. Parts that would be turned on a lathe in the physical world (watch crowns, dial rings, camera barrels) are built with revolve-profile functions instead of cylinders with bevel modifiers, because a real turned part's radius changes continuously along its axis in ways that a beveled cylinder structurally cannot reproduce.

The supporting Python library in the assets directory provides parametric shapes, material definitions, building components, road and terrain generators, and a measurement toolkit. These are plain Blender Python modules with no external dependencies. They run in Blender's bundled interpreter or via command-line headless execution.

What the Skill Does Well and Where It Falls Short

The gallery demonstrates strong results on product renders, architectural models, hard-surface mechanical assemblies, and structured scenes like space stations and pagodas. The project is transparent about two categories that remain weak: vehicles and human figures. Compound curves, panel gaps, and believable vehicle proportions require a technique library the skill has not yet developed fully. Human anatomy is similarly inconsistent. The project describes these as areas where results tend to be rougher and require more manual correction.

The project also publishes full-resolution .blend project files for every gallery scene, including alternate angles, as downloadable assets on its GitHub Releases page. Each file is built by the agent running through the skill, not by a human artist, so they serve as concrete evidence of what the workflow actually produces.

What This Means for AI-Assisted 3D Work

The project does not claim to match GPT-6 ASTRA's 3D capabilities. Its stated goal is narrower: to demonstrate that the gap between an unassisted small model and a scaffolded one is large enough to justify building structured skill files like this one. The geometry QA system, calibrated presets, and component checklists represent a different kind of investment than training a larger model. They encode domain knowledge as enforceable rules rather than learned weights.

For developers working with AI agents and Blender, the skill provides a tested workflow and a library of reusable Python modules. For the broader AI-assisted 3D space, it offers evidence that the quality ceiling for small models is higher than raw prompting suggests when the right scaffolding is in place. The project is MIT licensed and available on GitHub under the capybala organization.