Skip to content

devmc12/xd-link-export

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xd-link-export

English | 中文

xd-link-export is an Adobe XD link export skill. It exports XD share links into reusable screenshots and metadata.

It is mainly built for design-share-link-to-frontend, design analysis, and automated asset preparation workflows.

Features

Supported link types

  • https://xd.adobe.com/view/SHARE_ID/screen/SCREEN_ID/
  • https://xd.adobe.com/view/SHARE_ID/screen/SCREEN_ID/specs/
  • https://xd.adobe.com/view/SHARE_ID/screen/SCREEN_ID/variables/
  • https://xd.adobe.com/view/SHARE_ID/grid

Screenshot export

  • remove viewer chrome and outer blank margins
  • export native artboard-1x.png by default, with optional artboard-2x.png
  • use XD specs zoom, SVG artboard rect geometry, and XD thumbnail reference validation for stable long-page capture

Metadata export

  • page-level metadata.json
  • version-level xd-metadata.json
  • version-level pages.json

Versioned output

  • group output by XD project title and version tag
  • keep repeated exports for the same page without overwriting earlier runs

Files

.
├── .gitignore                                           # Ignore local output and editor cache
├── README.md                                            # Project README in English
├── README.zh.md                                         # Project README in Chinese
└── skills/
    └── xd-link-export/
        ├── SKILL.md                                     # Skill entry instructions
        ├── requirements.txt                             # Python dependencies for the exporter
        ├── agents/
        │   └── openai.yaml                              # Skill UI metadata
        ├── references/
        │   ├── capture-rules.md                         # Capture rules and metadata source notes
        │   └── output-layout.md                         # Export folder and file layout
        └── scripts/
            ├── export_xd_page_bundle.py                 # Metadata and page-bundle orchestration
            └── capture_xd_artboard.py                   # Native artboard screenshot capture

Install

To use it inside a repository:

.agents/
  skills/
    xd-link-export/

Copy or symlink skills/xd-link-export/ into that location.

Dependencies

  • Python packages are declared in skills/xd-link-export/requirements.txt
  • If playwright is missing, run:
cd skills/xd-link-export
pip install -r requirements.txt
  • If the host machine already has Chrome, no extra browser download is required
  • If Chrome is unavailable, install Chrome or Playwright's bundled Chromium:
python -m playwright install chromium

Run

Export all pages:

cd skills/xd-link-export
python scripts/export_xd_page_bundle.py `
  --url "https://xd.adobe.com/view/SHARE_ID/grid"

Select pages with one --pages argument:

python scripts/export_xd_page_bundle.py `
  --url "https://xd.adobe.com/view/SHARE_ID/grid" `
  --pages "1-3,16,25-30"

--pages accepts forms like 1, 1-5,4-7,19, and 01,02,03,13-18.

Export both 1x and 2x:

python scripts/export_xd_page_bundle.py `
  --url "https://xd.adobe.com/view/SHARE_ID/grid" `
  --pages "1-3,16,25-30" `
  --scales "1,2"

By default, the exporter writes only 1x. Use --scales "2" for only 2x. Accepted scale forms are 1, 2, 1,2, and 2,1; values above 2 are invalid.

Run 1x and 2x workers in parallel:

python scripts/export_xd_page_bundle.py `
  --url "https://xd.adobe.com/view/SHARE_ID/grid" `
  --pages "1-3,16,25-30" `
  --scales "1,2" `
  --parallel

Page errors are always collected while the batch continues. If any page or requested scale fails, the final process exit code is non-zero and the JSON summary includes errors.

Use --parallel only with --scales "1,2" or --scales "2,1" to run separate 1x and 2x scale workers at the same time.

Capture uses domcontentloaded plus XD canvas/zoom/overlay readiness checks. Before writing a PNG, it compares the captured artboard against XD's own thumbnail reference so loading masks are not committed as final output. --wait-ms is the maximum UI readiness wait, not a fixed sleep after every navigation.

Output

.xd-export/
  PROJECT_TITLE - VERSION_TAG/
    xd-metadata.json
    pages.json
    PAGE_INDEX-SCREEN_SLUG/
      artboard-1x.png
      artboard-2x.png  # when --scales includes 2
      metadata.json

Page outputs are staged under .tmp/ first and committed to the final page folder only after every requested scale succeeds and passes reference validation. If a previous page folder is incomplete or visually stale, the next successful run repairs that stable folder instead of creating a duplicate timestamped folder; timestamp suffixes are reserved for repeated complete exports.

Related

About

Adobe XD link export skill for turning share links into reusable screenshots and metadata.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages