Help us improve
Share bugs, ideas, or general feedback.
From shortcuts
Generates Apple Shortcuts as plist XML files programmatically without the GUI app. Supports macOS deployment (discovery, convert, sign, import) and Linux XML export.
npx claudepluginhub bendrucker/claude --plugin shortcutsHow this skill is triggered — by the user, by Claude, or both
Slash command
/shortcuts:shortcutThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate Apple Shortcuts as XML property list files.
Build, validate, sign, and remix macOS/iOS Shortcuts by creating plist files. Use for automating workflows, generating .shortcut files, or modifying existing shortcuts.
Runs, lists, views, signs, and imports Apple Shortcuts via macOS shortcuts CLI. Supports headless execution, input/output handling, and permission prompts for automation.
Sets up macOS permissions for Apple Notes automation with AppleScript, JXA, osascript, and Shortcuts. Includes access tests, CLI wrapper script, and Shortcuts verification.
Share bugs, ideas, or general feedback.
Generate Apple Shortcuts as XML property list files.
uname -swhich shortcuts 2>/dev/null && echo "available" || echo "not available"If the OS is Darwin (macOS), use the discovery CLI and the full deployment pipeline (convert, sign, import, run). If Linux, generate XML only — signing and import are unavailable. Inform the user.
On macOS, use the discovery CLI to find actions: see references/discovery.md
On any platform, use the static action catalog: see references/actions.md
Write the shortcut as an XML plist. Load references as needed:
Minimal template:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>WFWorkflowMinimumClientVersionString</key>
<string>900</string>
<key>WFWorkflowMinimumClientVersion</key>
<integer>900</integer>
<key>WFWorkflowClientVersion</key>
<string>2702</string>
<key>WFWorkflowIcon</key>
<dict>
<key>WFWorkflowIconStartColor</key>
<integer>463140863</integer>
<key>WFWorkflowIconGlyphNumber</key>
<integer>59511</integer>
</dict>
<key>WFWorkflowTypes</key>
<array>
<string>MenuBar</string>
</array>
<key>WFWorkflowInputContentItemClasses</key>
<array/>
<key>WFWorkflowActions</key>
<array>
<!-- actions go here -->
</array>
</dict>
</plist>
Key conventions:
Set Variable / Get Variable over inline WFTextTokenString.UUID and CustomOutputName to an action's parameters to capture its output.See references/deployment.md for the full pipeline: convert, sign, import, iterate.
Quick reference:
plutil -convert binary1 -o "My Shortcut.shortcut" "My Shortcut.plist"
mkdir -p out
shortcuts sign -i "My Shortcut.shortcut" -o "out/My Shortcut.shortcut"
open "out/My Shortcut.shortcut"