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,1016 @@
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>List of months and how many days they have.</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>Count how many instances of a specific day there are in any given month of the year.</string>
25
+ </dict>
26
+ </dict>
27
+ <dict>
28
+ <key>WFWorkflowActionIdentifier</key>
29
+ <string>is.workflow.actions.dictionary</string>
30
+ <key>WFWorkflowActionParameters</key>
31
+ <dict>
32
+ <key>UUID</key>
33
+ <string>D37C0827-53CE-41B8-A1EF-40B889EAD56A</string>
34
+ <key>WFItems</key>
35
+ <dict>
36
+ <key>Value</key>
37
+ <dict>
38
+ <key>WFDictionaryFieldValueItems</key>
39
+ <array>
40
+ <dict>
41
+ <key>WFItemType</key>
42
+ <integer>3</integer>
43
+ <key>WFKey</key>
44
+ <dict>
45
+ <key>Value</key>
46
+ <dict>
47
+ <key>string</key>
48
+ <string>January</string>
49
+ </dict>
50
+ <key>WFSerializationType</key>
51
+ <string>WFTextTokenString</string>
52
+ </dict>
53
+ <key>WFValue</key>
54
+ <dict>
55
+ <key>Value</key>
56
+ <dict>
57
+ <key>string</key>
58
+ <string>31</string>
59
+ </dict>
60
+ <key>WFSerializationType</key>
61
+ <string>WFTextTokenString</string>
62
+ </dict>
63
+ </dict>
64
+ <dict>
65
+ <key>WFItemType</key>
66
+ <integer>3</integer>
67
+ <key>WFKey</key>
68
+ <dict>
69
+ <key>Value</key>
70
+ <dict>
71
+ <key>string</key>
72
+ <string>February</string>
73
+ </dict>
74
+ <key>WFSerializationType</key>
75
+ <string>WFTextTokenString</string>
76
+ </dict>
77
+ <key>WFValue</key>
78
+ <dict>
79
+ <key>Value</key>
80
+ <dict>
81
+ <key>string</key>
82
+ <string>28</string>
83
+ </dict>
84
+ <key>WFSerializationType</key>
85
+ <string>WFTextTokenString</string>
86
+ </dict>
87
+ </dict>
88
+ <dict>
89
+ <key>WFItemType</key>
90
+ <integer>3</integer>
91
+ <key>WFKey</key>
92
+ <dict>
93
+ <key>Value</key>
94
+ <dict>
95
+ <key>string</key>
96
+ <string>March</string>
97
+ </dict>
98
+ <key>WFSerializationType</key>
99
+ <string>WFTextTokenString</string>
100
+ </dict>
101
+ <key>WFValue</key>
102
+ <dict>
103
+ <key>Value</key>
104
+ <dict>
105
+ <key>string</key>
106
+ <string>31</string>
107
+ </dict>
108
+ <key>WFSerializationType</key>
109
+ <string>WFTextTokenString</string>
110
+ </dict>
111
+ </dict>
112
+ <dict>
113
+ <key>WFItemType</key>
114
+ <integer>3</integer>
115
+ <key>WFKey</key>
116
+ <dict>
117
+ <key>Value</key>
118
+ <dict>
119
+ <key>string</key>
120
+ <string>April</string>
121
+ </dict>
122
+ <key>WFSerializationType</key>
123
+ <string>WFTextTokenString</string>
124
+ </dict>
125
+ <key>WFValue</key>
126
+ <dict>
127
+ <key>Value</key>
128
+ <dict>
129
+ <key>string</key>
130
+ <string>30</string>
131
+ </dict>
132
+ <key>WFSerializationType</key>
133
+ <string>WFTextTokenString</string>
134
+ </dict>
135
+ </dict>
136
+ <dict>
137
+ <key>WFItemType</key>
138
+ <integer>3</integer>
139
+ <key>WFKey</key>
140
+ <dict>
141
+ <key>Value</key>
142
+ <dict>
143
+ <key>string</key>
144
+ <string>May</string>
145
+ </dict>
146
+ <key>WFSerializationType</key>
147
+ <string>WFTextTokenString</string>
148
+ </dict>
149
+ <key>WFValue</key>
150
+ <dict>
151
+ <key>Value</key>
152
+ <dict>
153
+ <key>string</key>
154
+ <string>31</string>
155
+ </dict>
156
+ <key>WFSerializationType</key>
157
+ <string>WFTextTokenString</string>
158
+ </dict>
159
+ </dict>
160
+ <dict>
161
+ <key>WFItemType</key>
162
+ <integer>3</integer>
163
+ <key>WFKey</key>
164
+ <dict>
165
+ <key>Value</key>
166
+ <dict>
167
+ <key>string</key>
168
+ <string>June</string>
169
+ </dict>
170
+ <key>WFSerializationType</key>
171
+ <string>WFTextTokenString</string>
172
+ </dict>
173
+ <key>WFValue</key>
174
+ <dict>
175
+ <key>Value</key>
176
+ <dict>
177
+ <key>string</key>
178
+ <string>30</string>
179
+ </dict>
180
+ <key>WFSerializationType</key>
181
+ <string>WFTextTokenString</string>
182
+ </dict>
183
+ </dict>
184
+ <dict>
185
+ <key>WFItemType</key>
186
+ <integer>3</integer>
187
+ <key>WFKey</key>
188
+ <dict>
189
+ <key>Value</key>
190
+ <dict>
191
+ <key>string</key>
192
+ <string>July</string>
193
+ </dict>
194
+ <key>WFSerializationType</key>
195
+ <string>WFTextTokenString</string>
196
+ </dict>
197
+ <key>WFValue</key>
198
+ <dict>
199
+ <key>Value</key>
200
+ <dict>
201
+ <key>string</key>
202
+ <string>31</string>
203
+ </dict>
204
+ <key>WFSerializationType</key>
205
+ <string>WFTextTokenString</string>
206
+ </dict>
207
+ </dict>
208
+ <dict>
209
+ <key>WFItemType</key>
210
+ <integer>3</integer>
211
+ <key>WFKey</key>
212
+ <dict>
213
+ <key>Value</key>
214
+ <dict>
215
+ <key>string</key>
216
+ <string>August</string>
217
+ </dict>
218
+ <key>WFSerializationType</key>
219
+ <string>WFTextTokenString</string>
220
+ </dict>
221
+ <key>WFValue</key>
222
+ <dict>
223
+ <key>Value</key>
224
+ <dict>
225
+ <key>string</key>
226
+ <string>31</string>
227
+ </dict>
228
+ <key>WFSerializationType</key>
229
+ <string>WFTextTokenString</string>
230
+ </dict>
231
+ </dict>
232
+ <dict>
233
+ <key>WFItemType</key>
234
+ <integer>3</integer>
235
+ <key>WFKey</key>
236
+ <dict>
237
+ <key>Value</key>
238
+ <dict>
239
+ <key>string</key>
240
+ <string>September</string>
241
+ </dict>
242
+ <key>WFSerializationType</key>
243
+ <string>WFTextTokenString</string>
244
+ </dict>
245
+ <key>WFValue</key>
246
+ <dict>
247
+ <key>Value</key>
248
+ <dict>
249
+ <key>string</key>
250
+ <string>30</string>
251
+ </dict>
252
+ <key>WFSerializationType</key>
253
+ <string>WFTextTokenString</string>
254
+ </dict>
255
+ </dict>
256
+ <dict>
257
+ <key>WFItemType</key>
258
+ <integer>3</integer>
259
+ <key>WFKey</key>
260
+ <dict>
261
+ <key>Value</key>
262
+ <dict>
263
+ <key>string</key>
264
+ <string>October</string>
265
+ </dict>
266
+ <key>WFSerializationType</key>
267
+ <string>WFTextTokenString</string>
268
+ </dict>
269
+ <key>WFValue</key>
270
+ <dict>
271
+ <key>Value</key>
272
+ <dict>
273
+ <key>string</key>
274
+ <string>31</string>
275
+ </dict>
276
+ <key>WFSerializationType</key>
277
+ <string>WFTextTokenString</string>
278
+ </dict>
279
+ </dict>
280
+ <dict>
281
+ <key>WFItemType</key>
282
+ <integer>3</integer>
283
+ <key>WFKey</key>
284
+ <dict>
285
+ <key>Value</key>
286
+ <dict>
287
+ <key>string</key>
288
+ <string>November</string>
289
+ </dict>
290
+ <key>WFSerializationType</key>
291
+ <string>WFTextTokenString</string>
292
+ </dict>
293
+ <key>WFValue</key>
294
+ <dict>
295
+ <key>Value</key>
296
+ <dict>
297
+ <key>string</key>
298
+ <string>30</string>
299
+ </dict>
300
+ <key>WFSerializationType</key>
301
+ <string>WFTextTokenString</string>
302
+ </dict>
303
+ </dict>
304
+ <dict>
305
+ <key>WFItemType</key>
306
+ <integer>3</integer>
307
+ <key>WFKey</key>
308
+ <dict>
309
+ <key>Value</key>
310
+ <dict>
311
+ <key>string</key>
312
+ <string>December</string>
313
+ </dict>
314
+ <key>WFSerializationType</key>
315
+ <string>WFTextTokenString</string>
316
+ </dict>
317
+ <key>WFValue</key>
318
+ <dict>
319
+ <key>Value</key>
320
+ <dict>
321
+ <key>string</key>
322
+ <string>31</string>
323
+ </dict>
324
+ <key>WFSerializationType</key>
325
+ <string>WFTextTokenString</string>
326
+ </dict>
327
+ </dict>
328
+ </array>
329
+ </dict>
330
+ <key>WFSerializationType</key>
331
+ <string>WFDictionaryFieldValue</string>
332
+ </dict>
333
+ </dict>
334
+ </dict>
335
+ <dict>
336
+ <key>WFWorkflowActionIdentifier</key>
337
+ <string>is.workflow.actions.getvalueforkey</string>
338
+ <key>WFWorkflowActionParameters</key>
339
+ <dict>
340
+ <key>UUID</key>
341
+ <string>F127B0B1-9206-4AD2-90C7-BBF3F09CB7E0</string>
342
+ <key>WFGetDictionaryValueType</key>
343
+ <string>All Keys</string>
344
+ <key>WFInput</key>
345
+ <dict>
346
+ <key>Value</key>
347
+ <dict>
348
+ <key>OutputName</key>
349
+ <string>Dictionary</string>
350
+ <key>OutputUUID</key>
351
+ <string>D37C0827-53CE-41B8-A1EF-40B889EAD56A</string>
352
+ <key>Type</key>
353
+ <string>ActionOutput</string>
354
+ </dict>
355
+ <key>WFSerializationType</key>
356
+ <string>WFTextTokenAttachment</string>
357
+ </dict>
358
+ </dict>
359
+ </dict>
360
+ <dict>
361
+ <key>WFWorkflowActionIdentifier</key>
362
+ <string>is.workflow.actions.choosefromlist</string>
363
+ <key>WFWorkflowActionParameters</key>
364
+ <dict>
365
+ <key>UUID</key>
366
+ <string>7A629346-D0A7-4911-8C3B-08F30EA1320B</string>
367
+ <key>WFChooseFromListActionPrompt</key>
368
+ <string>Pick a Month</string>
369
+ <key>WFInput</key>
370
+ <dict>
371
+ <key>Value</key>
372
+ <dict>
373
+ <key>OutputName</key>
374
+ <string>Dictionary Value</string>
375
+ <key>OutputUUID</key>
376
+ <string>F127B0B1-9206-4AD2-90C7-BBF3F09CB7E0</string>
377
+ <key>Type</key>
378
+ <string>ActionOutput</string>
379
+ </dict>
380
+ <key>WFSerializationType</key>
381
+ <string>WFTextTokenAttachment</string>
382
+ </dict>
383
+ </dict>
384
+ </dict>
385
+ <dict>
386
+ <key>WFWorkflowActionIdentifier</key>
387
+ <string>is.workflow.actions.setvariable</string>
388
+ <key>WFWorkflowActionParameters</key>
389
+ <dict>
390
+ <key>WFInput</key>
391
+ <dict>
392
+ <key>Value</key>
393
+ <dict>
394
+ <key>OutputName</key>
395
+ <string>Chosen Item</string>
396
+ <key>OutputUUID</key>
397
+ <string>7A629346-D0A7-4911-8C3B-08F30EA1320B</string>
398
+ <key>Type</key>
399
+ <string>ActionOutput</string>
400
+ </dict>
401
+ <key>WFSerializationType</key>
402
+ <string>WFTextTokenAttachment</string>
403
+ </dict>
404
+ <key>WFVariableName</key>
405
+ <string>Chosen Month</string>
406
+ </dict>
407
+ </dict>
408
+ <dict>
409
+ <key>WFWorkflowActionIdentifier</key>
410
+ <string>is.workflow.actions.list</string>
411
+ <key>WFWorkflowActionParameters</key>
412
+ <dict>
413
+ <key>UUID</key>
414
+ <string>126EED68-BE38-45DB-A79F-4FD7B52D231B</string>
415
+ <key>WFItems</key>
416
+ <array>
417
+ <string>Monday</string>
418
+ <string>Tuesday</string>
419
+ <string>Wednesday</string>
420
+ <string>Thursday</string>
421
+ <string>Friday</string>
422
+ <string>Saturday</string>
423
+ <string>Sunday</string>
424
+ </array>
425
+ </dict>
426
+ </dict>
427
+ <dict>
428
+ <key>WFWorkflowActionIdentifier</key>
429
+ <string>is.workflow.actions.choosefromlist</string>
430
+ <key>WFWorkflowActionParameters</key>
431
+ <dict>
432
+ <key>UUID</key>
433
+ <string>7A485233-626B-43EF-9367-6311D2727364</string>
434
+ <key>WFChooseFromListActionPrompt</key>
435
+ <string>Pick a Day</string>
436
+ <key>WFInput</key>
437
+ <dict>
438
+ <key>Value</key>
439
+ <dict>
440
+ <key>OutputName</key>
441
+ <string>List</string>
442
+ <key>OutputUUID</key>
443
+ <string>126EED68-BE38-45DB-A79F-4FD7B52D231B</string>
444
+ <key>Type</key>
445
+ <string>ActionOutput</string>
446
+ </dict>
447
+ <key>WFSerializationType</key>
448
+ <string>WFTextTokenAttachment</string>
449
+ </dict>
450
+ </dict>
451
+ </dict>
452
+ <dict>
453
+ <key>WFWorkflowActionIdentifier</key>
454
+ <string>is.workflow.actions.gettext</string>
455
+ <key>WFWorkflowActionParameters</key>
456
+ <dict>
457
+ <key>UUID</key>
458
+ <string>94B518E4-F710-476F-B70A-CB54DB442A1A</string>
459
+ <key>WFTextActionText</key>
460
+ <dict>
461
+ <key>Value</key>
462
+ <dict>
463
+ <key>attachmentsByRange</key>
464
+ <dict>
465
+ <key>{0, 1}</key>
466
+ <dict>
467
+ <key>OutputName</key>
468
+ <string>Chosen Item</string>
469
+ <key>OutputUUID</key>
470
+ <string>7A485233-626B-43EF-9367-6311D2727364</string>
471
+ <key>Type</key>
472
+ <string>ActionOutput</string>
473
+ </dict>
474
+ </dict>
475
+ <key>string</key>
476
+ <string></string>
477
+ </dict>
478
+ <key>WFSerializationType</key>
479
+ <string>WFTextTokenString</string>
480
+ </dict>
481
+ </dict>
482
+ </dict>
483
+ <dict>
484
+ <key>WFWorkflowActionIdentifier</key>
485
+ <string>is.workflow.actions.number</string>
486
+ <key>WFWorkflowActionParameters</key>
487
+ <dict>
488
+ <key>UUID</key>
489
+ <string>9FBEFA9A-CAF5-437E-A3AF-C59F08149AB1</string>
490
+ <key>WFNumberActionNumber</key>
491
+ <string>0</string>
492
+ </dict>
493
+ </dict>
494
+ <dict>
495
+ <key>WFWorkflowActionIdentifier</key>
496
+ <string>is.workflow.actions.setvariable</string>
497
+ <key>WFWorkflowActionParameters</key>
498
+ <dict>
499
+ <key>WFInput</key>
500
+ <dict>
501
+ <key>Value</key>
502
+ <dict>
503
+ <key>OutputName</key>
504
+ <string>Number</string>
505
+ <key>OutputUUID</key>
506
+ <string>9FBEFA9A-CAF5-437E-A3AF-C59F08149AB1</string>
507
+ <key>Type</key>
508
+ <string>ActionOutput</string>
509
+ </dict>
510
+ <key>WFSerializationType</key>
511
+ <string>WFTextTokenAttachment</string>
512
+ </dict>
513
+ <key>WFVariableName</key>
514
+ <string>Count</string>
515
+ </dict>
516
+ </dict>
517
+ <dict>
518
+ <key>WFWorkflowActionIdentifier</key>
519
+ <string>is.workflow.actions.comment</string>
520
+ <key>WFWorkflowActionParameters</key>
521
+ <dict>
522
+ <key>WFCommentActionText</key>
523
+ <string>Get the number of days for the given month</string>
524
+ </dict>
525
+ </dict>
526
+ <dict>
527
+ <key>WFWorkflowActionIdentifier</key>
528
+ <string>is.workflow.actions.getvalueforkey</string>
529
+ <key>WFWorkflowActionParameters</key>
530
+ <dict>
531
+ <key>UUID</key>
532
+ <string>13A51854-7067-43CE-A38C-86038D20732A</string>
533
+ <key>WFDictionaryKey</key>
534
+ <dict>
535
+ <key>Value</key>
536
+ <dict>
537
+ <key>attachmentsByRange</key>
538
+ <dict>
539
+ <key>{0, 1}</key>
540
+ <dict>
541
+ <key>Type</key>
542
+ <string>Variable</string>
543
+ <key>VariableName</key>
544
+ <string>Chosen Month</string>
545
+ </dict>
546
+ </dict>
547
+ <key>string</key>
548
+ <string></string>
549
+ </dict>
550
+ <key>WFSerializationType</key>
551
+ <string>WFTextTokenString</string>
552
+ </dict>
553
+ <key>WFInput</key>
554
+ <dict>
555
+ <key>Value</key>
556
+ <dict>
557
+ <key>OutputName</key>
558
+ <string>Dictionary</string>
559
+ <key>OutputUUID</key>
560
+ <string>D37C0827-53CE-41B8-A1EF-40B889EAD56A</string>
561
+ <key>Type</key>
562
+ <string>ActionOutput</string>
563
+ </dict>
564
+ <key>WFSerializationType</key>
565
+ <string>WFTextTokenAttachment</string>
566
+ </dict>
567
+ </dict>
568
+ </dict>
569
+ <dict>
570
+ <key>WFWorkflowActionIdentifier</key>
571
+ <string>is.workflow.actions.number</string>
572
+ <key>WFWorkflowActionParameters</key>
573
+ <dict>
574
+ <key>UUID</key>
575
+ <string>B605C776-37D2-4822-9CC7-EA79F5014A10</string>
576
+ <key>WFNumberActionNumber</key>
577
+ <dict>
578
+ <key>Value</key>
579
+ <dict>
580
+ <key>OutputName</key>
581
+ <string>Dictionary Value</string>
582
+ <key>OutputUUID</key>
583
+ <string>13A51854-7067-43CE-A38C-86038D20732A</string>
584
+ <key>Type</key>
585
+ <string>ActionOutput</string>
586
+ </dict>
587
+ <key>WFSerializationType</key>
588
+ <string>WFTextTokenAttachment</string>
589
+ </dict>
590
+ </dict>
591
+ </dict>
592
+ <dict>
593
+ <key>WFWorkflowActionIdentifier</key>
594
+ <string>is.workflow.actions.comment</string>
595
+ <key>WFWorkflowActionParameters</key>
596
+ <dict>
597
+ <key>WFCommentActionText</key>
598
+ <string>For leap years, you’ll want to either modify the Dictionary at the top or add a condition year that modifies the February value to 29 instead of 28.</string>
599
+ </dict>
600
+ </dict>
601
+ <dict>
602
+ <key>WFWorkflowActionIdentifier</key>
603
+ <string>is.workflow.actions.repeat.count</string>
604
+ <key>WFWorkflowActionParameters</key>
605
+ <dict>
606
+ <key>GroupingIdentifier</key>
607
+ <string>3FD9ED4B-BA92-4BD8-A8C1-7CC3D4462EDC</string>
608
+ <key>WFControlFlowMode</key>
609
+ <integer>0</integer>
610
+ <key>WFRepeatCount</key>
611
+ <dict>
612
+ <key>Value</key>
613
+ <dict>
614
+ <key>OutputName</key>
615
+ <string>Number</string>
616
+ <key>OutputUUID</key>
617
+ <string>B605C776-37D2-4822-9CC7-EA79F5014A10</string>
618
+ <key>Type</key>
619
+ <string>ActionOutput</string>
620
+ </dict>
621
+ <key>WFSerializationType</key>
622
+ <string>WFTextTokenAttachment</string>
623
+ </dict>
624
+ </dict>
625
+ </dict>
626
+ <dict>
627
+ <key>WFWorkflowActionIdentifier</key>
628
+ <string>is.workflow.actions.date</string>
629
+ <key>WFWorkflowActionParameters</key>
630
+ <dict>
631
+ <key>UUID</key>
632
+ <string>801E64F1-1F33-4F27-BDA6-5938920307C5</string>
633
+ <key>WFDateActionDate</key>
634
+ <dict>
635
+ <key>Value</key>
636
+ <dict>
637
+ <key>attachmentsByRange</key>
638
+ <dict>
639
+ <key>{0, 1}</key>
640
+ <dict>
641
+ <key>Type</key>
642
+ <string>Variable</string>
643
+ <key>VariableName</key>
644
+ <string>Chosen Month</string>
645
+ </dict>
646
+ <key>{2, 1}</key>
647
+ <dict>
648
+ <key>Type</key>
649
+ <string>Variable</string>
650
+ <key>VariableName</key>
651
+ <string>Repeat Index</string>
652
+ </dict>
653
+ <key>{4, 1}</key>
654
+ <dict>
655
+ <key>Aggrandizements</key>
656
+ <array>
657
+ <dict>
658
+ <key>Type</key>
659
+ <string>WFDateFormatVariableAggrandizement</string>
660
+ <key>WFDateFormat</key>
661
+ <string>yyyy</string>
662
+ <key>WFDateFormatStyle</key>
663
+ <string>Custom</string>
664
+ <key>WFISO8601IncludeTime</key>
665
+ <false/>
666
+ </dict>
667
+ </array>
668
+ <key>Type</key>
669
+ <string>CurrentDate</string>
670
+ </dict>
671
+ </dict>
672
+ <key>string</key>
673
+ <string>  </string>
674
+ </dict>
675
+ <key>WFSerializationType</key>
676
+ <string>WFTextTokenString</string>
677
+ </dict>
678
+ <key>WFDateActionMode</key>
679
+ <string>Specified Date</string>
680
+ </dict>
681
+ </dict>
682
+ <dict>
683
+ <key>WFWorkflowActionIdentifier</key>
684
+ <string>is.workflow.actions.format.date</string>
685
+ <key>WFWorkflowActionParameters</key>
686
+ <dict>
687
+ <key>UUID</key>
688
+ <string>D738C29C-DFCD-4639-9A18-742114A69B14</string>
689
+ <key>WFDate</key>
690
+ <dict>
691
+ <key>Value</key>
692
+ <dict>
693
+ <key>attachmentsByRange</key>
694
+ <dict>
695
+ <key>{0, 1}</key>
696
+ <dict>
697
+ <key>OutputName</key>
698
+ <string>Date</string>
699
+ <key>OutputUUID</key>
700
+ <string>801E64F1-1F33-4F27-BDA6-5938920307C5</string>
701
+ <key>Type</key>
702
+ <string>ActionOutput</string>
703
+ </dict>
704
+ </dict>
705
+ <key>string</key>
706
+ <string></string>
707
+ </dict>
708
+ <key>WFSerializationType</key>
709
+ <string>WFTextTokenString</string>
710
+ </dict>
711
+ <key>WFDateFormat</key>
712
+ <string>EEEE</string>
713
+ <key>WFDateFormatStyle</key>
714
+ <string>Custom</string>
715
+ </dict>
716
+ </dict>
717
+ <dict>
718
+ <key>WFWorkflowActionIdentifier</key>
719
+ <string>is.workflow.actions.comment</string>
720
+ <key>WFWorkflowActionParameters</key>
721
+ <dict>
722
+ <key>WFCommentActionText</key>
723
+ <string>Match the name of the selected day against the current date of the month being evaluated in this pass of the loop.</string>
724
+ </dict>
725
+ </dict>
726
+ <dict>
727
+ <key>WFWorkflowActionIdentifier</key>
728
+ <string>is.workflow.actions.text.match</string>
729
+ <key>WFWorkflowActionParameters</key>
730
+ <dict>
731
+ <key>UUID</key>
732
+ <string>34157F62-29F7-4E7A-9C2B-FD430DCFB104</string>
733
+ <key>WFMatchTextPattern</key>
734
+ <dict>
735
+ <key>Value</key>
736
+ <dict>
737
+ <key>attachmentsByRange</key>
738
+ <dict>
739
+ <key>{0, 1}</key>
740
+ <dict>
741
+ <key>OutputName</key>
742
+ <string>Text</string>
743
+ <key>OutputUUID</key>
744
+ <string>94B518E4-F710-476F-B70A-CB54DB442A1A</string>
745
+ <key>Type</key>
746
+ <string>ActionOutput</string>
747
+ </dict>
748
+ </dict>
749
+ <key>string</key>
750
+ <string></string>
751
+ </dict>
752
+ <key>WFSerializationType</key>
753
+ <string>WFTextTokenString</string>
754
+ </dict>
755
+ <key>text</key>
756
+ <dict>
757
+ <key>Value</key>
758
+ <dict>
759
+ <key>attachmentsByRange</key>
760
+ <dict>
761
+ <key>{0, 1}</key>
762
+ <dict>
763
+ <key>OutputName</key>
764
+ <string>Formatted Date</string>
765
+ <key>OutputUUID</key>
766
+ <string>D738C29C-DFCD-4639-9A18-742114A69B14</string>
767
+ <key>Type</key>
768
+ <string>ActionOutput</string>
769
+ </dict>
770
+ </dict>
771
+ <key>string</key>
772
+ <string></string>
773
+ </dict>
774
+ <key>WFSerializationType</key>
775
+ <string>WFTextTokenString</string>
776
+ </dict>
777
+ </dict>
778
+ </dict>
779
+ <dict>
780
+ <key>WFWorkflowActionIdentifier</key>
781
+ <string>is.workflow.actions.conditional</string>
782
+ <key>WFWorkflowActionParameters</key>
783
+ <dict>
784
+ <key>GroupingIdentifier</key>
785
+ <string>9E9C6C2E-BF08-4CC4-8524-2D901626752E</string>
786
+ <key>WFCondition</key>
787
+ <integer>100</integer>
788
+ <key>WFControlFlowMode</key>
789
+ <integer>0</integer>
790
+ <key>WFInput</key>
791
+ <dict>
792
+ <key>Type</key>
793
+ <string>Variable</string>
794
+ <key>Variable</key>
795
+ <dict>
796
+ <key>Value</key>
797
+ <dict>
798
+ <key>OutputName</key>
799
+ <string>Matches</string>
800
+ <key>OutputUUID</key>
801
+ <string>34157F62-29F7-4E7A-9C2B-FD430DCFB104</string>
802
+ <key>Type</key>
803
+ <string>ActionOutput</string>
804
+ </dict>
805
+ <key>WFSerializationType</key>
806
+ <string>WFTextTokenAttachment</string>
807
+ </dict>
808
+ </dict>
809
+ </dict>
810
+ </dict>
811
+ <dict>
812
+ <key>WFWorkflowActionIdentifier</key>
813
+ <string>is.workflow.actions.math</string>
814
+ <key>WFWorkflowActionParameters</key>
815
+ <dict>
816
+ <key>UUID</key>
817
+ <string>0D8B8C09-B1C7-44A8-A094-F1EC5D30615E</string>
818
+ <key>WFInput</key>
819
+ <string>1</string>
820
+ <key>WFMathOperand</key>
821
+ <dict>
822
+ <key>Value</key>
823
+ <dict>
824
+ <key>Type</key>
825
+ <string>Variable</string>
826
+ <key>VariableName</key>
827
+ <string>Count</string>
828
+ </dict>
829
+ <key>WFSerializationType</key>
830
+ <string>WFTextTokenAttachment</string>
831
+ </dict>
832
+ </dict>
833
+ </dict>
834
+ <dict>
835
+ <key>WFWorkflowActionIdentifier</key>
836
+ <string>is.workflow.actions.setvariable</string>
837
+ <key>WFWorkflowActionParameters</key>
838
+ <dict>
839
+ <key>WFInput</key>
840
+ <dict>
841
+ <key>Value</key>
842
+ <dict>
843
+ <key>OutputName</key>
844
+ <string>Calculation Result</string>
845
+ <key>OutputUUID</key>
846
+ <string>0D8B8C09-B1C7-44A8-A094-F1EC5D30615E</string>
847
+ <key>Type</key>
848
+ <string>ActionOutput</string>
849
+ </dict>
850
+ <key>WFSerializationType</key>
851
+ <string>WFTextTokenAttachment</string>
852
+ </dict>
853
+ <key>WFVariableName</key>
854
+ <string>Count</string>
855
+ </dict>
856
+ </dict>
857
+ <dict>
858
+ <key>WFWorkflowActionIdentifier</key>
859
+ <string>is.workflow.actions.conditional</string>
860
+ <key>WFWorkflowActionParameters</key>
861
+ <dict>
862
+ <key>GroupingIdentifier</key>
863
+ <string>9E9C6C2E-BF08-4CC4-8524-2D901626752E</string>
864
+ <key>WFControlFlowMode</key>
865
+ <integer>1</integer>
866
+ </dict>
867
+ </dict>
868
+ <dict>
869
+ <key>WFWorkflowActionIdentifier</key>
870
+ <string>is.workflow.actions.conditional</string>
871
+ <key>WFWorkflowActionParameters</key>
872
+ <dict>
873
+ <key>GroupingIdentifier</key>
874
+ <string>9E9C6C2E-BF08-4CC4-8524-2D901626752E</string>
875
+ <key>UUID</key>
876
+ <string>F99596B7-0F03-4EE2-93C1-87EF355A693C</string>
877
+ <key>WFControlFlowMode</key>
878
+ <integer>2</integer>
879
+ </dict>
880
+ </dict>
881
+ <dict>
882
+ <key>WFWorkflowActionIdentifier</key>
883
+ <string>is.workflow.actions.repeat.count</string>
884
+ <key>WFWorkflowActionParameters</key>
885
+ <dict>
886
+ <key>GroupingIdentifier</key>
887
+ <string>3FD9ED4B-BA92-4BD8-A8C1-7CC3D4462EDC</string>
888
+ <key>UUID</key>
889
+ <string>92CC19AF-D0F4-4DE8-B173-CDED77C19AF9</string>
890
+ <key>WFControlFlowMode</key>
891
+ <integer>2</integer>
892
+ </dict>
893
+ </dict>
894
+ <dict>
895
+ <key>WFWorkflowActionIdentifier</key>
896
+ <string>is.workflow.actions.alert</string>
897
+ <key>WFWorkflowActionParameters</key>
898
+ <dict>
899
+ <key>WFAlertActionCancelButtonShown</key>
900
+ <false/>
901
+ <key>WFAlertActionMessage</key>
902
+ <dict>
903
+ <key>Value</key>
904
+ <dict>
905
+ <key>attachmentsByRange</key>
906
+ <dict>
907
+ <key>{0, 1}</key>
908
+ <dict>
909
+ <key>Type</key>
910
+ <string>Variable</string>
911
+ <key>VariableName</key>
912
+ <string>Count</string>
913
+ </dict>
914
+ <key>{16, 1}</key>
915
+ <dict>
916
+ <key>OutputName</key>
917
+ <string>Text</string>
918
+ <key>OutputUUID</key>
919
+ <string>94B518E4-F710-476F-B70A-CB54DB442A1A</string>
920
+ <key>Type</key>
921
+ <string>ActionOutput</string>
922
+ </dict>
923
+ </dict>
924
+ <key>string</key>
925
+ <string> iterations of </string>
926
+ </dict>
927
+ <key>WFSerializationType</key>
928
+ <string>WFTextTokenString</string>
929
+ </dict>
930
+ <key>WFAlertActionTitle</key>
931
+ <dict>
932
+ <key>Value</key>
933
+ <dict>
934
+ <key>attachmentsByRange</key>
935
+ <dict>
936
+ <key>{0, 1}</key>
937
+ <dict>
938
+ <key>Type</key>
939
+ <string>Variable</string>
940
+ <key>VariableName</key>
941
+ <string>Chosen Month</string>
942
+ </dict>
943
+ <key>{2, 1}</key>
944
+ <dict>
945
+ <key>Aggrandizements</key>
946
+ <array>
947
+ <dict>
948
+ <key>Type</key>
949
+ <string>WFDateFormatVariableAggrandizement</string>
950
+ <key>WFDateFormat</key>
951
+ <string>yyyy</string>
952
+ <key>WFDateFormatStyle</key>
953
+ <string>Custom</string>
954
+ <key>WFISO8601IncludeTime</key>
955
+ <false/>
956
+ </dict>
957
+ </array>
958
+ <key>Type</key>
959
+ <string>CurrentDate</string>
960
+ </dict>
961
+ </dict>
962
+ <key>string</key>
963
+ <string> </string>
964
+ </dict>
965
+ <key>WFSerializationType</key>
966
+ <string>WFTextTokenString</string>
967
+ </dict>
968
+ </dict>
969
+ </dict>
970
+ </array>
971
+ <key>WFWorkflowClientVersion</key>
972
+ <string>1146.11.1</string>
973
+ <key>WFWorkflowHasOutputFallback</key>
974
+ <false/>
975
+ <key>WFWorkflowHasShortcutInputVariables</key>
976
+ <false/>
977
+ <key>WFWorkflowIcon</key>
978
+ <dict>
979
+ <key>WFWorkflowIconGlyphNumber</key>
980
+ <integer>61465</integer>
981
+ <key>WFWorkflowIconStartColor</key>
982
+ <integer>4292093695</integer>
983
+ </dict>
984
+ <key>WFWorkflowImportQuestions</key>
985
+ <array/>
986
+ <key>WFWorkflowInputContentItemClasses</key>
987
+ <array>
988
+ <string>WFAppStoreAppContentItem</string>
989
+ <string>WFArticleContentItem</string>
990
+ <string>WFContactContentItem</string>
991
+ <string>WFDateContentItem</string>
992
+ <string>WFEmailAddressContentItem</string>
993
+ <string>WFFolderContentItem</string>
994
+ <string>WFGenericFileContentItem</string>
995
+ <string>WFImageContentItem</string>
996
+ <string>WFiTunesProductContentItem</string>
997
+ <string>WFLocationContentItem</string>
998
+ <string>WFDCMapsLinkContentItem</string>
999
+ <string>WFAVAssetContentItem</string>
1000
+ <string>WFPDFContentItem</string>
1001
+ <string>WFPhoneNumberContentItem</string>
1002
+ <string>WFRichTextContentItem</string>
1003
+ <string>WFSafariWebPageContentItem</string>
1004
+ <string>WFStringContentItem</string>
1005
+ <string>WFURLContentItem</string>
1006
+ </array>
1007
+ <key>WFWorkflowMinimumClientVersion</key>
1008
+ <integer>900</integer>
1009
+ <key>WFWorkflowMinimumClientVersionString</key>
1010
+ <string>900</string>
1011
+ <key>WFWorkflowOutputContentItemClasses</key>
1012
+ <array/>
1013
+ <key>WFWorkflowTypes</key>
1014
+ <array/>
1015
+ </dict>
1016
+ </plist>