apple-shortcuts
Use when working with Apple Shortcuts on macOS/iOS - discovering actions, extension apps, running shortcuts from CLI, or integrating with automation workflows.
Best use case
apple-shortcuts is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when working with Apple Shortcuts on macOS/iOS - discovering actions, extension apps, running shortcuts from CLI, or integrating with automation workflows.
Teams using apple-shortcuts should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/apple-shortcuts/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How apple-shortcuts Compares
| Feature / Agent | apple-shortcuts | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when working with Apple Shortcuts on macOS/iOS - discovering actions, extension apps, running shortcuts from CLI, or integrating with automation workflows.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Apple Shortcuts
Automation platform for macOS and iOS. Shortcuts can be created via GUI, Cherri (code), or imported.
## Running Shortcuts from CLI
```bash
# List all shortcuts
shortcuts list
# Run a shortcut by name
shortcuts run "My Shortcut"
# Run with text input
shortcuts run "My Shortcut" <<< "input text"
# Via URL scheme (works from any app)
open "shortcuts://run-shortcut?name=My%20Shortcut&input=text&text=Hello"
```
URL scheme parameters:
- `name`: Shortcut name (URL encoded)
- `input`: `text` or `clipboard`
- `text`: Actual input string
## Discovering Available Actions
macOS stores all Shortcuts actions in a ToolKit database:
```
~/Library/Shortcuts/ToolKit/Tools-prod.*.sqlite
```
Use the dotfiles script to explore:
```bash
cd ~/projects/jasonkuhrt/dotfiles/shortcuts
./analyze-shortcuts-actions.fish stats # Action counts
./analyze-shortcuts-actions.fish vendors # Third-party apps
./analyze-shortcuts-actions.fish actions raycast # Actions for an app
./analyze-shortcuts-actions.fish search clipboard # Search by keyword
./analyze-shortcuts-actions.fish doc # Generate reference doc
```
## Shortcuts Storage
```
~/Library/Shortcuts/Shortcuts.sqlite # Shortcut definitions
~/Library/Shortcuts/ToolKit/ # Action database
```
Shortcuts are stored in SQLite with actions as binary plist blobs. Not meant for direct editing—use Cherri for code-based shortcuts.
## Persistent Config
Use JSON in iCloud Drive instead of extension apps for config storage:
**Location:** `~/Library/Mobile Documents/com~apple~CloudDocs/dotfiles/shortcuts/config.json`
```bash
# CLI (fish)
shortcuts-config get # View all
shortcuts-config set currentProject foo # Set key
shortcuts-config get currentProject # Get key
```
**In Shortcuts:** Use "Get File" / "Save File" pointing to `/dotfiles/shortcuts/config.json`
**Do not use Data Jar or similar apps.** JSON gives:
- Direct CLI access (`jq`, `shortcuts-config`)
- Version controllable (symlink to git repo)
- No app dependency
- Cross-platform (iOS Files app can read it too)
- Claude Code can read/write directly
## Extension Apps
Apps that add actions to Shortcuts:
| App | Platform | Purpose |
|-----|----------|---------|
| **Toolbox Pro** | iOS + Mac (M1+)* | Global variables, OCR, device info |
| **Actions** | iOS + macOS | 180+ extra actions (Sindre Sorhus) |
| **Menu Box** | iOS + macOS | Beautiful menus with SF Symbols, colors, hidden data |
| **Logger** | iOS + macOS | Debug console with log levels, tags, iCloud sync |
| **FocusCuts** | macOS only | Status bar menu for Focus Mode-aware shortcuts |
| **Charty** | iOS + macOS | Generate charts (bar, line, pie, scatter, etc.) |
*Wrapped iOS app—runs on Apple Silicon via "Designed for iPhone/iPad"
### Installing Extension Apps
```bash
# Native macOS apps (via mas)
mas install 1586435171 # Actions
```
Wrapped iOS apps (Toolbox Pro) require manual App Store install—`mas` can't install them.
### After Installing New Apps
1. Open Shortcuts app (triggers ToolKit database refresh)
2. Discover actions: `./analyze-shortcuts-actions.fish actions <appname>`
3. Get parameters: `./analyze-shortcuts-actions.fish params <action>`
4. Use in Cherri with `rawAction()` syntax
## macOS Signing Requirement
**macOS will not import unsigned shortcuts.**
```bash
# Unsigned - syntax check only, won't import on macOS
cherri myshortcut.cherri --skip-sign
# Signed via macOS/AppleID (default)
cherri myshortcut.cherri
# Signed via RoutineHub service (if macOS signing fails)
cherri myshortcut.cherri --hubsign
```
Signed shortcuts contain `AppleIDValidationRecord` and `SigningPublicKey` in an AEA1 archive format (different from code signing - `codesign -dv` won't recognize them).
## Wrapped iOS Apps on Mac
Some iOS apps run on Apple Silicon Macs via compatibility mode:
```
/Applications/App Name.app/
├── WrappedBundle -> Wrapper/ActualApp.app
└── Wrapper/
└── ActualApp.app (iOS app)
```
These apps:
- Can't be installed via `mas` CLI
- Require manual App Store install
- Work identically to iOS versions
- Sync via iCloud
## Shortcuts Database Schema
For advanced exploration:
```sql
-- List all third-party actions
SELECT id FROM Tools
WHERE id NOT LIKE 'com.apple.%'
ORDER BY id;
-- Count by vendor
SELECT
substr(id, 1, instr(substr(id, instr(id, '.') + 1), '.') + instr(id, '.')) as vendor,
COUNT(*) as count
FROM Tools
WHERE id NOT LIKE 'com.apple.%'
GROUP BY vendor
ORDER BY count DESC;
```
## Integration with Cherri
See the `cherri` skill for:
- Writing shortcuts as code
- Raw action syntax for third-party apps
- Known extension app patterns
## Key Learnings
1. **Shortcuts are signed** - macOS requires signed `.shortcut` files for import
2. **Actions come from apps** - Install extension apps to get more actions
3. **ToolKit database is truth** - Query it to discover available actions and parameters
4. **URL schemes work everywhere** - Trigger shortcuts from CLI, scripts, other apps
5. **Wrapped iOS apps exist** - Some "Mac" apps are actually iOS apps in disguise
6. **Use JSON for config** - Store persistent data in `iCloud Drive/dotfiles/shortcuts/config.json`, not extension apps like Data Jar. This gives CLI access via `shortcuts-config` and works cross-platform.
## Resources
- [Cherri](https://cherrilang.org) - Shortcuts programming language
- [Toolbox Pro](https://toolboxpro.app) - Global variables, menus, device info
- [Actions](https://sindresorhus.com/actions) - 180+ extra actions (free)Related Skills
applescript
Expert in AppleScript and JavaScript for Automation (JXA) for macOS system scripting. Specializes in secure script execution, application automation, and system integration. HIGH-RISK skill due to shell command execution and system-wide control capabilities.
apple-notes
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Clawdbot to add a note, list notes, search notes, or manage note folders.
apple-developer-toolkit
All-in-one Apple developer skill with three integrated tools shipped as a single unified binary. (1) Documentation search across Apple frameworks, symbols, and 1,267 WWDC sessions from 2014-2025. No credentials needed. (2) App Store Connect CLI with 120+ commands covering builds (find/wait/upload), TestFlight, pre-submission validate, submissions, signing, subscriptions (family-sharable), IAP, analytics, Xcode Cloud, metadata workflows, release pipeline dashboard, insights, win-back offers, promoted purchases, product pages, nominations, accessibility declarations, pre-orders, pricing filters, localizations update, diff, webhooks with local receiver, workflow automation, and more. Requires App Store Connect API key. (3) Multi-platform app builder (iOS/watchOS/tvOS/iPad/macOS/visionOS) that generates complete Swift/SwiftUI apps from natural language with auto-fix, simulator launch, interactive chat mode, and open-in-Xcode. Requires an LLM API key and Xcode. Includes 38 iOS development rules and 12 SwiftUI best practice guides for Liquid Glass, navigation, state management, and modern APIs. All three tools ship as one binary (appledev). USE WHEN: Apple API docs, App Store Connect management, WWDC lookup, or building iOS/watchOS/tvOS/macOS/visionOS apps from scratch. DON'T USE WHEN: non-Apple platforms or general coding.
apple-contacts
Search and view Apple Contacts from the command line using apple-contacts CLI. Use when asked to search, list, show, or export contacts, find birthdays, browse contact groups, or look up people by name, email, phone, organization, or address. Read-only access using Apple's native Contacts Framework for fast, reliable lookups.
apple-platforms
Build apps for macOS, iPadOS, watchOS, and visionOS with platform-specific features. Use when creating menu bar apps, iPad split views, Apple Watch complications, Vision Pro immersive experiences, or multi-platform adaptations.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
large-data-with-dask
Specific optimization strategies for Python scripts working with larger-than-memory datasets via Dask.
langsmith-fetch
Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging agent behavior, investigating errors, analyzing tool calls, checking memory operations, or examining agent performance. Automatically fetches recent traces and analyzes execution patterns. Requires langsmith-fetch CLI installed.
langchain-tool-calling
How chat models call tools - includes bind_tools, tool choice strategies, parallel tool calling, and tool message handling
langchain-notes
LangChain 框架学习笔记 - 快速查找概念、代码示例和最佳实践。包含 Core components、Middleware、Advanced usage、Multi-agent patterns、RAG retrieval、Long-term memory 等主题。当用户询问 LangChain、Agent、RAG、向量存储、工具使用、记忆系统时使用此 Skill。
langchain-js
Builds LLM-powered applications with LangChain.js for chat, agents, and RAG. Use when creating AI applications with chains, memory, tools, and retrieval-augmented generation in JavaScript.
langchain-agents
Expert guidance for building LangChain agents with proper tool binding, memory, and configuration. Use when creating agents, configuring models, or setting up tool integrations in LangConfig.