punkfab

Featuretree — Development skill for Claude Code

Development community

Emit an editable FreeCAD feature tree from a small neutral feature-IR, and round-trip human edits back by feature name.

How to install Featuretree

This entry records only its repository, not the path inside it, so there is no exact command to give. Open punkfab/featuretree and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Featuretree does

Emit an editable FreeCAD feature tree from a small neutral feature-IR, and round-trip human edits back by feature name. A Claude Code skill.

Alternatives in Development

  • Beautiful Feishu Whiteboard — 35 curated colour palette styles for building beautiful, editable Feishu / Lark (飞书) whiteboards 687 ★
  • Superpowers Skills — Community-editable skills repository 566 ★
  • Frontend Slides Editable — Editable HTML presentation skill for Codex/Claude Code with drag-resize editing, slide reordering, local save/ 466 ★

README

featuretree

[![Paper](https://img.shields.io/badge/paper-10.5281%2Fzenodo.22848792-blue)](https://doi.org/10.5281/zenodo.22848792) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.22848721.svg)](https://doi.org/10.5281/zenodo.22848721) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**Emit an editable feature tree — in FreeCAD *and* Onshape — from a small neutral feature-IR, round-trip human edits back by name, and render the same IR to a build123d solid.**

**AI and code can generate CAD now — but they hand you a *dead solid*.** A build123d/LLM-generated part, or a `.step`/`.stl`, opens in FreeCAD as one frozen lump: you can't grab a pad and change its depth, because the parametric feature tree is gone. `featuretree` is the missing **round-trip** — it keeps the design as named, ordered *operations* the whole way, so generated CAD stays hand-editable in a real tool and your edits flow back to the code.

A neutral *file* (STEP/STL) — or a code-baked solid — loses the parametric feature tree: it imports into FreeCAD as one frozen solid you can't edit by operation. `featuretree` keeps the tree. You author a design once as a small **feature IR** (named, ordered operations), and an emitter re-authors it in FreeCAD's *own* feature vocabulary (`PartDesign::Sketch / Pad / Pocket / Fillet`), with each object's `Label` set to your feature name. Open the `.FCStd` and the operations are right there in the left-panel tree, editable. Human edits read bac