Public
AI iOS Shortcut builder + library — exportable .shortcut files
aiios-shortcutsutilityweb-app
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Build advanced iOS Shortcuts on the web, then download them as importable .shortcut files.
- ✨ AI Build — describe a shortcut in plain English; an LLM returns an editable action list.
- 🗂 Templates — 101 ready-to-fork shortcuts spanning 20+ categories (Web/API, Power User, Share Sheet, Media, Siri, Accessibility, Discretion, Discovery, Streaming, File Management, Networking, Bluetooth, Camera Tricks, Tweaks, Home scenes, Productivity, Calendars, Weather, Text/Data) — from starter skeletons to fully-designed, turnkey automations.
- 🧱 Editor — add/reorder/remove actions, edit every field, then download.
https://shortcut-studio.val.run
iOS Shortcuts files are a plist with a WFWorkflowActions array. Each built-in action has a stable identifier (is.workflow.actions.downloadurl, etc.). This app maps a clean JSON action model → the exact XML plist via:
| File | Role |
|---|---|
actions.ts | Action catalog — id, fields, and →-plist builders (72 advanced actions) |
builder.ts | Generic XML plist serializer + .shortcut/WFWorkflow assembly; normalizes If/Otherwise/End-If grouping |
templates.ts | The template library (101 shortcuts, featured-first ordering) |
test.ts | Library sanity tests — balanced If/Menu/Repeat blocks, unique keys, id audit |
ai.ts | LLM "describe → build" (OpenAI or Anthropic, auto-detected) |
ui.tsx | Client-side React studio (Twind styling) |
main.ts | HTTP entrypoint: page, /api/meta, /api/build, /api/ai, /source |
GET /api/meta— action catalog + templates + AI status.POST /api/build—{name, steps}→ downloadable.shortcut.POST /api/ai—{description, provider?}→{name, steps}.GET /source— view/remix this val.
The "Describe & Build" AI feature is live and verified on Groq and Gemini. It auto-detects any of four providers (priority: Groq → Gemini → OpenAI → Anthropic):
GROQ_API_KEY→ modelopenai/gpt-oss-120b(via Groq)GEMINI_API_KEY→ modelgemini-3.6-flashOPENAI_API_KEY→ modelgpt-4o-miniANTHROPIC_API_KEY→ modelclaude-sonnet-4
Everything else (templates, editor, export) works with no key at all.
- Choose from Menu is represented in Shortcuts as a single action with nested menu items; this build uses sibling
.item/.endpasses. Worth refining for imported menus. - Repeat/Repeat with Each loops share a similar control-flow pattern; refine grouping semantics.
- Shortcuts imports unsigned XML plist
.shortcutfiles directly — device-import testing on iOS is the ultimate check.
Fork via the view source link, extend actions.ts with more identifiers, and remix your own copy.