skill
fusion-export-for-hydrogen
Public Made by Adomby adom
Export a Fusion 360 Electronics design for Hydrogen — orchestrates AdomBridge fusion_* primitives to produce silkscreen PNGs, board/schematic source (.fbrd/.fsch), and 3D models (.usdz/.step/.f3d); pu
← Commit history
Publish 3.1.0
5 files changed
+107−85
README.md+8−5@@ -1,11 +1,14 @@ # fusion-export-for-hydrogen -Export Fusion 360 Electronics projects for Hydrogen using the HelperJoe add-in. Covers Export for Hydrogen (BRD, SCH, F3D, USDZ, silkscreen PNGs) and Export Kitchen Sink (Gerber ZIP, BOM, CPL).--## Install+Export a Fusion 360 Electronics design for Hydrogen by orchestrating **AdomBridge+`fusion_*` primitives** from the container — no Fusion add-in buttons required.+Produces silkscreen PNGs, board/schematic source (`.fbrd`/`.fsch`), and 3D models+(`.usdz`/`.step`/`.f3d`), then publishes via **`adompkg`**. ```bash-adompkg install fusion-export-for-hydrogen+adompkg install adom/fusion-export-for-hydrogen ``` -Installs to `~/.claude/skills/fusion-export-for-hydrogen/`.+Installs to `~/.claude/skills/fusion-export-for-hydrogen/`. See `SKILL.md` for the+full workflow (open the `.fbrd` directly to skip the multi-design picker; publish+with `adompkg`).
SKILL.md+63−21@@ -29,16 +29,31 @@ Container (skill orchestration) ## Export for Hydrogen — Step by Step -### Step 0: Verify state+### Step 0: Open the board + verify state++**Open the `.fbrd` board file DIRECTLY — never the bare name or the `.fprj`.** A Fusion+electronics file that links to multiple designs (most "FRAME MOL" boards) pops a native+**"Select Electronics Design File" picker** when you open the project/bare name. That picker+is a **CEF/Chromium modal that cannot be driven headlessly** (keyboard doesn't reach its list;+screen-coord clicks are unreliable on multi-monitor/HiDPI). Targeting the `.fbrd` skips it+entirely and lands straight in PCB Editor (live-confirmed): ```bash-adom-desktop ping+adom-desktop fusion_open_cloud_file '{"projectName":"Main","folderPath":"Molecules/COSMIIC","fileName":"PG4 FRAME MOL","fileExtension":"fbrd","recovery":"discard"}'+# → doc opens in PCB Editor, NO picker. (Omitting fileExtension may hit the multi-design picker.)+```++Then verify:+```bash adom-desktop fusion_get_app_state '{}' ```+Ensure: Fusion running, `activeWorkspace` is `PCB Editor`, `isElectronics: true`. -Ensure: Fusion running, design open, `activeWorkspace` is `PCB Editor` and `isElectronics: true`.+If a "Select Electronics Design File" dialog DID appear (e.g. a `.fbrd` that itself links to+multiple designs), it can't be resolved headlessly today — pick on the desktop, or fall back to+CDP into the CEF dialog. `fusion_window_info` / the bridge's `blockingDialogs` will name it. -If not in PCB Editor:+If already open but not in PCB Editor: ```bash adom-desktop fusion_electron_run '{"command":"EDIT .brd"}' ```@@ -164,37 +179,64 @@ adom-desktop fusion_send_key '{"key":"enter"}' After saving, exports may produce stale files. Workaround: 1. Close all project tabs: `adom-desktop fusion_close_document '{"save":false}'` (repeat)-2. Reopen: `adom-desktop fusion_open_cloud_file '{"projectName":"Main","fileName":"<name>","fileExtension":"fprj","folderPath":"<path>"}'`-3. Switch to board: `adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'`+2. Reopen the **board** (`.fbrd`, NOT `.fprj` — the project file triggers the multi-design picker): `adom-desktop fusion_open_cloud_file '{"projectName":"Main","fileName":"<name>","fileExtension":"fbrd","folderPath":"<path>"}'`+3. Switch to board view if needed: `adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'` 4. Run the export steps above ## After Export — Publish Once all files are in the user's local Downloads folder, **ask the user** whether they want to publish. Two destinations: -### Publish to Adom Wiki (reference documentation)+### Publish to the Adom Wiki — `adompkg publish` (canonical, new wiki = wiki.adom.inc)++The wiki is the source of truth. A molecule is an **adompkg `component` package**: a directory+with a `package.json` + the exported source files. `adompkg publish` **auto-converts STEP→GLB**+(live step2glb service), runs the pre-publish lint, generates the page, and creates a release.+(The old `adom-wiki page publish` / `asset upload` CLI targeted **wiki-v1** and is retired — do+not use it for the new wiki.) -The wiki is the source of truth for molecule documentation — pin maps, BOM, design notes, screenshots.+**1. Stage the package dir** — the pulled export files + a `package.json`. **Do NOT include a+`page.json`** (the server generates a correct one; a stale/foreign one silently overrides+ownership — see gotchas): ```bash-adom-wiki page publish molecules/<slug> \- --title "<name>" \- --brief "<one-line description>" \- --body-md /tmp/page.md \- --hero-image <silkscreen_top.png or 3D screenshot> \- --hero-caption "<description>" \- --sample-prompt "Find|Find the <name> molecule" \- --changelog "Initial publish"+cd /tmp/export/<name> # holds <name>.step/.f3d/.fbrd/.fsch/.usdz, *_gerbers.zip, bom.csv, cpl.csv, board PNGs, README.md+cat > package.json <<'JSON'+{+ "slug": "<molecule-slug>",+ "version": "1.0.0",+ "type": "component",+ "description": "<at least 20 chars describing the molecule>",+ "tags": ["molecule", "<org-or-family>", "<function>"],+ "dependencies": {},+ "license": "MIT",+ "component": { "mpn": "<name>", "manufacturer": "", "category": "other" }+}+JSON ``` -Upload exported files as assets:+**2. Publish** (owner = your account, or an org you belong to via `--org`). This is where STEP→GLB runs:++```bash+adompkg publish --org <org> --yes+# → "Converting <name>.step → <name>.glb via step2glb..." then "Published <org>/<slug>@<version>"+```++**3. Set visibility explicitly** (the `--public`/`--private` flag is only honored on first publish):+ ```bash-adom-wiki asset upload molecules/<slug> --asset-type file --file <name>.brd --caption "EAGLE board file"-adom-wiki asset upload molecules/<slug> --asset-type file --file <name>.step --caption "STEP 3D model"-adom-wiki asset upload molecules/<slug> --asset-type file --file <name>.usdz --caption "USDZ 3D model for Hydrogen"+adompkg visibility <slug> public # or: private ``` -See the `adom-wiki` skill for full publish workflow.+**Gotchas (hard-won):**+- **Include a `.step`** — that's what triggers GLB generation; without it the 3D viewer is blank. (`has_3d_model` / `model_3d_path` get set automatically once the `.glb` is produced.)+- **Never push a stale/foreign `page.json`.** On the new wiki it's authoritative for `org_id`/`author`/`visibility`/`version` and **overrides `--org`/`--private` on reindex** (only `owner` is protected). Omit it. If a page's org binding drifts, repair it:+ ```bash+ curl -X POST https://wiki.adom.inc/api/v1/pages/<slug>/transfer -H "Authorization: Bearer $(cat /var/run/adom/api-key)" -H "Content-Type: application/json" -d '{"org":"<org>"}'+ ```+- **Ownership ≠ visibility.** `--org X` makes any member of org **X** an editor (regardless of public/private); `public` just means anyone can *view*. To make a molecule editable by a team, publish/transfer under their org.+- Lint warns "no `.kicad_sym`/`.kicad_mod`" for Fusion designs — expected, non-blocking.+- Manage/delete: `adompkg status <owner>/<slug>`, `adompkg delete <slug> --owner <o> --confirm` (soft, reversible via `adompkg undelete`). ### Publish to Hydrogen (live project use)
docs/shot.pngadded⋯ 1 unchanged line ⋯
package.json+15−3@@ -1,11 +1,23 @@ { "slug": "fusion-export-for-hydrogen",- "version": "1.0.0",+ "version": "3.1.0", "type": "skill",- "description": "Export Fusion 360 Electronics projects for Hydrogen using the HelperJoe add-in. Covers Export for Hydrogen (BRD, SCH, F3D, USDZ, silkscreen PNGs) and Export Kitchen Sink (Gerber ZIP, BOM, CPL).",+ "description": "Export a Fusion 360 Electronics design for Hydrogen \u2014 orchestrates AdomBridge fusion_* primitives to produce silkscreen PNGs, board/schematic source (.fbrd/.fsch), and 3D models (.usdz/.step/.f3d); publishes via adompkg. No add-in/HelperJoe required.",+ "tags": [+ "fusion360",+ "molecule",+ "export",+ "hydrogen",+ "kicad"+ ], "dependencies": {}, "scripts": { "install": "./install.sh", "uninstall": "./uninstall.sh"+ },+ "hero": {+ "headline": "Fusion \u2192 Hydrogen in one pass",+ "subhead": "Silkscreen, source & 3D exported and published \u2014 no add-in, no clicks",+ "screenshot": "docs/shot.png" }-}+}
page.json+21−56@@ -1,63 +1,28 @@ {- "schema_version": 1,- "type": "skill", "slug": "fusion-export-for-hydrogen",- "title": "Fusion Export for Hydrogen",- "brief": "Export Fusion 360 Electronics designs via HelperJoe add-in — BRD/SCH/F3D/USDZ/silkscreen PNGs (Export for Hydrogen) and Gerber ZIP/BOM/CPL (Kitchen Sink)",- "version": "1.0.0",- "tags": [],- "license": "MIT",- "discovery_triggers": [- "export for hydrogen",- "export kitchen sink",- "fusion export",- "hydrogen export",- "helperjoe",- "helper joe",- "export brd sch f3d",- "export gerbers bom cpl",- "export molecule",- "fusion export all files",- "export usdz",- "adom tab export"- ],- "discovery_pitch": "Export Fusion 360 Electronics designs via HelperJoe — BRD/SCH/F3D/USDZ/silkscreen PNGs and Gerber ZIP/BOM/CPL for Hydrogen viewer and manufacturing.",- "sample_prompts": [- {- "label": "Export",- "prompt": "Export for hydrogen"- },- {- "label": "Kitchen sink",- "prompt": "Run export kitchen sink on the open Fusion board"- },- {- "label": "Export all",- "prompt": "Export all files from this Fusion molecule for Hydrogen"- },- {- "label": "Gerbers",- "prompt": "Export gerbers, BOM, and CPL from Fusion"- },- {- "label": "USDZ",- "prompt": "Export USDZ and F3D from the current Fusion electronics project"- }+ "version": "3.1.0",+ "type": "skill",+ "description": "Export a Fusion 360 Electronics design for Hydrogen — orchestrates AdomBridge fusion_* primitives to produce silkscreen PNGs, board/schematic source (.fbrd/.fsch), and 3D models (.usdz/.step/.f3d); publishes via adompkg. No add-in/HelperJoe required.",+ "tags": [+ "fusion360",+ "molecule",+ "export",+ "hydrogen",+ "kicad" ],- "source_path": "SKILL.md",- "readme": "---\nname: fusion-export-for-hydrogen\ndescription: Export Fusion 360 Electronics projects for Hydrogen — orchestrates existing AdomBridge primitives to produce BRD, SCH, F3D, STEP, USDZ, and silkscreen PNGs. Also covers Kitchen Sink export (adds Gerbers, BOM, CPL). Use when the user says \"export for hydrogen\", \"export kitchen sink\", \"fusion export\", \"hydrogen export\", \"export brd sch f3d\", \"export gerbers bom cpl\", \"export molecule\", \"fusion export all files\", \"export usdz\", or \"export step\".\n---\n\n# Fusion Export for Hydrogen\n\nExport Fusion 360 Electronics designs for the Hydrogen viewer and manufacturing by orchestrating AdomBridge CLI primitives from the container.\n\n**Prerequisite:** `adom-desktop` must be connected (`adom-desktop ping`) and Fusion must be running with the design open.\n\n## Architecture\n\nThe export is **orchestrated from the container** using existing `adom-desktop fusion_*` primitives. No custom add-in commands or HelperJoe buttons are needed — each step calls a standard AdomBridge verb.\n\n```\nContainer (skill orchestration)\n │\n ├── fusion_export_eagle_source → BRD file\n ├── fusion_export_eagle_source → SCH file (after switching to schematic)\n ├── fusion_show_3d_board → switch to 3D view\n ├── fusion_export_f3d → Fusion archive\n ├── fusion_export_step → STEP 3D model\n ├── fusion_export_usdz → AR/Hydrogen 3D model\n ├── fusion_take_silkscreen_screenshot → top silkscreen PNG\n ├── fusion_take_silkscreen_screenshot → bottom silkscreen PNG\n └── pull_file → copy all files to container\n```\n\n## Export for Hydrogen — Step by Step\n\n### Step 0: Verify state\n\n```bash\nadom-desktop ping\nadom-desktop fusion_get_app_state '{}'\n```\n\nEnsure: Fusion running, design open, `activeWorkspace` is `PCB Editor` and `isElectronics: true`.\n\nIf not in PCB Editor:\n```bash\nadom-desktop fusion_electron_run '{\"command\":\"EDIT .brd\"}'\n```\n\n### Step 1: Export BRD\n\n```bash\nadom-desktop fusion_export_eagle_source '{\"outputPath\":\"C:/tmp/export/<name>.brd\",\"format\":\"brd\"}'\n```\n\n### Step 2: Export SCH\n\nSwitch to schematic, then export:\n```bash\nadom-desktop fusion_electron_run '{\"command\":\"EDIT .s1\"}'\nsleep 2\nadom-desktop fusion_export_eagle_source '{\"outputPath\":\"C:/tmp/export/<name>.sch\",\"format\":\"sch\"}'\n```\n\nSwitch back to board after:\n```bash\nadom-desktop fusion_electron_run '{\"command\":\"EDIT .brd\"}'\n```\n\n### Step 3: Switch to 3D view\n\n```bash\nadom-desktop fusion_show_3d_board '{}'\n```\n\nWait for workspace to switch (5-10s). Verify:\n```bash\nadom-desktop fusion_get_app_state '{}'\n# Expected: activeWorkspace: \"Design\" or \"3D PCB\"\n```\n\n### Step 4: Export F3D\n\n```bash\nadom-desktop fusion_export_f3d '{\"outputPath\":\"C:/tmp/export/<name>.f3d\"}'\n```\n\n### Step 5: Export STEP\n\n```bash\nadom-desktop fusion_export_step '{\"outputPath\":\"C:/tmp/export/<name>.step\"}'\n```\n\n### Step 6: Export USDZ\n\n```bash\nadom-desktop fusion_export_usdz '{\"outputPath\":\"C:/tmp/export/<name>.usdz\"}'\n```\n\n### Step 7: Capture silkscreen PNGs\n\n```bash\nadom-desktop fusion_take_silkscreen_screenshot '{\"outputPath\":\"C:/tmp/export/<name>_silkscreen_top.png\",\"layer\":\"top\"}'\nadom-desktop fusion_take_silkscreen_screenshot '{\"outputPath\":\"C:/tmp/export/<name>_silkscreen_bottom.png\",\"layer\":\"bottom\"}'\n```\n\nThese produce 2048x2048 transparent-background PNGs. Requires the 3D Design view (done in Step 3). Each capture takes ~3s (includes 1s render sleep).\n\n### Step 8: Pull files to container\n\n```bash\nadom-desktop pull_file '{\"filePaths\":[\"C:/tmp/export/<name>.brd\",\"C:/tmp/export/<name>.sch\",\"C:/tmp/export/<name>.f3d\",\"C:/tmp/export/<name>.step\",\"C:/tmp/export/<name>.usdz\",\"C:/tmp/export/<name>_silkscreen_top.png\",\"C:/tmp/export/<name>_silkscreen_bottom.png\"],\"saveTo\":\"/tmp/export\"}'\n```\n\n### Output files\n\n| File | Format | Description |\n|------|--------|-------------|\n| `<name>.brd` | EAGLE board | PCB layout |\n| `<name>.sch` | EAGLE schematic | Circuit schematic |\n| `<name>.f3d` | Fusion archive | Full parametric 3D model |\n| `<name>.step` | STEP | CAD interchange 3D model |\n| `<name>.usdz` | USDZ | AR/Hydrogen 3D viewer |\n| `<name>_silkscreen_top.png` | PNG | Top silkscreen render (transparent bg) |\n| `<name>_silkscreen_bottom.png` | PNG | Bottom silkscreen render (transparent bg) |\n\n## Kitchen Sink Export\n\nFor manufacturing files in addition to the Hydrogen export, add these steps after Step 7:\n\n### Gerbers\n\nSwitch back to 2D board first:\n```bash\nadom-desktop fusion_electron_run '{\"command\":\"EDIT .brd\"}'\nsleep 3\nadom-desktop fusion_export_gerbers '{\"outputPath\":\"C:/tmp/export/gerbers.zip\"}'\n```\n\n### BOM\n\n```bash\nadom-desktop fusion_export_bom '{\"outputPath\":\"C:/tmp/export/bom.csv\"}'\n```\n\n### CPL\n\n```bash\nadom-desktop fusion_export_cpl '{\"outputPath\":\"C:/tmp/export/cpl.csv\"}'\n```\n\n## Saving Designs\n\nThe cloud save command:\n```bash\nadom-desktop fusion_execute_text_command '{\"command\":\"Commands.Start PLM360SaveCommand\"}'\n```\n\nThis opens a Save dialog. Find and confirm it:\n```bash\n# Wait for dialog\nsleep 5\n# Press Enter to confirm (finds Save dialog automatically)\nadom-desktop fusion_send_key '{\"key\":\"enter\"}'\n```\n\n## Caching Bug Workaround\n\nAfter saving, exports may produce stale files. Workaround:\n1. Close all project tabs: `adom-desktop fusion_close_document '{\"save\":false}'` (repeat)\n2. Reopen: `adom-desktop fusion_open_cloud_file '{\"projectName\":\"Main\",\"fileName\":\"<name>\",\"fileExtension\":\"fprj\",\"folderPath\":\"<path>\"}'`\n3. Switch to board: `adom-desktop fusion_electron_run '{\"command\":\"EDIT .brd\"}'`\n4. Run the export steps above\n\n## After Export — Publish\n\nOnce all files are in the user's local Downloads folder, **ask the user** whether they want to publish. Two destinations:\n\n### Publish to Adom Wiki (reference documentation)\n\nThe wiki is the source of truth for molecule documentation — pin maps, BOM, design notes, screenshots.\n\n```bash\nadom-wiki page publish molecules/<slug> \\\n --title \"<name>\" \\\n --brief \"<one-line description>\" \\\n --body-md /tmp/page.md \\\n --hero-image <silkscreen_top.png or 3D screenshot> \\\n --hero-caption \"<description>\" \\\n --sample-prompt \"Find|Find the <name> molecule\" \\\n --changelog \"Initial publish\"\n```\n\nUpload exported files as assets:\n```bash\nadom-wiki asset upload molecules/<slug> --asset-type file --file <name>.brd --caption \"EAGLE board file\"\nadom-wiki asset upload molecules/<slug> --asset-type file --file <name>.step --caption \"STEP 3D model\"\nadom-wiki asset upload molecules/<slug> --asset-type file --file <name>.usdz --caption \"USDZ 3D model for Hydrogen\"\n```\n\nSee the `adom-wiki` skill for full publish workflow.\n\n### Publish to Hydrogen (live project use)\n\nHydrogen is where molecules are used in actual projects. Uses the `adom-molecule` CLI (published by John, v0.1.0).\n\n```bash\n# Install if not present\nwhich adom-molecule || (gh release download --repo adom-inc/adom-molecule --pattern 'adom-molecule' --output /tmp/adom-molecule-bin && sudo mv /tmp/adom-molecule-bin /usr/local/bin/adom-molecule && sudo chmod +x /usr/local/bin/adom-molecule)\n\n# Upload to a user's Hydrogen account\nadom-molecule create --name \"<molecule-name>\" --owner <username> \\\n --usdz <name>.usdz --f3d <name>.f3d --brd <name>.brd\n```\n\nThe molecule becomes available at `https://hydrogen.adom.inc/<username>/molecules/<name>` and auto-queues 3D optimization (USDZ→GLB via Blender pipeline).\n\n### Suggested prompt after export\n\nAfter the export completes, tell the user:\n\n> \"All files exported to `<folder>`. Would you like me to:\n> 1. **Publish to the Adom Wiki** — creates a molecule reference page with pin map, BOM, and assets\n> 2. **Upload to Hydrogen** — makes it available in your Hydrogen projects at `hydrogen.adom.inc/<user>/molecules/<name>`\n> 3. **Both**\n> 4. **Skip** — just keep the files locally\"\n\n## Important Notes\n\n- **Focus stealing:** Steps 3 and 7 switch Fusion workspaces, which steals desktop focus. Warn the user.\n- **3D view required for Steps 4-7.** If `fusion_show_3d_board` fails, the user may need to run \"Push to 3D PCB\" manually from the Design tab.\n- **Silkscreen capture** requires the 3D Design view, not PCB Editor. Always do Steps 4-7 after Step 3.\n- **pull_file from Google Drive paths** may produce empty files. Use shell_execute + base64 as a workaround if the output folder is on Google Drive.\n- **Shell execute needs approval** on the Adom Desktop app for each new script.\n- **adom-molecule CLI** is at `adom-inc/adom-molecule` (Rust, published by John). Install via GitHub release.\n",+ "dependencies": {},+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "hero": {+ "headline": "Fusion → Hydrogen in one pass",+ "subhead": "Silkscreen, source & 3D exported and published — no add-in, no clicks",+ "screenshot": "docs/shot.png"+ },+ "org": "adom", "author": {- "id": "695820315b5f1e4db2fcf602", "name": "Kyle Bergstedt", "email": "[email protected]"- },- "visibility": {- "public": true- },- "hero": null,- "metadata": {},- "created_at": "2026-05-28T05:29:29.927Z",- "updated_at": "2026-05-28T05:29:29.927Z",- "sub_skills": [],- "parent_app": null+ } }