# Acad Cuix Builder

> Generate an AutoCAD partial CUIX file from prompts. Collects plugin name, ribbon panels, buttons, and LISP/command macros — then builds a ready-to-CUILOAD .cuix file with properly embedded BMP icons.

- **Type:** Skill
- **Install:** `agentstack add skill-autodesk-platform-services-skills-acad-cuix-builder`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [autodesk-platform-services](https://agentstack.voostack.com/s/autodesk-platform-services)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [autodesk-platform-services](https://github.com/autodesk-platform-services)
- **Source:** https://github.com/autodesk-platform-services/skills/tree/main/skills/acad-cuix-builder

## Install

```sh
agentstack add skill-autodesk-platform-services-skills-acad-cuix-builder
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# AutoCAD CUIX Builder

Conversational skill that generates a partial AutoCAD CUIX file. No manual XML editing.

Architecture reference: see `references/cuix-architecture.md`.

---

## Step 0 — Verify generator is available

Run in PowerShell:

```powershell
$exe = "$env:USERPROFILE\.cuixbuilder\CuixBuilder.exe"
if (Test-Path $exe) { Write-Host "exe found: $exe" }
elseif (Get-Command dotnet -ErrorAction SilentlyContinue) { dotnet --version }
else { Write-Host "Neither found — see install.ps1" }
```

- **exe found** → use `& $exe ` in Step 5
- **dotnet SDK** → use `dotnet run --project  -c Release -- ` in Step 5
- **neither** → tell user to run `install.ps1` first (downloads exe, no SDK needed)

---

## Step 1 — Collect plugin identity

Ask:
- **Plugin display name** — shown as ribbon tab and group label (e.g. `Drafting Tools`)
- **Internal name** — derive from display name, no spaces (e.g. `DraftingTools`)

---

## Step 2 — Collect panels

Ask:
- How many ribbon panels?
- Name of each panel (e.g. `Annotation`, `View`)

---

## Step 3 — Collect buttons (per panel)

For each panel, for each button ask:
- **Label** — text on the button (e.g. `Quick Leader`)
- **Command** — one of:
  - Bare AutoCAD command: `QLEADER` → generator adds `^C^C` automatically
  - LISP expression: `(alert "hi")` → generator adds `^C^C` automatically
  - Pre-formatted: `^C^CMYCOMMAND` → used as-is
- **Image** — path to `.bmp` file, or Enter/`skip` → auto-generates a colored 16×16 placeholder
- **Tooltip** — optional hover text (defaults to label)

---

## Step 4 — Output path

Ask where to save the `.cuix` file.  
Default: current directory + `.cuix`

---

## Step 5 — Confirm, build JSON, generate

Show a summary table:
```
Plugin :    Tab :    Output : 

Panel: 
  [1]   →     image: 
  [2] ...
```

Confirm with user, then build the JSON config:

```json
{
  "pluginName": "NoSpaces",
  "displayName": "Human Name",
  "tab": "Tab Label",
  "outputPath": "C:\\full\\path\\Plugin.cuix",
  "panels": [
    {
      "name": "Panel Name",
      "buttons": [
        {
          "label": "Button Label",
          "command": "raw input",
          "imagePath": null,
          "tooltip": "Optional"
        }
      ]
    }
  ]
}
```

Write config to `$env:TEMP\cuix_.json`, then run:

```powershell
# With exe (preferred)
& "$env:USERPROFILE\.cuixbuilder\CuixBuilder.exe" $configPath

# With SDK fallback
dotnet run --project "" -c Release -- $configPath
```

---

## Step 6 — Report result

On success:
```
Done: 
In AutoCAD: CUILOAD → browse to 
```

On failure: show stderr and diagnose (common: missing exe, wrong path, invalid JSON).

---

## Command normalization

| User types | Becomes |
|---|---|
| `QLEADER` | `^C^CQLEADER` |
| `zoom e` | `^C^CZOOM E` |
| `(alert "Hi")` | `^C^C(alert "Hi")` |
| `^C^CMYCOMMAND` | `^C^CMYCOMMAND` (unchanged) |

---

## Placeholder icon colors (auto-generated when no image provided)

Index cycles 0→7 across all buttons in the CUIX.

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| Blue | Green | Orange | Purple | Teal | Red | Amber | Cyan |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [autodesk-platform-services](https://github.com/autodesk-platform-services)
- **Source:** [autodesk-platform-services/skills](https://github.com/autodesk-platform-services/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-autodesk-platform-services-skills-acad-cuix-builder
- Seller: https://agentstack.voostack.com/s/autodesk-platform-services
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
