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.

⚡ Shortcut Studio

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.
  • 🗂 Templates101 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.

Live site

https://shortcut-studio.val.run

How a .shortcut is made

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:

FileRole
actions.tsAction catalog — id, fields, and →-plist builders (72 advanced actions)
builder.tsGeneric XML plist serializer + .shortcut/WFWorkflow assembly; normalizes If/Otherwise/End-If grouping
templates.tsThe template library (101 shortcuts, featured-first ordering)
test.tsLibrary sanity tests — balanced If/Menu/Repeat blocks, unique keys, id audit
ai.tsLLM "describe → build" (OpenAI or Anthropic, auto-detected)
ui.tsxClient-side React studio (Twind styling)
main.tsHTTP entrypoint: page, /api/meta, /api/build, /api/ai, /source

API

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

AI status

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 → model openai/gpt-oss-120b (via Groq)
  • GEMINI_API_KEY → model gemini-3.6-flash
  • OPENAI_API_KEY → model gpt-4o-mini
  • ANTHROPIC_API_KEY → model claude-sonnet-4

Everything else (templates, editor, export) works with no key at all.

Known iterations for true power-user fidelity

  • Choose from Menu is represented in Shortcuts as a single action with nested menu items; this build uses sibling .item/.end passes. Worth refining for imported menus.
  • Repeat/Repeat with Each loops share a similar control-flow pattern; refine grouping semantics.
  • Shortcuts imports unsigned XML plist .shortcut files directly — device-import testing on iOS is the ultimate check.

Contribute

Fork via the view source link, extend actions.ts with more identifiers, and remix your own copy.