psd-automator

Automate PSD text replacement on Mac and Windows with Photoshop, dry-run safety, style-lock checks, rollback, and local PSD index cache. Use when requests include file/path hints, layer name, and replacement text from chat channels (including DingTalk) and require no popup dialogs.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "psd-automator" with this command: npx skills add dhrxy/psd-automator

PSD Automator

Cross-platform PSD text automation for teams using both macOS and Windows.

Scope

  • Phase 1 + 2 only.
  • Screenshot understanding is intentionally out of scope.
  • Uses one task protocol and two execution engines:
    • macOS: AppleScript (osascript)
    • Windows: Photoshop COM (PowerShell)

Task Protocol

Read references/task-schema.json before running.

Minimal required fields:

  • taskId
  • input.edits[] (layerName + newText)
  • input.exactPath or input.fileHint

Key optional fields:

  • workflow.sourceMode: inplace or copy_then_edit
  • output.exports[]: PNG export (mode=single or mode=layer_sets for sliced/block assets)
  • output.bundle.zipName: zip name for sliced assets bundle
  • options.pathBridgeMode: auto / always / off (macOS Unicode path bridge)
  • options.bundleZip: whether to bundle layer_sets PNGs into one zip
  • options.matchImagePath: screenshot path for selecting most similar exported slice

Build and Refresh PSD Index

Create or refresh local cache:

node skills/psd-automator/scripts/build-index.js \
  --root "/Projects/Design" \
  --root "/Users/me/Desktop/assets" \
  --index "~/.openclaw/psd-index.json"

Incremental refresh:

node skills/psd-automator/scripts/build-index.js --incremental

Run a Task

Dry-run first (recommended):

node skills/psd-automator/scripts/run-task.js \
  --task "skills/psd-automator/examples/task.mac.json" \
  --dry-run

Execute:

node skills/psd-automator/scripts/run-task.js \
  --task "skills/psd-automator/examples/task.mac.json"

Natural-language dispatch (through OpenClaw chat command, supports .psd and .psb):

/psd design-mac-01 帮我找到20260225工位名牌.psd或20260225工位名牌.psb,把姓名改成琳琳,座右铭改成步履不前,稳步前进,保存成png放置在桌面 --dry-run

DingTalk image handoff (required)

When replying in DingTalk and task execution is successful with PNG output, the final response MUST include this marker with an absolute path:

[DINGTALK_IMAGE]{"path":"<absolute_png_path>"}[/DINGTALK_IMAGE]

Rules:

  • Use absolute path only (for example /Users/name/Desktop/xxx.png).
  • Do not use filename-only values.
  • If pngOutputPath (or first item in pngOutputPaths) is missing, clearly report failure and do not emit a fake marker.
  • For mode=layer_sets, pngOutputPaths should contain all exported block images in the output folder.
  • When available, use selectedPngPath as the single best-match image for screenshot workflows.
  • When available, send bundleZipPath as file attachment: [DINGTALK_FILE]{"path":"<absolute_zip_path>","fileName":"<name>.zip","fileType":"zip"}[/DINGTALK_FILE].
  • Keep normal human-readable summary, then append marker on a new line at the end.

OpenClaw Routing Pattern (Phase 2)

Use OpenClaw subagent routing guidance:

Core idea:

  1. Main agent parses request.
  2. Resolve target machine + platform capabilities.
  3. Spawn/dispatch to target subagent.
  4. Subagent runs run-task.js locally.
  5. Return normalized result + audit log.

Safety Baseline

  • Always support dryRun.
  • Keep style lock (font and size) after text changes.
  • Disable Photoshop dialogs.
  • Create .bak backup before write.
  • Stop on ambiguous file matches (E_FILE_AMBIGUOUS); never guess silently.
  • On layer-not-found, return availableLayers + suggestedLayers.
  • Emit standardized error codes from references/error-codes.md.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Skill Polisher

Polishes standalone skills and multi-skill bundles for ClawHub readability without sacrificing LLM effectiveness. Use when improving a skill's listing, makin...

Registry SourceRecently Updated
General

OpenClaw Hi Install

Install or repair Hirey Hi on a local OpenClaw host through the official ClawHub package path, then complete the local MCP, receiver, registration, and healt...

Registry SourceRecently Updated
5630yzlee
General

Reducto

Reducto document processing API integration with managed API key authentication. Parse, extract, split, and edit documents. Use this skill when users want to...

Registry SourceRecently Updated
General

Resend

Resend API integration with managed authentication. Send transactional emails, manage domains, contacts, templates, and broadcasts. Use this skill when users...

Registry SourceRecently Updated