{"repo":"drewburchfield/shortcuts-toolkit","free":true,"listed":false,"github":"https://github.com/drewburchfield/shortcuts-toolkit","clone":"git clone https://github.com/drewburchfield/shortcuts-toolkit.git","description":"Comprehensive toolkit for generating Apple Shortcuts programmatically using reverse-engineered binary plist format.","language":"JavaScript","stars":35,"topics":["apple-shortcuts","automation","ios","python"],"license":"MIT","category":"mobile-apps","readme_excerpt":"Shortcuts Toolkit 🛠️ Comprehensive toolkit for generating Apple Shortcuts programmatically This repository documents the reverse-engineered process of creating Apple Shortcuts files (.shortcut) that can be imported into the Shortcuts app across iOS, iPadOS, and macOS. 🤔 The Problem Apple's Shortcuts app is incredibly powerful, but there's no official API or documentation for creating shortcut files programmatically. The official methods are: - Manual creation in the Shortcuts app - Sharing via iCloud links - Using the Shortcuts URL scheme (limited) This leaves developers unable to generate shortcuts dynamically for their users. 🎯 The Solution Through reverse engineering and testing, we've discovered the file format and structure requirements for creating importable .shortcut files. 📁 File Format iOS Shortcuts are stored as binary property list (bplist) files with a specific structure: 🔐 The Format Secret The key discovery : Shortcuts files must use a specific binary format to be recognized as valid by iOS: This is the standard binary property list header ( bplist00 ). The entire file must be properly structured as a binary plist with the correct WFWorkflow hierarchy for iOS to accept it. There's no cryptographic signing involved - just following Apple's undocumented format requirements. 💻 Implementation Node.js Example Python Example 🎨 Key Components Action Identifiers Common Shortcuts action identifiers: - is.workflow.actions.url - Get URL - is.workflow.actions.downlo","default_branch":null,"files":null,"tree":[],"storefront":"/r/drewburchfield","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/drewburchfield/shortcuts-toolkit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}