shortcuts-playground 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +54 -0
  2. package/agents/shortcut-builder.md +172 -0
  3. package/agents/shortcut-remixer.md +239 -0
  4. package/commands/build-shortcut.md +32 -0
  5. package/commands/remix-shortcut.md +34 -0
  6. package/opencode.json +30 -0
  7. package/package.json +47 -0
  8. package/plugin/validator.ts +179 -0
  9. package/skills/shortcuts-playground/ACTIONS.md +713 -0
  10. package/skills/shortcuts-playground/APPINTENTS.md +2760 -0
  11. package/skills/shortcuts-playground/AUTOMATION_TRIGGERS.md +133 -0
  12. package/skills/shortcuts-playground/BEST_PRACTICES.md +357 -0
  13. package/skills/shortcuts-playground/CHANGELOG.md +585 -0
  14. package/skills/shortcuts-playground/CONTROL_FLOW.md +777 -0
  15. package/skills/shortcuts-playground/DATE_TIME.md +75 -0
  16. package/skills/shortcuts-playground/EXAMPLES.md +738 -0
  17. package/skills/shortcuts-playground/FILTERS.md +697 -0
  18. package/skills/shortcuts-playground/HEALTHKIT.md +317 -0
  19. package/skills/shortcuts-playground/ICONS_AND_COLORS.md +89 -0
  20. package/skills/shortcuts-playground/JAVASCRIPT_WEBPAGE.md +51 -0
  21. package/skills/shortcuts-playground/PARAMETER_TYPES.md +1117 -0
  22. package/skills/shortcuts-playground/PLIST_FORMAT.md +296 -0
  23. package/skills/shortcuts-playground/README.md +77 -0
  24. package/skills/shortcuts-playground/SKILL.md +459 -0
  25. package/skills/shortcuts-playground/THIRD_PARTY_ACTIONS.md +77 -0
  26. package/skills/shortcuts-playground/TOOLKIT_SNAPSHOT.md +62 -0
  27. package/skills/shortcuts-playground/URL_SCHEMES.md +59 -0
  28. package/skills/shortcuts-playground/VARIABLES.md +569 -0
  29. package/skills/shortcuts-playground/assets/shortcuts-small.svg +14 -0
  30. package/skills/shortcuts-playground/assets/shortcuts.png +0 -0
  31. package/skills/shortcuts-playground/data/healthkit-ios26.2-reference.json +2603 -0
  32. package/skills/shortcuts-playground/data/macos27-shortpy-grounding.json +4085 -0
  33. package/skills/shortcuts-playground/data/macos27-workflow-trigger-samples.json +1 -0
  34. package/skills/shortcuts-playground/data/shortcuts-glyph-synonyms.json +5102 -0
  35. package/skills/shortcuts-playground/data/shortcuts-icon-colors.json +107 -0
  36. package/skills/shortcuts-playground/data/shortcuts-official-glyph-mapping.json +509 -0
  37. package/skills/shortcuts-playground/data/toolkit-v63-tool-ids.json +1806 -0
  38. package/skills/shortcuts-playground/data/toolkit-v78-first-party-enum-cases.json +1 -0
  39. package/skills/shortcuts-playground/data/toolkit-v78-first-party-parameter-keys.json +1 -0
  40. package/skills/shortcuts-playground/data/toolkit-v78-ios27-tool-ids.json +1222 -0
  41. package/skills/shortcuts-playground/data/toolkit-v78-tool-ids.json +2745 -0
  42. package/skills/shortcuts-playground/data/toolkit-v78-trigger-parameter-keys.json +1051 -0
  43. package/skills/shortcuts-playground/golden-shortcuts/index.jsonl +19 -0
  44. package/skills/shortcuts-playground/golden-shortcuts/xml/1be4dde95b794253bf82438e201b33e7.xml +174 -0
  45. package/skills/shortcuts-playground/golden-shortcuts/xml/2e0fb675e45948aaacee7e534f910492.xml +1016 -0
  46. package/skills/shortcuts-playground/golden-shortcuts/xml/332c12a0060043b388b22b806be7ab58.xml +1924 -0
  47. package/skills/shortcuts-playground/golden-shortcuts/xml/3dd4ee24e43f464f92adaa70a0311eaa.xml +1177 -0
  48. package/skills/shortcuts-playground/golden-shortcuts/xml/4d102301c6e646faa7a8a221f4f4ec98.xml +321 -0
  49. package/skills/shortcuts-playground/golden-shortcuts/xml/51cc4e26d1044893a0c3f2f3630cf2d2.xml +1933 -0
  50. package/skills/shortcuts-playground/golden-shortcuts/xml/623e7f1ca5f948e2bd53811fec63e544.xml +136 -0
  51. package/skills/shortcuts-playground/golden-shortcuts/xml/6a18b76843ac45c384ac3400f3740997.xml +1791 -0
  52. package/skills/shortcuts-playground/golden-shortcuts/xml/71f0cacb0f604b399b76c5dcb7286e7c.xml +2228 -0
  53. package/skills/shortcuts-playground/golden-shortcuts/xml/807525ed9f974829bc8494defac923a8.xml +259 -0
  54. package/skills/shortcuts-playground/golden-shortcuts/xml/8ab0d39826ab4249be58672763caa3ba.xml +420 -0
  55. package/skills/shortcuts-playground/golden-shortcuts/xml/91c45fd3fd3b427897d9ba485efb1227.xml +800 -0
  56. package/skills/shortcuts-playground/golden-shortcuts/xml/97be626bb25c41709d175646a7f6d8f2.xml +424 -0
  57. package/skills/shortcuts-playground/golden-shortcuts/xml/ae59e10d409348f9bd33894f03f9beb4.xml +568 -0
  58. package/skills/shortcuts-playground/golden-shortcuts/xml/afa83b6be811483b9c32189c41eb9312.xml +391 -0
  59. package/skills/shortcuts-playground/golden-shortcuts/xml/cfdb083b857e4ac189629fa386d27cdc.xml +193 -0
  60. package/skills/shortcuts-playground/golden-shortcuts/xml/e01cebe192d64b2fbca80204d03d92ab.xml +111 -0
  61. package/skills/shortcuts-playground/golden-shortcuts/xml/ef669bcf8bad489d9ef4b88bfaf5772f.xml +780 -0
  62. package/skills/shortcuts-playground/golden-shortcuts/xml/f44f5caf5e3e48d4817e73af450c4404.xml +570 -0
  63. package/skills/shortcuts-playground/scripts/generate_healthkit_reference.py +394 -0
  64. package/skills/shortcuts-playground/scripts/lookup_action_grounding.py +1164 -0
  65. package/skills/shortcuts-playground/scripts/select_shortcut_icon_color.py +597 -0
  66. package/skills/shortcuts-playground/scripts/test_random_mixed_shortcuts.py +1067 -0
  67. package/skills/shortcuts-playground/scripts/test_wiring_regressions.py +2247 -0
  68. package/skills/shortcuts-playground/scripts/validate_shortcut.py +4526 -0
@@ -0,0 +1,800 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>WFQuickActionSurfaces</key>
6
+ <array/>
7
+ <key>WFWorkflowActions</key>
8
+ <array>
9
+ <dict>
10
+ <key>WFWorkflowActionIdentifier</key>
11
+ <string>is.workflow.actions.comment</string>
12
+ <key>WFWorkflowActionParameters</key>
13
+ <dict>
14
+ <key>WFCommentActionText</key>
15
+ <string>Clean up URLs by removing tracking parameters from them. The shortcut supports a built-in list of widely known tracking parameters (courtesy of Robb Knight), and can be easily expanded to remove more tracking parameters from URLs.</string>
16
+ </dict>
17
+ </dict>
18
+ <dict>
19
+ <key>WFWorkflowActionIdentifier</key>
20
+ <string>is.workflow.actions.comment</string>
21
+ <key>WFWorkflowActionParameters</key>
22
+ <dict>
23
+ <key>WFCommentActionText</key>
24
+ <string>Match tracking parameters</string>
25
+ </dict>
26
+ </dict>
27
+ <dict>
28
+ <key>WFWorkflowActionIdentifier</key>
29
+ <string>is.workflow.actions.gettext</string>
30
+ <key>WFWorkflowActionParameters</key>
31
+ <dict>
32
+ <key>CustomOutputName</key>
33
+ <string>Pattern</string>
34
+ <key>UUID</key>
35
+ <string>7E88482E-5580-4CD3-B5AD-604E802A020D</string>
36
+ <key>WFTextActionText</key>
37
+ <string>_bta_c|_bta_tid|_ga|_hsenc|_hsmi|_ke|_openstat|dm_i|ef_id|epik|fbclid|gclid|gclsrc|gdffi|gdfms|gdftrk|hsa_|igshid|matomo_|mc_|mkwid|msclkid|mtm_|ns_|oly_anon_id|oly_enc_id|otc|pcrid|piwik_|pk_|rb_clickid|redirect_log_mongo_id|redirect_mongo_id|ref|s_kwcid|sb_referer_host|soc_src|soc_trk|spm|sr_|srcid|stm_|trk_|utm_|vero_|resize|tpcc</string>
38
+ </dict>
39
+ </dict>
40
+ <dict>
41
+ <key>WFWorkflowActionIdentifier</key>
42
+ <string>is.workflow.actions.setvariable</string>
43
+ <key>WFWorkflowActionParameters</key>
44
+ <dict>
45
+ <key>WFInput</key>
46
+ <dict>
47
+ <key>Value</key>
48
+ <dict>
49
+ <key>OutputName</key>
50
+ <string>Pattern</string>
51
+ <key>OutputUUID</key>
52
+ <string>7E88482E-5580-4CD3-B5AD-604E802A020D</string>
53
+ <key>Type</key>
54
+ <string>ActionOutput</string>
55
+ </dict>
56
+ <key>WFSerializationType</key>
57
+ <string>WFTextTokenAttachment</string>
58
+ </dict>
59
+ <key>WFVariableName</key>
60
+ <string>Pattern</string>
61
+ </dict>
62
+ </dict>
63
+ <dict>
64
+ <key>WFWorkflowActionIdentifier</key>
65
+ <string>is.workflow.actions.url</string>
66
+ <key>WFWorkflowActionParameters</key>
67
+ <dict>
68
+ <key>Show-WFURLActionURL</key>
69
+ <true/>
70
+ <key>UUID</key>
71
+ <string>FD95F8CD-8573-467B-9DE6-30CC3E621518</string>
72
+ <key>WFURLActionURL</key>
73
+ <dict>
74
+ <key>Value</key>
75
+ <dict>
76
+ <key>Type</key>
77
+ <string>ExtensionInput</string>
78
+ </dict>
79
+ <key>WFSerializationType</key>
80
+ <string>WFTextTokenAttachment</string>
81
+ </dict>
82
+ </dict>
83
+ </dict>
84
+ <dict>
85
+ <key>WFWorkflowActionIdentifier</key>
86
+ <string>is.workflow.actions.setvariable</string>
87
+ <key>WFWorkflowActionParameters</key>
88
+ <dict>
89
+ <key>WFInput</key>
90
+ <dict>
91
+ <key>Value</key>
92
+ <dict>
93
+ <key>OutputName</key>
94
+ <string>URL</string>
95
+ <key>OutputUUID</key>
96
+ <string>FD95F8CD-8573-467B-9DE6-30CC3E621518</string>
97
+ <key>Type</key>
98
+ <string>ActionOutput</string>
99
+ </dict>
100
+ <key>WFSerializationType</key>
101
+ <string>WFTextTokenAttachment</string>
102
+ </dict>
103
+ <key>WFVariableName</key>
104
+ <string>Input URL</string>
105
+ </dict>
106
+ </dict>
107
+ <dict>
108
+ <key>WFWorkflowActionIdentifier</key>
109
+ <string>is.workflow.actions.conditional</string>
110
+ <key>WFWorkflowActionParameters</key>
111
+ <dict>
112
+ <key>GroupingIdentifier</key>
113
+ <string>15567363-E523-40F4-AADE-4C0C04187E93</string>
114
+ <key>WFCondition</key>
115
+ <integer>101</integer>
116
+ <key>WFControlFlowMode</key>
117
+ <integer>0</integer>
118
+ <key>WFInput</key>
119
+ <dict>
120
+ <key>Type</key>
121
+ <string>Variable</string>
122
+ <key>Variable</key>
123
+ <dict>
124
+ <key>Value</key>
125
+ <dict>
126
+ <key>Type</key>
127
+ <string>Variable</string>
128
+ <key>VariableName</key>
129
+ <string>Input URL</string>
130
+ </dict>
131
+ <key>WFSerializationType</key>
132
+ <string>WFTextTokenAttachment</string>
133
+ </dict>
134
+ </dict>
135
+ </dict>
136
+ </dict>
137
+ <dict>
138
+ <key>WFWorkflowActionIdentifier</key>
139
+ <string>is.workflow.actions.comment</string>
140
+ <key>WFWorkflowActionParameters</key>
141
+ <dict>
142
+ <key>WFCommentActionText</key>
143
+ <string>There is no URL from the share sheet</string>
144
+ </dict>
145
+ </dict>
146
+ <dict>
147
+ <key>WFWorkflowActionIdentifier</key>
148
+ <string>is.workflow.actions.comment</string>
149
+ <key>WFWorkflowActionParameters</key>
150
+ <dict>
151
+ <key>WFCommentActionText</key>
152
+ <string>First, check if it is a Mac</string>
153
+ </dict>
154
+ </dict>
155
+ <dict>
156
+ <key>WFWorkflowActionIdentifier</key>
157
+ <string>is.workflow.actions.conditional</string>
158
+ <key>WFWorkflowActionParameters</key>
159
+ <dict>
160
+ <key>GroupingIdentifier</key>
161
+ <string>A8138428-E7DC-4F20-B02D-E72F3D4E12E2</string>
162
+ <key>WFCondition</key>
163
+ <integer>4</integer>
164
+ <key>WFConditionalActionString</key>
165
+ <string>Mac</string>
166
+ <key>WFControlFlowMode</key>
167
+ <integer>0</integer>
168
+ <key>WFInput</key>
169
+ <dict>
170
+ <key>Type</key>
171
+ <string>Variable</string>
172
+ <key>Variable</key>
173
+ <dict>
174
+ <key>Value</key>
175
+ <dict>
176
+ <key>Aggrandizements</key>
177
+ <array>
178
+ <dict>
179
+ <key>PropertyName</key>
180
+ <string>Device Model</string>
181
+ <key>Type</key>
182
+ <string>WFPropertyVariableAggrandizement</string>
183
+ </dict>
184
+ </array>
185
+ <key>Type</key>
186
+ <string>DeviceDetails</string>
187
+ </dict>
188
+ <key>WFSerializationType</key>
189
+ <string>WFTextTokenAttachment</string>
190
+ </dict>
191
+ </dict>
192
+ </dict>
193
+ </dict>
194
+ <dict>
195
+ <key>WFWorkflowActionIdentifier</key>
196
+ <string>is.workflow.actions.runapplescript</string>
197
+ <key>WFWorkflowActionParameters</key>
198
+ <dict>
199
+ <key>Input</key>
200
+ <dict>
201
+ <key>Value</key>
202
+ <dict>
203
+ <key>Type</key>
204
+ <string>Variable</string>
205
+ <key>VariableName</key>
206
+ <string>Input URL</string>
207
+ </dict>
208
+ <key>WFSerializationType</key>
209
+ <string>WFTextTokenAttachment</string>
210
+ </dict>
211
+ <key>Script</key>
212
+ <string>on run {input, parameters}
213
+ <key>UUID</key>
214
+ <string>D6E5DE99-7156-430F-9632-99874109F645</string>
215
+ </dict>
216
+ </dict>
217
+ <dict>
218
+ <key>WFWorkflowActionIdentifier</key>
219
+ <string>is.workflow.actions.comment</string>
220
+ <key>WFWorkflowActionParameters</key>
221
+ <dict>
222
+ <key>WFCommentActionText</key>
223
+ <string>Check if Safari is running</string>
224
+ </dict>
225
+ </dict>
226
+ <dict>
227
+ <key>WFWorkflowActionIdentifier</key>
228
+ <string>is.workflow.actions.gettext</string>
229
+ <key>WFWorkflowActionParameters</key>
230
+ <dict>
231
+ <key>UUID</key>
232
+ <string>B9F20570-41AB-4D4F-81B5-6E20BA5367E9</string>
233
+ <key>WFTextActionText</key>
234
+ <dict>
235
+ <key>Value</key>
236
+ <dict>
237
+ <key>attachmentsByRange</key>
238
+ <dict>
239
+ <key>{0, 1}</key>
240
+ <dict>
241
+ <key>OutputName</key>
242
+ <string>AppleScript Result</string>
243
+ <key>OutputUUID</key>
244
+ <string>D6E5DE99-7156-430F-9632-99874109F645</string>
245
+ <key>Type</key>
246
+ <string>ActionOutput</string>
247
+ </dict>
248
+ </dict>
249
+ <key>string</key>
250
+ <string></string>
251
+ </dict>
252
+ <key>WFSerializationType</key>
253
+ <string>WFTextTokenString</string>
254
+ </dict>
255
+ </dict>
256
+ </dict>
257
+ <dict>
258
+ <key>WFWorkflowActionIdentifier</key>
259
+ <string>is.workflow.actions.conditional</string>
260
+ <key>WFWorkflowActionParameters</key>
261
+ <dict>
262
+ <key>GroupingIdentifier</key>
263
+ <string>98DA9C82-5D83-43FF-9E66-5A406DCDB532</string>
264
+ <key>WFCondition</key>
265
+ <integer>4</integer>
266
+ <key>WFConditionalActionString</key>
267
+ <string>Yes</string>
268
+ <key>WFControlFlowMode</key>
269
+ <integer>0</integer>
270
+ <key>WFInput</key>
271
+ <dict>
272
+ <key>Type</key>
273
+ <string>Variable</string>
274
+ <key>Variable</key>
275
+ <dict>
276
+ <key>Value</key>
277
+ <dict>
278
+ <key>OutputName</key>
279
+ <string>Text</string>
280
+ <key>OutputUUID</key>
281
+ <string>B9F20570-41AB-4D4F-81B5-6E20BA5367E9</string>
282
+ <key>Type</key>
283
+ <string>ActionOutput</string>
284
+ </dict>
285
+ <key>WFSerializationType</key>
286
+ <string>WFTextTokenAttachment</string>
287
+ </dict>
288
+ </dict>
289
+ </dict>
290
+ </dict>
291
+ <dict>
292
+ <key>WFWorkflowActionIdentifier</key>
293
+ <string>is.workflow.actions.comment</string>
294
+ <key>WFWorkflowActionParameters</key>
295
+ <dict>
296
+ <key>WFCommentActionText</key>
297
+ <string>Get the URL from the current Safari tab</string>
298
+ </dict>
299
+ </dict>
300
+ <dict>
301
+ <key>WFWorkflowActionIdentifier</key>
302
+ <string>is.workflow.actions.safari.geturl</string>
303
+ <key>WFWorkflowActionParameters</key>
304
+ <dict>
305
+ <key>UUID</key>
306
+ <string>DEA4FA8E-6577-42C4-B14B-7B608B1B30BC</string>
307
+ </dict>
308
+ </dict>
309
+ <dict>
310
+ <key>WFWorkflowActionIdentifier</key>
311
+ <string>is.workflow.actions.setvariable</string>
312
+ <key>WFWorkflowActionParameters</key>
313
+ <dict>
314
+ <key>WFInput</key>
315
+ <dict>
316
+ <key>Value</key>
317
+ <dict>
318
+ <key>OutputName</key>
319
+ <string>URL</string>
320
+ <key>OutputUUID</key>
321
+ <string>DEA4FA8E-6577-42C4-B14B-7B608B1B30BC</string>
322
+ <key>Type</key>
323
+ <string>ActionOutput</string>
324
+ </dict>
325
+ <key>WFSerializationType</key>
326
+ <string>WFTextTokenAttachment</string>
327
+ </dict>
328
+ <key>WFVariableName</key>
329
+ <string>Input URL</string>
330
+ </dict>
331
+ </dict>
332
+ <dict>
333
+ <key>WFWorkflowActionIdentifier</key>
334
+ <string>is.workflow.actions.conditional</string>
335
+ <key>WFWorkflowActionParameters</key>
336
+ <dict>
337
+ <key>GroupingIdentifier</key>
338
+ <string>98DA9C82-5D83-43FF-9E66-5A406DCDB532</string>
339
+ <key>WFControlFlowMode</key>
340
+ <integer>1</integer>
341
+ </dict>
342
+ </dict>
343
+ <dict>
344
+ <key>WFWorkflowActionIdentifier</key>
345
+ <string>is.workflow.actions.comment</string>
346
+ <key>WFWorkflowActionParameters</key>
347
+ <dict>
348
+ <key>WFCommentActionText</key>
349
+ <string>Safari is not running</string>
350
+ </dict>
351
+ </dict>
352
+ <dict>
353
+ <key>WFWorkflowActionIdentifier</key>
354
+ <string>is.workflow.actions.conditional</string>
355
+ <key>WFWorkflowActionParameters</key>
356
+ <dict>
357
+ <key>GroupingIdentifier</key>
358
+ <string>98DA9C82-5D83-43FF-9E66-5A406DCDB532</string>
359
+ <key>WFControlFlowMode</key>
360
+ <integer>2</integer>
361
+ </dict>
362
+ </dict>
363
+ <dict>
364
+ <key>WFWorkflowActionIdentifier</key>
365
+ <string>is.workflow.actions.conditional</string>
366
+ <key>WFWorkflowActionParameters</key>
367
+ <dict>
368
+ <key>GroupingIdentifier</key>
369
+ <string>A8138428-E7DC-4F20-B02D-E72F3D4E12E2</string>
370
+ <key>WFControlFlowMode</key>
371
+ <integer>1</integer>
372
+ </dict>
373
+ </dict>
374
+ <dict>
375
+ <key>WFWorkflowActionIdentifier</key>
376
+ <string>is.workflow.actions.comment</string>
377
+ <key>WFWorkflowActionParameters</key>
378
+ <dict>
379
+ <key>WFCommentActionText</key>
380
+ <string>It is not a Mac; get the URL from the clipboard</string>
381
+ </dict>
382
+ </dict>
383
+ <dict>
384
+ <key>WFWorkflowActionIdentifier</key>
385
+ <string>is.workflow.actions.detect.link</string>
386
+ <key>WFWorkflowActionParameters</key>
387
+ <dict>
388
+ <key>UUID</key>
389
+ <string>C9E7B9C8-D087-4A25-8C2D-58EDD580C0F3</string>
390
+ <key>WFInput</key>
391
+ <dict>
392
+ <key>Value</key>
393
+ <dict>
394
+ <key>attachmentsByRange</key>
395
+ <dict>
396
+ <key>{0, 1}</key>
397
+ <dict>
398
+ <key>Type</key>
399
+ <string>Clipboard</string>
400
+ </dict>
401
+ </dict>
402
+ <key>string</key>
403
+ <string></string>
404
+ </dict>
405
+ <key>WFSerializationType</key>
406
+ <string>WFTextTokenString</string>
407
+ </dict>
408
+ </dict>
409
+ </dict>
410
+ <dict>
411
+ <key>WFWorkflowActionIdentifier</key>
412
+ <string>is.workflow.actions.setvariable</string>
413
+ <key>WFWorkflowActionParameters</key>
414
+ <dict>
415
+ <key>WFInput</key>
416
+ <dict>
417
+ <key>Value</key>
418
+ <dict>
419
+ <key>OutputName</key>
420
+ <string>URLs</string>
421
+ <key>OutputUUID</key>
422
+ <string>C9E7B9C8-D087-4A25-8C2D-58EDD580C0F3</string>
423
+ <key>Type</key>
424
+ <string>ActionOutput</string>
425
+ </dict>
426
+ <key>WFSerializationType</key>
427
+ <string>WFTextTokenAttachment</string>
428
+ </dict>
429
+ <key>WFVariableName</key>
430
+ <string>Input URL</string>
431
+ </dict>
432
+ </dict>
433
+ <dict>
434
+ <key>WFWorkflowActionIdentifier</key>
435
+ <string>is.workflow.actions.conditional</string>
436
+ <key>WFWorkflowActionParameters</key>
437
+ <dict>
438
+ <key>GroupingIdentifier</key>
439
+ <string>A8138428-E7DC-4F20-B02D-E72F3D4E12E2</string>
440
+ <key>WFControlFlowMode</key>
441
+ <integer>2</integer>
442
+ </dict>
443
+ </dict>
444
+ <dict>
445
+ <key>WFWorkflowActionIdentifier</key>
446
+ <string>is.workflow.actions.conditional</string>
447
+ <key>WFWorkflowActionParameters</key>
448
+ <dict>
449
+ <key>GroupingIdentifier</key>
450
+ <string>15567363-E523-40F4-AADE-4C0C04187E93</string>
451
+ <key>UUID</key>
452
+ <string>6047DB5D-A5C7-40C2-8F95-D69B484F3138</string>
453
+ <key>WFControlFlowMode</key>
454
+ <integer>2</integer>
455
+ </dict>
456
+ </dict>
457
+ <dict>
458
+ <key>WFWorkflowActionIdentifier</key>
459
+ <string>is.workflow.actions.comment</string>
460
+ <key>WFWorkflowActionParameters</key>
461
+ <dict>
462
+ <key>WFCommentActionText</key>
463
+ <string>Try one final attempt to see if the Input URL is empty or not; if still empty, just prompt the user to enter one manually.</string>
464
+ </dict>
465
+ </dict>
466
+ <dict>
467
+ <key>WFWorkflowActionIdentifier</key>
468
+ <string>is.workflow.actions.conditional</string>
469
+ <key>WFWorkflowActionParameters</key>
470
+ <dict>
471
+ <key>GroupingIdentifier</key>
472
+ <string>140A19B5-31BF-4BCC-89F2-08453555CE7B</string>
473
+ <key>WFCondition</key>
474
+ <integer>101</integer>
475
+ <key>WFControlFlowMode</key>
476
+ <integer>0</integer>
477
+ <key>WFInput</key>
478
+ <dict>
479
+ <key>Type</key>
480
+ <string>Variable</string>
481
+ <key>Variable</key>
482
+ <dict>
483
+ <key>Value</key>
484
+ <dict>
485
+ <key>Type</key>
486
+ <string>Variable</string>
487
+ <key>VariableName</key>
488
+ <string>Input URL</string>
489
+ </dict>
490
+ <key>WFSerializationType</key>
491
+ <string>WFTextTokenAttachment</string>
492
+ </dict>
493
+ </dict>
494
+ </dict>
495
+ </dict>
496
+ <dict>
497
+ <key>WFWorkflowActionIdentifier</key>
498
+ <string>is.workflow.actions.ask</string>
499
+ <key>WFWorkflowActionParameters</key>
500
+ <dict>
501
+ <key>UUID</key>
502
+ <string>B0C1A064-EB1D-4B32-AD50-863D9C6772A5</string>
503
+ <key>WFAskActionPrompt</key>
504
+ <string>What’s the URL to clean up?</string>
505
+ <key>WFInputType</key>
506
+ <string>URL</string>
507
+ </dict>
508
+ </dict>
509
+ <dict>
510
+ <key>WFWorkflowActionIdentifier</key>
511
+ <string>is.workflow.actions.setvariable</string>
512
+ <key>WFWorkflowActionParameters</key>
513
+ <dict>
514
+ <key>WFInput</key>
515
+ <dict>
516
+ <key>Value</key>
517
+ <dict>
518
+ <key>OutputName</key>
519
+ <string>Provided Input</string>
520
+ <key>OutputUUID</key>
521
+ <string>B0C1A064-EB1D-4B32-AD50-863D9C6772A5</string>
522
+ <key>Type</key>
523
+ <string>ActionOutput</string>
524
+ </dict>
525
+ <key>WFSerializationType</key>
526
+ <string>WFTextTokenAttachment</string>
527
+ </dict>
528
+ <key>WFVariableName</key>
529
+ <string>Input URL</string>
530
+ </dict>
531
+ </dict>
532
+ <dict>
533
+ <key>WFWorkflowActionIdentifier</key>
534
+ <string>is.workflow.actions.conditional</string>
535
+ <key>WFWorkflowActionParameters</key>
536
+ <dict>
537
+ <key>GroupingIdentifier</key>
538
+ <string>140A19B5-31BF-4BCC-89F2-08453555CE7B</string>
539
+ <key>UUID</key>
540
+ <string>2C7A2F8D-3729-43D2-89FD-594971AF8D15</string>
541
+ <key>WFControlFlowMode</key>
542
+ <integer>2</integer>
543
+ </dict>
544
+ </dict>
545
+ <dict>
546
+ <key>WFWorkflowActionIdentifier</key>
547
+ <string>is.workflow.actions.text.replace</string>
548
+ <key>WFWorkflowActionParameters</key>
549
+ <dict>
550
+ <key>UUID</key>
551
+ <string>69F8C2A3-3CBA-4D41-B196-24E3F17B64AD</string>
552
+ <key>WFInput</key>
553
+ <dict>
554
+ <key>Value</key>
555
+ <dict>
556
+ <key>attachmentsByRange</key>
557
+ <dict>
558
+ <key>{0, 1}</key>
559
+ <dict>
560
+ <key>Type</key>
561
+ <string>Variable</string>
562
+ <key>VariableName</key>
563
+ <string>Input URL</string>
564
+ </dict>
565
+ </dict>
566
+ <key>string</key>
567
+ <string></string>
568
+ </dict>
569
+ <key>WFSerializationType</key>
570
+ <string>WFTextTokenString</string>
571
+ </dict>
572
+ <key>WFReplaceTextCaseSensitive</key>
573
+ <true/>
574
+ <key>WFReplaceTextFind</key>
575
+ <dict>
576
+ <key>Value</key>
577
+ <dict>
578
+ <key>attachmentsByRange</key>
579
+ <dict>
580
+ <key>{7, 1}</key>
581
+ <dict>
582
+ <key>OutputName</key>
583
+ <string>Pattern</string>
584
+ <key>OutputUUID</key>
585
+ <string>7E88482E-5580-4CD3-B5AD-604E802A020D</string>
586
+ <key>Type</key>
587
+ <string>ActionOutput</string>
588
+ </dict>
589
+ </dict>
590
+ <key>string</key>
591
+ <string>(\?|&amp;)()\=(.+)</string>
592
+ </dict>
593
+ <key>WFSerializationType</key>
594
+ <string>WFTextTokenString</string>
595
+ </dict>
596
+ <key>WFReplaceTextRegularExpression</key>
597
+ <true/>
598
+ </dict>
599
+ </dict>
600
+ <dict>
601
+ <key>WFWorkflowActionIdentifier</key>
602
+ <string>is.workflow.actions.detect.link</string>
603
+ <key>WFWorkflowActionParameters</key>
604
+ <dict>
605
+ <key>UUID</key>
606
+ <string>BB71D8C6-952C-4A15-ACEC-3FBDA9DDC305</string>
607
+ <key>WFInput</key>
608
+ <dict>
609
+ <key>Value</key>
610
+ <dict>
611
+ <key>attachmentsByRange</key>
612
+ <dict>
613
+ <key>{0, 1}</key>
614
+ <dict>
615
+ <key>OutputName</key>
616
+ <string>Updated Text</string>
617
+ <key>OutputUUID</key>
618
+ <string>69F8C2A3-3CBA-4D41-B196-24E3F17B64AD</string>
619
+ <key>Type</key>
620
+ <string>ActionOutput</string>
621
+ </dict>
622
+ </dict>
623
+ <key>string</key>
624
+ <string></string>
625
+ </dict>
626
+ <key>WFSerializationType</key>
627
+ <string>WFTextTokenString</string>
628
+ </dict>
629
+ </dict>
630
+ </dict>
631
+ <dict>
632
+ <key>WFWorkflowActionIdentifier</key>
633
+ <string>is.workflow.actions.setclipboard</string>
634
+ <key>WFWorkflowActionParameters</key>
635
+ <dict>
636
+ <key>UUID</key>
637
+ <string>42B07C58-3039-4C98-900B-2586C7CE3E41</string>
638
+ <key>WFInput</key>
639
+ <dict>
640
+ <key>Value</key>
641
+ <dict>
642
+ <key>OutputName</key>
643
+ <string>URLs</string>
644
+ <key>OutputUUID</key>
645
+ <string>BB71D8C6-952C-4A15-ACEC-3FBDA9DDC305</string>
646
+ <key>Type</key>
647
+ <string>ActionOutput</string>
648
+ </dict>
649
+ <key>WFSerializationType</key>
650
+ <string>WFTextTokenAttachment</string>
651
+ </dict>
652
+ </dict>
653
+ </dict>
654
+ <dict>
655
+ <key>WFWorkflowActionIdentifier</key>
656
+ <string>is.workflow.actions.gettext</string>
657
+ <key>WFWorkflowActionParameters</key>
658
+ <dict>
659
+ <key>UUID</key>
660
+ <string>91C89427-FE95-4C34-AC7C-4E38549EE440</string>
661
+ <key>WFTextActionText</key>
662
+ <dict>
663
+ <key>Value</key>
664
+ <dict>
665
+ <key>attachmentsByRange</key>
666
+ <dict>
667
+ <key>{23, 1}</key>
668
+ <dict>
669
+ <key>OutputName</key>
670
+ <string>URLs</string>
671
+ <key>OutputUUID</key>
672
+ <string>BB71D8C6-952C-4A15-ACEC-3FBDA9DDC305</string>
673
+ <key>Type</key>
674
+ <string>ActionOutput</string>
675
+ </dict>
676
+ </dict>
677
+ <key>string</key>
678
+ <string>Cleaned up and copied: </string>
679
+ </dict>
680
+ <key>WFSerializationType</key>
681
+ <string>WFTextTokenString</string>
682
+ </dict>
683
+ </dict>
684
+ </dict>
685
+ <dict>
686
+ <key>WFWorkflowActionIdentifier</key>
687
+ <string>is.workflow.actions.notification</string>
688
+ <key>WFWorkflowActionParameters</key>
689
+ <dict>
690
+ <key>UUID</key>
691
+ <string>73F55419-1C1C-45B0-AB51-C783FB0F0B2D</string>
692
+ <key>WFInput</key>
693
+ <dict>
694
+ <key>Value</key>
695
+ <dict>
696
+ <key>OutputName</key>
697
+ <string>Text</string>
698
+ <key>OutputUUID</key>
699
+ <string>91C89427-FE95-4C34-AC7C-4E38549EE440</string>
700
+ <key>Type</key>
701
+ <string>ActionOutput</string>
702
+ </dict>
703
+ <key>WFSerializationType</key>
704
+ <string>WFTextTokenAttachment</string>
705
+ </dict>
706
+ <key>WFNotificationActionBody</key>
707
+ <dict>
708
+ <key>Value</key>
709
+ <dict>
710
+ <key>attachmentsByRange</key>
711
+ <dict>
712
+ <key>{27, 1}</key>
713
+ <dict>
714
+ <key>OutputName</key>
715
+ <string>URLs</string>
716
+ <key>OutputUUID</key>
717
+ <string>BB71D8C6-952C-4A15-ACEC-3FBDA9DDC305</string>
718
+ <key>Type</key>
719
+ <string>ActionOutput</string>
720
+ </dict>
721
+ </dict>
722
+ <key>string</key>
723
+ <string>URL cleaned up and copied: </string>
724
+ </dict>
725
+ <key>WFSerializationType</key>
726
+ <string>WFTextTokenString</string>
727
+ </dict>
728
+ </dict>
729
+ </dict>
730
+ <dict>
731
+ <key>WFWorkflowActionIdentifier</key>
732
+ <string>is.workflow.actions.comment</string>
733
+ <key>WFWorkflowActionParameters</key>
734
+ <dict>
735
+ <key>WFCommentActionText</key>
736
+ <string>Set the output of the shortcut</string>
737
+ </dict>
738
+ </dict>
739
+ <dict>
740
+ <key>WFWorkflowActionIdentifier</key>
741
+ <string>is.workflow.actions.detect.link</string>
742
+ <key>WFWorkflowActionParameters</key>
743
+ <dict>
744
+ <key>WFInput</key>
745
+ <dict>
746
+ <key>Value</key>
747
+ <dict>
748
+ <key>attachmentsByRange</key>
749
+ <dict>
750
+ <key>{0, 1}</key>
751
+ <dict>
752
+ <key>OutputName</key>
753
+ <string>URLs</string>
754
+ <key>OutputUUID</key>
755
+ <string>BB71D8C6-952C-4A15-ACEC-3FBDA9DDC305</string>
756
+ <key>Type</key>
757
+ <string>ActionOutput</string>
758
+ </dict>
759
+ </dict>
760
+ <key>string</key>
761
+ <string></string>
762
+ </dict>
763
+ <key>WFSerializationType</key>
764
+ <string>WFTextTokenString</string>
765
+ </dict>
766
+ </dict>
767
+ </dict>
768
+ </array>
769
+ <key>WFWorkflowClientVersion</key>
770
+ <string>1145.8</string>
771
+ <key>WFWorkflowHasOutputFallback</key>
772
+ <false/>
773
+ <key>WFWorkflowHasShortcutInputVariables</key>
774
+ <true/>
775
+ <key>WFWorkflowIcon</key>
776
+ <dict>
777
+ <key>WFWorkflowIconGlyphNumber</key>
778
+ <integer>59764</integer>
779
+ <key>WFWorkflowIconStartColor</key>
780
+ <integer>4271458815</integer>
781
+ </dict>
782
+ <key>WFWorkflowImportQuestions</key>
783
+ <array/>
784
+ <key>WFWorkflowInputContentItemClasses</key>
785
+ <array>
786
+ <string>WFSafariWebPageContentItem</string>
787
+ <string>WFURLContentItem</string>
788
+ </array>
789
+ <key>WFWorkflowMinimumClientVersion</key>
790
+ <integer>900</integer>
791
+ <key>WFWorkflowMinimumClientVersionString</key>
792
+ <string>900</string>
793
+ <key>WFWorkflowOutputContentItemClasses</key>
794
+ <array/>
795
+ <key>WFWorkflowTypes</key>
796
+ <array>
797
+ <string>MenuBar</string>
798
+ </array>
799
+ </dict>
800
+ </plist>