Search

PythonReactSEOPDF
OpenClaw

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.

dhrxy0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install dhrxy/psd-automator

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

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,...

Source information

Source
github
Repository
openclaw/skills
Path
skills/dhrxy/psd-automator
Version
—
Commit
77855f68b2249bb04f468e6e3029c502865308a2
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# 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](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:

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

Incremental refresh:

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

## Run a Task

Dry-run first (recommended):

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

Execute:

```bash
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`):

```text
/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,...

Related skills

OpenClaw

13-Day Sprint Method

galizki

Productivity system based on Maya calendar with 13 natural tones for project management and personal development

OpenClaw

1password

daggerkun007

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.