codingfeng101/canvasanvil/cad-skill
Claude Code and agent skill by codingfeng101/canvasanvil
- community
Checking that the SKILL.md file is still in the repository.
Home interior design delivered as an interactive house designer page (one offline HTML, 2D / 3D / furniture / MEP / ceilings / quote / drawing set). From an existing floor plan (image, PDF, DXF, CAD) it reconstructs the plan in the designer. From a brief with no plan, the model first settles a design plan with the user (rooms, finishes, equipment, smart home, wiring preferences as clickable decisions), describes the layout as a grid with intent, and programs draw it; then the designer lays out MEP, the wiring preferences are applied, checks and a room-by-room MEP audit run, and the quote, drawing-set PDF, DXF, colour plan and 3D render are exported automatically. Use for home layout, renovation design, floor plan to designer.
Install
npx vskill@latest install codingfeng101/canvasanvil/cad-skillSKILL.md
CAD Skill
Everything the user ends up with is the house designer in designer/: its page, its checks, its exports. Two routes lead there: reconstructing an existing floor plan, or designing from a brief.
Never write wall or furniture coordinates by hand: on route A the designer's reconstruction scripts produce them, on route B the layout program does.
Pick the route
| The user has | Route | |
|---|---|---|
| An existing floor plan: image, screenshot, scan, CAD PDF, DXF, black CAD screenshot, two plans (original + layout) | A — reconstruct. Read designer/GUIDE.md and follow it from section 0 to 6 (its paths are relative to designer/). | |
| Only a brief ("90 平两室两厅,三口之家") | B — design from a brief, below. It ends in the same designer page and the same checks. |
Route B — design from a brief
- Plan — read
prompts/plan.mdand write onecad_plan(save it ascad_plan.json). - Decide with the user — show the plan, then every entry of
plan.decisionsas a question with its options, grouped (布局 / 硬装 / 设备 / 电器 / 智能 / 水电), the recommendedchoicemarked. When your host has a question or option tool, use it so the user picks with a click; otherwise list them numbered. Write the user's picks into each decision'schoiceand savecad_plan.jsonagain. If the user changes rooms or wants something new, revise the plan (step 1 with "已定事项") before going on. Do not continue until the user confirms the plan. - Layout — read
prompts/layout.mdandreferences/furniture-catalog.md; write onecad_layoutfrom the confirmed plan (cad_layout.json). The decisions' choices decide equipment, finishes and kitchen / door / window types as that prompt lays out. - Build the HouseSpec —
node scripts/build-house-spec.mjs --layout cad_layout.json --output house-spec.json. The output is the designer's HouseSpec (designer/reference/spec-format.md). It prints what the program adjusted (smaller furniture, items left out). On errors (exit 1), fix the layout and run again; never patch coordinates in the spec. - Finish in the designer —
node scripts/run-designer.mjs --spec house-spec.json --plan cad_plan.json --out-dir <dir>. It nudges colliding furniture, runs the one-click MEP layout, applies the wiring preferences from the plan, runs the designer's checks, writes<name>-装修设计器.html(the designer template with the finished design, MEP included, as its preset), runs the room-by-room MEP audit (designer/scripts/elecaudit.mjs) on it, exports the quote, drawing-set PDF, MEP DXF and colour plan (add--exports allfor the plan DXF and the 3D render), and opens the page in the user's browser. Ifreport.jsonlists errors, change the layout (move a door, resize a room, drop a secondary item) and repeat steps 4–5. - Delivery checks — as
designer/GUIDE.mdsection 6 anddesigner/reference/delivery.mdsay:node designer/scripts/qa.mjs <page> <dir>/qa --lite --quick(several minutes; look throughqa/shots/), andpython designer/scripts/qa_files.py <dir>/qawhen Python is available. The MEP audit already ran in step 5 (report.json→elecAudit). - Report — tell the user the designer page is open (give its path: double-click it to open again; edits made there stay in that browser), the room areas, what the program adjusted, the remaining warnings, the wiring changes, every MEP audit problem (the user fixes those under 水电 in the designer page; the layout cannot), the qa result and the files written. Show
plan2d.pngor the colour plan when the host can display images.
For a change after delivery ("主卧再大一点", "阳台加窗"), edit cad_layout.json and run steps 4–5 again; a new designer page opens with the change. Keep everything the user did not mention.
What the user can decide (route B)
Only what the designer can build; references/workflow.md lists it. Socket counts, network points, panel and network box location, bedside USB and floor sockets are applied after the designer's automatic MEP layout; exact switch positions and lighting circuits are left to the designer.
Requirements
- The skill folder is self-contained and can sit in any project. Script paths are relative to this skill folder; data files can live anywhere (pass their paths).
- Once:
npm run setupin this folder. It installsdesigner/scripts(onlypuppeteer-core, which drives the user's own Chrome / Edge / Chromium, found bydesigner/scripts/browser.mjs; no browser is downloaded). If no browser is found, ask the user to install Chrome or Edge, or setCHROME_PATH. - Node 18 or newer. Route B needs nothing else (
scripts/build-house-spec.mjshas no dependencies). - Route A, and
qa_files.pyon route B, need Python with:pip install numpy pillow opencv-python pymupdf ezdxf pypdf. - No API key or image model is needed: every drawing and render comes from the designer.
Layout of this folder
designer/— the house designer: template, reconstruction and check scripts, references,GUIDE.md(route A).prompts/plan.md,prompts/layout.md— route B's plan (with the decision menu) and layout prompts.references/furniture-catalog.md— every valid furniture key;references/workflow.md— route B in detail;references/output-contract.md— the files each step writes.scripts/build-house-spec.mjs,scripts/run-designer.mjs— route B's two scripts;scripts/lib/— the layout program and in-page helpers, bundled.
Everything except SKILL.md, references/workflow.md, references/output-contract.md, agents/ and the two scripts is generated by CanvasAnvil's scripts/sync-cad-skill.mjs; do not edit it here.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskill/cad-skill/SKILL.md
Popularity
- Repository stars
- 90
- Repository forks
- 6
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 31 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/codingfeng101/canvasanvil/cad-skill)