šŸ’¬ Sample prompts Paste any of these into Claude Code to use this skill
Update libs Update libraries for this Fusion board
Refresh Update components from all libraries
Push 3D Push 2D board layout to 3D PCB view
Sync board Sync the 2D layout to the 3D board and save
Update pins Update the machine pin and contact libraries
⚔ Install this skill

Paste this into Claude Code (VS Code panel, Adom editor, or terminal) to install:

Search the Adom Wiki for the skill "Fusion Update Libraries" (slug: fusion-update-libraries) at https://wiki-ufypy5dpx93o.adom.cloud/wiki/skills/fusion-update-libraries and install it into my local ~/.claude/skills/fusion-update-libraries/ directory. Fetch the skill_source content from the wiki page and save it as SKILL.md. Then confirm it's installed by showing the first 5 lines.
?
What is a skill? Skills are instructions that teach AI assistants like Claude Code how to perform specific tasks. The description below is loaded into the AI as context when you invoke this skill. Well-written skills make the AI significantly more effective. Like Wikipedia, anyone can improve a skill by clicking Edit AI Skill — or have your AI submit an edit on your behalf.

Description

Edit AI Skill

name: fusion-update-libraries description: Update component libraries in a Fusion 360 Electronics PCB design, preserving silkscreen customizations and syncing the 3D board view. Use when the user says "update libraries", "update components", "update from library", "refresh library", "library update", "update machine pins", "update contacts", "sync 3d board", "push to 3d pcb", "update 3d preview", or "library out of date".

Fusion Update Libraries

Update component library footprints/packages in a Fusion 360 Electronics PCB design while preserving silkscreen customizations, then sync the 2D layout to the 3D board view.

Prerequisite: adom-desktop must be connected (adom-desktop ping). The design must be open in the 2D PCB Editor workspace.

Overview

Library updates in Fusion's Electronics workspace pull the latest footprint geometry from cloud libraries into the active board. However, they have two side effects that must be handled:

  1. Silkscreen text re-appears — Names/values layers (tNames/bNames layers 25/26, tValues/bValues layers 27/28) that were intentionally deleted during board design get re-added by the library update. These must be identified and removed.

  2. 3D board view is stale — Fusion no longer auto-syncs 2D→3D. After updating libraries, you must manually push the 2D layout to the 3D PCB view before saving or exporting.

Step-by-Step Workflow

Step 1: Verify workspace state

adom-desktop fusion_get_app_state '{}' 2>&1 | python3 -c "
import sys,json
data = json.load(sys.stdin)
output = json.loads(data.get('output','{}'))
d = output.get('data',{})
print(f'Active: {d.get(\"activeDocument\")}, Workspace: {d.get(\"activeWorkspace\")}, Electronics: {d.get(\"isElectronics\")}')
"

Must be in PCB Editor workspace with isElectronics: True. If not:

adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'

Step 2: Capture pre-update silkscreen state

Before updating, capture the current silkscreen text so we can detect what gets re-added.

Screenshot the silkscreen layers:

# Show only silkscreen layers, hide everything else
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'
sleep 1
adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'

Export board info to get component text state:

adom-desktop fusion_board_info '{}' 2>&1

This returns component placements with names/values. Save this data to compare after the update.

Key EAGLE layers for silkscreen:

LayerNameContent
21tPlaceTop silkscreen (outlines, markers)
22bPlaceBottom silkscreen (outlines, markers)
25tNamesTop component reference designators
26bNamesBottom component reference designators
27tValuesTop component values
28bValuesBottom component values

Step 3: Run the library update

adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::UpdateDesignFromAllLibraries"}'

This updates all components from their linked cloud libraries. Wait 5-10 seconds for it to complete.

Alternative — update from a specific library only:

adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::UpdateDesignFromLibrary"}'

This opens a dialog to select which library to update from.

Step 4: Check for re-added silkscreen text

After the update, compare the silkscreen state. Library updates commonly re-add text on layers 25-28 (tNames, bNames, tValues, bValues) that was intentionally deleted.

Screenshot the silkscreen layers again:

adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'
sleep 1
adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'

Compare before/after screenshots. Look for text labels that appeared after the update. Common culprits:

  • Component names (>NAME) appearing on tNames/bNames
  • Component values (>VALUE) appearing on tValues/bValues
  • Package outlines changing size on tPlace/bPlace

To delete specific re-added text elements, use EAGLE DELETE command targeting the layer:

# Delete a specific text element by selecting it
# First, identify the text position from board_info or visual inspection
# Then use DELETE command pointed at those coordinates
adom-desktop fusion_electron_run '{"command":"DELETE (<x> <y>)"}'

Bulk approach — smash and delete names/values:

If all component names/values on the board should be hidden (common for molecules where silkscreen is manually curated):

# SMASH separates name/value text from the component so they can be individually deleted
# Then delete the text on the names/values layers
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 25 26 27 28"}'
# Group-select all visible text, then delete
adom-desktop fusion_electron_run '{"command":"GROUP ALL; DELETE (>0 0)"}'

CAUTION: Only delete text that was NOT present before the update. Compare screenshots carefully. Some designs intentionally keep certain reference designators visible.

Step 5: Restore normal layer display

# Show standard PCB editing layers
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 41 42 43 44 45 46 51 52; WINDOW FIT"}'

Step 6: Push 2D layout to 3D board view

CRITICAL — Fusion no longer auto-syncs 2D→3D. You must manually push the updated 2D layout to the 3D PCB view before saving or exporting.

adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::Pcb3DViewAdvanced"}'

This is the "Push to 3D PCB" command. It opens the 3D PCB view and syncs the current 2D board state into it. Wait 5-10 seconds for the sync to complete.

After the push, Fusion will be in the 3D PCB workspace. You can verify the 3D view looks correct:

adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'

Step 7: Save

Return to the 2D board editor, then save:

# Switch back to 2D board
adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'
sleep 2

# Save to cloud
adom-desktop fusion_execute_text_command '{"command":"Commands.Start PLM360SaveCommand"}'
# Wait for Save dialog, then confirm
sleep 5
# Find Save dialog HWND and press Enter
SAVE_HWND=$(adom-desktop fusion_window_info '{}' 2>&1 | python3 -c "
import sys,json
data = json.load(sys.stdin)
output = json.loads(data.get('output','{}'))
for d in output.get('dialogs',[]):
    if d.get('title') == 'Save':
        print(d['hwnd'])
        break
")
adom-desktop fusion_send_key "{\"key\":\"enter\",\"hwnd\":$SAVE_HWND}"

Wait for the title bar to show the incremented version number without an asterisk.

Step 8: Export (optional)

If exporting after update, use the caching bug workaround from the fusion-export-for-hydrogen skill:

  1. Close all project tabs: Commands.Start CloseDocumentCommand (repeat for each tab)
  2. Reopen the .fprj project file
  3. Switch to 2D board: EDIT .brd
  4. Run Export for Hydrogen: Commands.Start Adom_AdomHelperJoe_export_for_hydrogen

See the fusion-export-for-hydrogen skill for full export details.

Quick Reference

ActionCommand
Switch to boardfusion_electron_run '{"command":"EDIT .brd"}'
Show silkscreen onlyfusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'
Update all librariesCommands.Start Electron::UpdateDesignFromAllLibraries
Update one libraryCommands.Start Electron::UpdateDesignFromLibrary
Push 2D→3DCommands.Start Electron::Pcb3DViewAdvanced
Save to cloudCommands.Start PLM360SaveCommand
Close documentCommands.Start CloseDocumentCommand
Show all layersfusion_electron_run '{"command":"DISPLAY ALL; WINDOW FIT"}'
Get board infofusion_board_info '{}'

Important Notes

  • Always capture silkscreen state BEFORE updating. Library updates are not easily reversible for individual text elements. If you miss something, you may need to undo the entire update.
  • The 2D→3D push is now mandatory. Fusion removed automatic sync. Forgetting this step means the 3D view (and F3D/USDZ exports) will show outdated geometry.
  • Focus stealing warning: The "Push to 3D PCB" command switches Fusion to the 3D workspace, which steals desktop focus. Warn the user.
  • Undo is available if the library update causes unexpected changes: Electron::Undo or Ctrl+Z.

Skill Source

Edit AI Skill
---
name: fusion-update-libraries
description: Update component libraries in a Fusion 360 Electronics PCB design, preserving silkscreen customizations and syncing the 3D board view. Use when the user says "update libraries", "update components", "update from library", "refresh library", "library update", "update machine pins", "update contacts", "sync 3d board", "push to 3d pcb", "update 3d preview", or "library out of date".
---

# Fusion Update Libraries

Update component library footprints/packages in a Fusion 360 Electronics PCB design while preserving silkscreen customizations, then sync the 2D layout to the 3D board view.

**Prerequisite:** `adom-desktop` must be connected (`adom-desktop ping`). The design must be open in the 2D PCB Editor workspace.

## Overview

Library updates in Fusion's Electronics workspace pull the latest footprint geometry from cloud libraries into the active board. However, they have two side effects that must be handled:

1. **Silkscreen text re-appears** — Names/values layers (tNames/bNames layers 25/26, tValues/bValues layers 27/28) that were intentionally deleted during board design get re-added by the library update. These must be identified and removed.

2. **3D board view is stale** — Fusion no longer auto-syncs 2D→3D. After updating libraries, you must manually push the 2D layout to the 3D PCB view before saving or exporting.

## Step-by-Step Workflow

### Step 1: Verify workspace state

```bash
adom-desktop fusion_get_app_state '{}' 2>&1 | python3 -c "
import sys,json
data = json.load(sys.stdin)
output = json.loads(data.get('output','{}'))
d = output.get('data',{})
print(f'Active: {d.get(\"activeDocument\")}, Workspace: {d.get(\"activeWorkspace\")}, Electronics: {d.get(\"isElectronics\")}')
"
```

Must be in `PCB Editor` workspace with `isElectronics: True`. If not:

```bash
adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'
```

### Step 2: Capture pre-update silkscreen state

Before updating, capture the current silkscreen text so we can detect what gets re-added.

**Screenshot the silkscreen layers:**

```bash
# Show only silkscreen layers, hide everything else
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'
sleep 1
adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'
```

**Export board info to get component text state:**

```bash
adom-desktop fusion_board_info '{}' 2>&1
```

This returns component placements with names/values. Save this data to compare after the update.

**Key EAGLE layers for silkscreen:**

| Layer | Name | Content |
|-------|------|---------|
| 21 | tPlace | Top silkscreen (outlines, markers) |
| 22 | bPlace | Bottom silkscreen (outlines, markers) |
| 25 | tNames | Top component reference designators |
| 26 | bNames | Bottom component reference designators |
| 27 | tValues | Top component values |
| 28 | bValues | Bottom component values |

### Step 3: Run the library update

```bash
adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::UpdateDesignFromAllLibraries"}'
```

This updates all components from their linked cloud libraries. Wait 5-10 seconds for it to complete.

**Alternative — update from a specific library only:**
```bash
adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::UpdateDesignFromLibrary"}'
```
This opens a dialog to select which library to update from.

### Step 4: Check for re-added silkscreen text

After the update, compare the silkscreen state. Library updates commonly re-add text on layers 25-28 (tNames, bNames, tValues, bValues) that was intentionally deleted.

**Screenshot the silkscreen layers again:**

```bash
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'
sleep 1
adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'
```

**Compare before/after screenshots.** Look for text labels that appeared after the update. Common culprits:
- Component names (`>NAME`) appearing on tNames/bNames
- Component values (`>VALUE`) appearing on tValues/bValues
- Package outlines changing size on tPlace/bPlace

**To delete specific re-added text elements, use EAGLE DELETE command targeting the layer:**

```bash
# Delete a specific text element by selecting it
# First, identify the text position from board_info or visual inspection
# Then use DELETE command pointed at those coordinates
adom-desktop fusion_electron_run '{"command":"DELETE (<x> <y>)"}'
```

**Bulk approach — smash and delete names/values:**

If all component names/values on the board should be hidden (common for molecules where silkscreen is manually curated):

```bash
# SMASH separates name/value text from the component so they can be individually deleted
# Then delete the text on the names/values layers
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 25 26 27 28"}'
# Group-select all visible text, then delete
adom-desktop fusion_electron_run '{"command":"GROUP ALL; DELETE (>0 0)"}'
```

**CAUTION:** Only delete text that was NOT present before the update. Compare screenshots carefully. Some designs intentionally keep certain reference designators visible.

### Step 5: Restore normal layer display

```bash
# Show standard PCB editing layers
adom-desktop fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 41 42 43 44 45 46 51 52; WINDOW FIT"}'
```

### Step 6: Push 2D layout to 3D board view

**CRITICAL — Fusion no longer auto-syncs 2D→3D.** You must manually push the updated 2D layout to the 3D PCB view before saving or exporting.

```bash
adom-desktop fusion_execute_text_command '{"command":"Commands.Start Electron::Pcb3DViewAdvanced"}'
```

This is the "Push to 3D PCB" command. It opens the 3D PCB view and syncs the current 2D board state into it. Wait 5-10 seconds for the sync to complete.

After the push, Fusion will be in the 3D PCB workspace. You can verify the 3D view looks correct:

```bash
adom-desktop desktop_screenshot_window '{"hwnd":<fusion_hwnd>}'
```

### Step 7: Save

Return to the 2D board editor, then save:

```bash
# Switch back to 2D board
adom-desktop fusion_electron_run '{"command":"EDIT .brd"}'
sleep 2

# Save to cloud
adom-desktop fusion_execute_text_command '{"command":"Commands.Start PLM360SaveCommand"}'
# Wait for Save dialog, then confirm
sleep 5
# Find Save dialog HWND and press Enter
SAVE_HWND=$(adom-desktop fusion_window_info '{}' 2>&1 | python3 -c "
import sys,json
data = json.load(sys.stdin)
output = json.loads(data.get('output','{}'))
for d in output.get('dialogs',[]):
    if d.get('title') == 'Save':
        print(d['hwnd'])
        break
")
adom-desktop fusion_send_key "{\"key\":\"enter\",\"hwnd\":$SAVE_HWND}"
```

Wait for the title bar to show the incremented version number without an asterisk.

### Step 8: Export (optional)

If exporting after update, use the **caching bug workaround** from the `fusion-export-for-hydrogen` skill:

1. Close all project tabs: `Commands.Start CloseDocumentCommand` (repeat for each tab)
2. Reopen the `.fprj` project file
3. Switch to 2D board: `EDIT .brd`
4. Run Export for Hydrogen: `Commands.Start Adom_AdomHelperJoe_export_for_hydrogen`

See the `fusion-export-for-hydrogen` skill for full export details.

## Quick Reference

| Action | Command |
|--------|---------|
| Switch to board | `fusion_electron_run '{"command":"EDIT .brd"}'` |
| Show silkscreen only | `fusion_electron_run '{"command":"DISPLAY NONE; DISPLAY 21 22 25 26 27 28; WINDOW FIT"}'` |
| Update all libraries | `Commands.Start Electron::UpdateDesignFromAllLibraries` |
| Update one library | `Commands.Start Electron::UpdateDesignFromLibrary` |
| Push 2D→3D | `Commands.Start Electron::Pcb3DViewAdvanced` |
| Save to cloud | `Commands.Start PLM360SaveCommand` |
| Close document | `Commands.Start CloseDocumentCommand` |
| Show all layers | `fusion_electron_run '{"command":"DISPLAY ALL; WINDOW FIT"}'` |
| Get board info | `fusion_board_info '{}'` |

## Important Notes

- **Always capture silkscreen state BEFORE updating.** Library updates are not easily reversible for individual text elements. If you miss something, you may need to undo the entire update.
- **The 2D→3D push is now mandatory.** Fusion removed automatic sync. Forgetting this step means the 3D view (and F3D/USDZ exports) will show outdated geometry.
- **Focus stealing warning:** The "Push to 3D PCB" command switches Fusion to the 3D workspace, which steals desktop focus. Warn the user.
- **Undo is available** if the library update causes unexpected changes: `Electron::Undo` or Ctrl+Z.

Sub-Skills
?
What are Sub-Skills?

Sub-skills are community-contributed AI skill extensions for this component. They teach AI assistants about specific tools, configurators, or workflows.

Examples:

  • A manufacturer’s configuration tool for a motor controller
  • A community-written design guide for an amplifier circuit
  • An automated test/validation script for a sensor module

How to add one: Click Add Sub-Skill, provide the URL to your skill and a brief description. Submissions are reviewed by the Adom team before going live.

No sub-skills yet. Be the first to contribute one!

Recent activity

2 commits
  • āœŽ
    Edit v1.0.0 Drew Owens 14 days ago
    Add discovery triggers and pitch for skill-pilot routing
  • šŸ·
    Release v1.0.0 Drew Owens 14 days ago
    Initial publish — library update workflow, silkscreen preservation, manual 2D-to-3D push, save and export handoff
0 revisions · Updated 2026-05-13 19:58:35