@mmerterden/multi-agent-pipeline 20.6.0 → 20.8.0

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 (326) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +0 -10
  3. package/docs/facts.json +1 -1
  4. package/manifest.json +328 -329
  5. package/package.json +2 -2
  6. package/pipeline/multi-agent-refs/features/design-conformance.md +62 -64
  7. package/pipeline/scripts/_notices.mjs +12 -1
  8. package/pipeline/scripts/gen-skills-index.mjs +1 -1
  9. package/pipeline/skills/.skill-manifest.json +106 -106
  10. package/pipeline/skills/shared/README.md +71 -71
  11. package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +1 -0
  12. package/pipeline/skills/shared/external/alarmkit/SKILL.md +373 -381
  13. package/pipeline/skills/shared/external/alarmkit/evals/evals.json +23 -18
  14. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +328 -378
  15. package/pipeline/skills/shared/external/android-architecture/SKILL.md +2 -0
  16. package/pipeline/skills/shared/external/android-performance/SKILL.md +2 -0
  17. package/pipeline/skills/shared/external/android-security/SKILL.md +2 -0
  18. package/pipeline/skills/shared/external/app-clips/SKILL.md +260 -160
  19. package/pipeline/skills/shared/external/app-clips/evals/evals.json +27 -27
  20. package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +150 -83
  21. package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +135 -83
  22. package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +143 -85
  23. package/pipeline/skills/shared/external/app-intents/SKILL.md +302 -304
  24. package/pipeline/skills/shared/external/app-intents/evals/evals.json +21 -21
  25. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +594 -894
  26. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +339 -277
  27. package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +27 -23
  28. package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +105 -122
  29. package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +143 -166
  30. package/pipeline/skills/shared/external/app-store-review/SKILL.md +307 -326
  31. package/pipeline/skills/shared/external/app-store-review/evals/evals.json +21 -21
  32. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +105 -67
  33. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +114 -101
  34. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +333 -360
  35. package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +24 -27
  36. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +215 -322
  37. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +161 -256
  38. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +277 -387
  39. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +196 -210
  40. package/pipeline/skills/shared/external/authentication/SKILL.md +265 -381
  41. package/pipeline/skills/shared/external/authentication/evals/evals.json +25 -25
  42. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +133 -178
  43. package/pipeline/skills/shared/external/authentication/references/passkeys.md +111 -147
  44. package/pipeline/skills/shared/external/avkit/SKILL.md +267 -364
  45. package/pipeline/skills/shared/external/avkit/evals/evals.json +26 -26
  46. package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +375 -493
  47. package/pipeline/skills/shared/external/background-processing/SKILL.md +270 -382
  48. package/pipeline/skills/shared/external/background-processing/evals/evals.json +22 -22
  49. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +169 -317
  50. package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
  51. package/pipeline/skills/shared/external/backlog/SKILL.md +56 -33
  52. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +290 -371
  53. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +24 -24
  54. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +175 -343
  55. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -0
  56. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +292 -381
  57. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +33 -30
  58. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +227 -355
  59. package/pipeline/skills/shared/external/compose-components/SKILL.md +2 -0
  60. package/pipeline/skills/shared/external/compose-navigation/SKILL.md +3 -2
  61. package/pipeline/skills/shared/external/compose-testing/SKILL.md +2 -0
  62. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +197 -346
  63. package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +19 -21
  64. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +169 -308
  65. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +226 -376
  66. package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +25 -22
  67. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +257 -337
  68. package/pipeline/skills/shared/external/core-data/SKILL.md +292 -368
  69. package/pipeline/skills/shared/external/core-data/evals/evals.json +30 -27
  70. package/pipeline/skills/shared/external/core-motion/SKILL.md +235 -324
  71. package/pipeline/skills/shared/external/core-motion/evals/evals.json +31 -27
  72. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +210 -310
  73. package/pipeline/skills/shared/external/core-nfc/SKILL.md +292 -366
  74. package/pipeline/skills/shared/external/core-nfc/evals/evals.json +22 -24
  75. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +233 -329
  76. package/pipeline/skills/shared/external/coreml/SKILL.md +323 -367
  77. package/pipeline/skills/shared/external/coreml/evals/evals.json +24 -21
  78. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +562 -565
  79. package/pipeline/skills/shared/external/council/SKILL.md +1 -0
  80. package/pipeline/skills/shared/external/cryptokit/SKILL.md +253 -394
  81. package/pipeline/skills/shared/external/cryptokit/evals/evals.json +20 -18
  82. package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +299 -488
  83. package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -0
  84. package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -0
  85. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +270 -323
  86. package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +27 -30
  87. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +167 -315
  88. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +140 -193
  89. package/pipeline/skills/shared/external/device-integrity/SKILL.md +230 -353
  90. package/pipeline/skills/shared/external/device-integrity/evals/evals.json +25 -21
  91. package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +159 -197
  92. package/pipeline/skills/shared/external/energykit/SKILL.md +225 -392
  93. package/pipeline/skills/shared/external/energykit/evals/evals.json +29 -28
  94. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +174 -470
  95. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +261 -383
  96. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +25 -22
  97. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +165 -268
  98. package/pipeline/skills/shared/external/evidence-github/SKILL.md +2 -0
  99. package/pipeline/skills/shared/external/evidence-registry/SKILL.md +2 -0
  100. package/pipeline/skills/shared/external/gradle-kotlin-dsl/SKILL.md +2 -0
  101. package/pipeline/skills/shared/external/healthkit/SKILL.md +252 -303
  102. package/pipeline/skills/shared/external/healthkit/evals/evals.json +24 -23
  103. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +369 -523
  104. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +233 -348
  105. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +27 -22
  106. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +199 -305
  107. package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -0
  108. package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -0
  109. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +368 -340
  110. package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +28 -27
  111. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +314 -260
  112. package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +97 -67
  113. package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +165 -101
  114. package/pipeline/skills/shared/external/ios-coding-standard/SKILL.md +1 -0
  115. package/pipeline/skills/shared/external/ios-localization/SKILL.md +258 -371
  116. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +23 -23
  117. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +283 -491
  118. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +313 -440
  119. package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +1 -0
  120. package/pipeline/skills/shared/external/ios-networking/SKILL.md +265 -341
  121. package/pipeline/skills/shared/external/ios-networking/evals/evals.json +24 -24
  122. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +425 -652
  123. package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +143 -285
  124. package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +93 -53
  125. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +231 -456
  126. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +517 -784
  127. package/pipeline/skills/shared/external/ios-security/SKILL.md +2 -0
  128. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +265 -393
  129. package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +21 -21
  130. package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +177 -270
  131. package/pipeline/skills/shared/external/live-activities/SKILL.md +318 -360
  132. package/pipeline/skills/shared/external/live-activities/evals/evals.json +21 -21
  133. package/pipeline/skills/shared/external/live-activities/references/activitykit-patterns.md +478 -710
  134. package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +91 -283
  135. package/pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md +119 -151
  136. package/pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md +60 -90
  137. package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +119 -156
  138. package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-artifact.py +726 -787
  139. package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-spreadsheet.py +253 -288
  140. package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-annotations.py +243 -304
  141. package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-legacy-labels.py +88 -104
  142. package/pipeline/skills/shared/external/localization-reuse-map/scripts/publish-confluence.py +181 -235
  143. package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-key-shots.py +198 -263
  144. package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py +461 -466
  145. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py +145 -151
  146. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +123 -141
  147. package/pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py +146 -157
  148. package/pipeline/skills/shared/external/localization-reuse-map/scripts/snapshot-resources.sh +22 -19
  149. package/pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py +156 -140
  150. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +295 -267
  151. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +28 -24
  152. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-corelocation-patterns.md +378 -532
  153. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +397 -499
  154. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +165 -348
  155. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +26 -23
  156. package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +123 -130
  157. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +189 -315
  158. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +22 -21
  159. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +181 -270
  160. package/pipeline/skills/shared/external/natural-language/SKILL.md +188 -340
  161. package/pipeline/skills/shared/external/natural-language/evals/evals.json +21 -21
  162. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +171 -225
  163. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -0
  164. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +258 -392
  165. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +30 -29
  166. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +164 -231
  167. package/pipeline/skills/shared/external/pdfkit/SKILL.md +312 -344
  168. package/pipeline/skills/shared/external/pdfkit/evals/evals.json +19 -19
  169. package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +413 -624
  170. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +242 -358
  171. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +25 -21
  172. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +161 -226
  173. package/pipeline/skills/shared/external/permissionkit/SKILL.md +282 -400
  174. package/pipeline/skills/shared/external/permissionkit/evals/evals.json +27 -30
  175. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +237 -350
  176. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +276 -325
  177. package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +299 -545
  178. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +344 -588
  179. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +316 -660
  180. package/pipeline/skills/shared/external/photos-camera-media/references/photokit-patterns.md +270 -416
  181. package/pipeline/skills/shared/external/play-store-review/SKILL.md +2 -0
  182. package/pipeline/skills/shared/external/push-notifications/SKILL.md +312 -340
  183. package/pipeline/skills/shared/external/push-notifications/evals/evals.json +27 -26
  184. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +328 -485
  185. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +327 -560
  186. package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -0
  187. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
  188. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +218 -410
  189. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +24 -27
  190. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +221 -348
  191. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -0
  192. package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +2 -0
  193. package/pipeline/skills/shared/external/room-database/SKILL.md +2 -0
  194. package/pipeline/skills/shared/external/search-first/SKILL.md +1 -0
  195. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +222 -393
  196. package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +23 -24
  197. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +280 -420
  198. package/pipeline/skills/shared/external/signal-community/SKILL.md +2 -0
  199. package/pipeline/skills/shared/external/skill-creator/SKILL.md +80 -41
  200. package/pipeline/skills/shared/external/skill-creator/audit.md +63 -59
  201. package/pipeline/skills/shared/external/skill-creator/checklist.md +28 -20
  202. package/pipeline/skills/shared/external/skill-creator/examples.md +40 -40
  203. package/pipeline/skills/shared/external/skill-creator/label-check.md +48 -36
  204. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +91 -100
  205. package/pipeline/skills/shared/external/skill-creator/template.md +51 -39
  206. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +217 -421
  207. package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +23 -26
  208. package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +133 -125
  209. package/pipeline/skills/shared/external/storekit/SKILL.md +228 -204
  210. package/pipeline/skills/shared/external/storekit/evals/evals.json +27 -24
  211. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +98 -109
  212. package/pipeline/skills/shared/external/storekit/references/core-patterns.md +298 -242
  213. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +356 -649
  214. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +274 -399
  215. package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +22 -24
  216. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +107 -108
  217. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +93 -165
  218. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +99 -137
  219. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +77 -120
  220. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +334 -350
  221. package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +22 -22
  222. package/pipeline/skills/shared/external/swift-charts/SKILL.md +208 -394
  223. package/pipeline/skills/shared/external/swift-charts/evals/evals.json +27 -30
  224. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +351 -762
  225. package/pipeline/skills/shared/external/swift-codable/SKILL.md +339 -343
  226. package/pipeline/skills/shared/external/swift-codable/evals/evals.json +20 -20
  227. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +303 -351
  228. package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +27 -24
  229. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +65 -80
  230. package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +48 -84
  231. package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +134 -79
  232. package/pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md +145 -167
  233. package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +62 -50
  234. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +92 -121
  235. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +177 -241
  236. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +258 -234
  237. package/pipeline/skills/shared/external/swift-language/SKILL.md +342 -382
  238. package/pipeline/skills/shared/external/swift-language/evals/evals.json +24 -27
  239. package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +79 -56
  240. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +297 -340
  241. package/pipeline/skills/shared/external/swift-security/SKILL.md +180 -161
  242. package/pipeline/skills/shared/external/swift-security/evals/evals.json +25 -25
  243. package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +314 -469
  244. package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +408 -476
  245. package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +260 -530
  246. package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +270 -477
  247. package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +573 -571
  248. package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +370 -441
  249. package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +332 -433
  250. package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +346 -468
  251. package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +352 -472
  252. package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +431 -432
  253. package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +328 -425
  254. package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +341 -579
  255. package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +396 -457
  256. package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +354 -614
  257. package/pipeline/skills/shared/external/swift-testing/SKILL.md +188 -175
  258. package/pipeline/skills/shared/external/swift-testing/evals/evals.json +26 -24
  259. package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +80 -84
  260. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +317 -433
  261. package/pipeline/skills/shared/external/swiftdata/SKILL.md +392 -256
  262. package/pipeline/skills/shared/external/swiftdata/evals/evals.json +24 -24
  263. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +206 -402
  264. package/pipeline/skills/shared/external/swiftdata/references/indexing.md +59 -52
  265. package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +57 -33
  266. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +354 -747
  267. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +300 -508
  268. package/pipeline/skills/shared/external/swiftlint/SKILL.md +175 -226
  269. package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +141 -208
  270. package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +100 -109
  271. package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +159 -179
  272. package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +383 -18
  273. package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +143 -229
  274. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +283 -366
  275. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +396 -608
  276. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +336 -385
  277. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +239 -349
  278. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +228 -310
  279. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +260 -249
  280. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +92 -74
  281. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +112 -177
  282. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +61 -64
  283. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +94 -134
  284. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +193 -225
  285. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +173 -327
  286. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +193 -168
  287. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +127 -150
  288. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +132 -133
  289. package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +152 -117
  290. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +106 -140
  291. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +316 -252
  292. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +341 -332
  293. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +547 -854
  294. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +485 -537
  295. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +417 -499
  296. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +213 -376
  297. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +86 -175
  298. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +89 -195
  299. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +95 -182
  300. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +71 -149
  301. package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +21 -27
  302. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +303 -295
  303. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +204 -387
  304. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +469 -683
  305. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +140 -186
  306. package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +75 -86
  307. package/pipeline/skills/shared/external/swiftui-webkit/references/local-content-and-custom-schemes.md +63 -60
  308. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +69 -137
  309. package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +95 -67
  310. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -0
  311. package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -0
  312. package/pipeline/skills/shared/external/tipkit/SKILL.md +220 -335
  313. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +356 -494
  314. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -0
  315. package/pipeline/skills/shared/external/vision-framework/SKILL.md +260 -375
  316. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +393 -515
  317. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +363 -539
  318. package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -0
  319. package/pipeline/skills/shared/external/weatherkit/SKILL.md +152 -310
  320. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +288 -407
  321. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
  322. package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -0
  323. package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -0
  324. package/pipeline/skills/shared/external/widgetkit/SKILL.md +216 -288
  325. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +414 -719
  326. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +0 -39
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: signal-community
3
3
  description: "Check whether other people hit the same problem, via Stack Overflow and Hacker News (keyless) plus opt-in Reddit and X. Use when a bug report or complaint needs corroboration beyond one user. Advisory only: it belongs in a risks section, never in a business rule."
4
+ metadata:
5
+ source: multi-agent-pipeline
4
6
  ---
5
7
 
6
8
  # Community signal
@@ -1,49 +1,88 @@
1
1
  ---
2
2
  name: skill-creator
3
- description: "Author and refine skills for a plugin/toolkit efficiently. Use when creating a new skill, trimming or splitting an existing one, writing a skill's description, or choosing skill vs command vs agent vs CLAUDE.md. Encodes the house rules - lean SKILL.md as an index, progressive disclosure into bundled files, the reference (descriptive) vs workflow (imperative) split, no-prefix naming, and growing a skill from observed failures. Bundles a template, a pre-ship checklist, and good/bad description examples."
3
+ description: "House guide for authoring plugin skills: creating a new skill, trimming or splitting a bloated one, writing or sharpening a description, and choosing between a skill, slash command, subagent, CLAUDE.md entry or MCP server. Covers the lean-index SKILL.md, progressive disclosure into bundled files, the reference vs workflow vs tool split, naming without a platform prefix, growing skills from observed failures, and the pre-ship audit. Ships templates, a checklist and description examples. Use for 'write a new skill', 'this skill is too long', 'improve this skill description', 'should this be a skill or an agent'. Not for writing the domain content itself, prompt writing unrelated to plugin skills, or per-session facts that belong in CLAUDE.md."
4
4
  user-invocable: true
5
- argument-hint: [new | trim | description]
5
+ argument-hint: "[new | trim | description]"
6
6
  allowed-tools: Read, Write, Edit, Glob
7
7
  metadata:
8
8
  version: 1.0.0
9
+ source: multi-agent-pipeline
9
10
  ---
10
11
 
11
- # skill-creator - how to write skills here
12
-
13
- > **Layer:** reference (knowledge)
14
- > **Use when:** creating/trimming a skill, writing a description, or choosing skill vs command/agent/CLAUDE.md.
15
- > **Bundled (read on demand):** [template.md](template.md) · [checklist.md](checklist.md) · [examples.md](examples.md) · [label-check.md](label-check.md) · [audit.md](audit.md)
16
-
17
- ## 1. Is a skill the right tool?
18
- - **CLAUDE.md** - broad facts/rules true *every* session.
19
- - **Skill** - on-demand procedure or knowledge for a recurring task.
20
- - **Subagent/agent** - needs independent reasoning + its own context/tools.
21
- - **MCP server** - structured integration with an external system's API.
22
-
23
- ## 2. The description is discovery (the 90% lever)
24
- It's the *only* thing the model sees when deciding to load the skill. **Write it first.** Include **what + when + trigger words + one example trigger**, in third person. (Anthropic's data: vague→specific lifts activation ~20%→50%; adding examples ~72%→90%.) Good/bad pairs in [examples.md](examples.md).
25
-
26
- ## 3. Keep it lean (it stays in context every turn once loaded)
27
- - `SKILL.md` is an **index** - aim for ~1 page, hard cap ~500 lines.
28
- - Push detail into bundled files **one level deep** (reference, examples, scripts). They cost zero tokens until read; nested-deeper files get partially read - don't nest.
29
- - A **script executes without its source entering context** - prefer a script over asking the model to regenerate code.
30
- - Challenge every line: *"would Claude err without this?"* If no, cut it.
31
-
32
- ## 4. Pick the right degree of freedom (= our layers)
33
- - **reference skill → descriptive:** invariants, conventions + pointers to canonical files, decision heuristics, pitfalls, escape hatches. **No numbered procedures.**
34
- - **workflow skill → imperative spine:** a numbered procedure **only** for deterministic/irreversible steps (branch/PR, codegen, build/verify). Cite reference skills for the judgment.
35
- - **tool skill → thin index over a script/CLI:** lean SKILL.md (when + the run command + sub-commands at a glance), heavy detail in a bundled `reference.md`; the script is the engine (e.g. `tools/figma-utility`).
36
-
37
- ## 5. Naming
38
- No platform prefix - the toolkit name + description already carry it. Reference = aspect noun (`navigation`); workflow = verb-phrase (`branch-and-pr`). Avoid vague/reserved (`helper`, `utils`, `claude-*`). For a name/title/strict-rule label that must carry its **whole intent**, validate it with the fresh-subagent inference test in [label-check.md](label-check.md) before committing.
39
-
40
- ## 6. Grow it from real usage - don't pre-write
41
- 1. Do the task **without** a skill; note where Claude actually fails.
42
- 2. Write the **minimum** that fixes those gaps.
43
- 3. Watch Claude use it: move reused detail up into SKILL.md, cut detail it ignores, sharpen the description if it didn't trigger.
44
-
45
- ## Before shipping
46
- Start from [template.md](template.md); run [checklist.md](checklist.md). For a new or
47
- substantially-changed skill that must be trusted, run the **multi-architect audit**
48
- ([audit.md](audit.md)) - a panel of distinct-lens reviewers + synthesis, looped
49
- fix → re-audit until no blockers/majors remain.
12
+ # skill-creator - authoring plugin skills
13
+
14
+ > **Layer:** knowledge (reference). **Use when:** creating, trimming, splitting, naming or describing a plugin skill, or gating one before it ships.
15
+ > **Not for:** the domain content inside a skill (hand that to the domain skill), prompt writing unrelated to plugin skills, or facts every session needs (those go in CLAUDE.md).
16
+
17
+ Bundled, read when the step needs it:
18
+
19
+ - [template.md](template.md) - reference and workflow skeletons with frontmatter.
20
+ - [checklist.md](checklist.md) - the pre-ship checklist.
21
+ - [examples.md](examples.md) - weak and strong descriptions, wrong and right layer shapes.
22
+ - [audit.md](audit.md) - the multi-architect audit loop and its lens sets; driven by `scripts/audit-panel.js`.
23
+ - [label-check.md](label-check.md) - the fresh-subagent inference test for names and rule labels.
24
+
25
+ ## Arguments
26
+
27
+ | Argument | Start at |
28
+ |---|---|
29
+ | `new` | Pick the artifact, write the description, then the template |
30
+ | `trim` | Leanness and the cut test, then the checklist |
31
+ | `description` | The description recipe and examples.md |
32
+
33
+ ## Pick the artifact first
34
+
35
+ | Artifact | Holds |
36
+ |---|---|
37
+ | CLAUDE.md | facts and rules that are true in every session |
38
+ | Skill | a procedure or body of knowledge for a recurring task, loaded on demand |
39
+ | Subagent | work that needs its own reasoning, context window and tool set |
40
+ | MCP server | a structured integration with an external API |
41
+
42
+ ## The description is the skill's only advertisement
43
+
44
+ Before a skill loads, the model sees its name and description and nothing else. Write the description before the body. It needs:
45
+
46
+ - **what** the skill covers or does, and **when** to use it;
47
+ - concrete **trigger phrases** a user would actually type, plus one sample request;
48
+ - the **platform** where it matters (iOS/SwiftUI, Compose, backend);
49
+ - an implied **boundary** against sibling skills;
50
+ - third person throughout.
51
+
52
+ Anthropic's measurements: a specific description instead of a vague one lifted activation from about 20% to about 50%; adding examples took it from about 72% to about 90%. A one-liner with no when, no triggers and no platform gives the router nothing to match. See examples.md.
53
+
54
+ ## Keep SKILL.md an index
55
+
56
+ - Everything in SKILL.md sits in context for every turn after it loads. Aim for about one page; 500 lines is the hard ceiling.
57
+ - Push detail into bundled files **one level below** SKILL.md (reference, examples, scripts). They cost nothing until read. A file reached only through another bundled file tends to be read in part, so do not nest.
58
+ - Deterministic work belongs in a script. Running it keeps its source out of context; never ask the model to write that code again each time.
59
+ - **Cut test:** keep a line only if Claude would get the task wrong without it. Do not explain what the model already knows: a paragraph on how PDFs are structured loses to "use pdfplumber".
60
+
61
+ ## Layer sets the degrees of freedom
62
+
63
+ | Layer | Voice | Contains | Never contains |
64
+ |---|---|---|---|
65
+ | reference | descriptive | invariants, conventions pointing at canonical files, decision heuristics, pitfalls, escape hatches | numbered procedures |
66
+ | workflow | imperative | numbered steps only for deterministic or irreversible actions (branch and PR, codegen, build and verify), citations of reference skills for judgement, a verification gate | open-ended judgement dressed as steps |
67
+ | tool | index | when to use, the run command, a sub-command overview; heavy detail in a bundled `reference.md`; the script is the engine | the engine's logic in prose |
68
+
69
+ `tools/figma-utility` in the iOS toolkit is the model tool skill.
70
+
71
+ ## Naming
72
+
73
+ - No platform prefix: the toolkit name and the description already say it.
74
+ - Reference skills take an aspect noun (`navigation`); workflow skills a verb phrase (`branch-and-pr`).
75
+ - Avoid vague or reserved names: `helper`, `utils`, anything starting with `claude-`.
76
+ - When a name, title or strict-rule label has to carry its whole intent, run the label check before committing to it.
77
+
78
+ ## Grow skills from failures
79
+
80
+ 1. Do the task with no skill and note exactly where Claude goes wrong.
81
+ 2. Write the smallest skill that fixes those failures. Nothing speculative.
82
+ 3. Watch real use: promote detail that keeps getting read into SKILL.md, cut what is ignored, and sharpen the description whenever the skill failed to trigger.
83
+
84
+ ## Before it ships
85
+
86
+ 1. Run checklist.md as the self-review floor.
87
+ 2. New or substantially changed skill: run the audit loop in audit.md until `clearsBar` is true.
88
+ 3. Wire it: add the path to the `skills` array in `<plugin>/.claude-plugin/plugin.json`, bump the plugin version in `.github/plugin/marketplace.json`, and add a row to the plugin's `index` skill route table.
@@ -1,59 +1,63 @@
1
- # Multi-architect audit - adversarial quality gate for a skill
2
-
3
- The [checklist](checklist.md) is the self-review floor. This is the **high-confidence
4
- gate**: a panel of N independent reviewers, each a *distinct lens*, reads the skill
5
- against the rubric + ground truth, then a synthesizer dedups and rules. You **loop
6
- fix → re-audit until it passes** (no blockers/majors). Run it before shipping a new
7
- or substantially-changed skill, or whenever a skill must be trusted.
8
-
9
- Use the [Workflow tool](scripts/audit-panel.js) to fan the panel out - it returns
10
- `{remaining, clearsBar, verdict}`.
11
-
12
- ## The loop (run to convergence)
13
- 1. **Panel** - N agents, one lens each, read-only. Each returns specific findings
14
- (severity · file:location · problem · concrete fix). Empty if its lens is clean.
15
- 2. **Synthesize** - dedup overlaps; **drop false positives** (verify each against the
16
- real files/repo before keeping); classify blocker / major / minor / nit;
17
- `clearsBar = no blockers and no majors remain`.
18
- 3. **If not clean** - apply the do-now set (blockers + majors + cheap high-value
19
- minors), then run a **fresh** panel (see "Fresh each round") and repeat.
20
- 4. **Stop** when `clearsBar` is true. The later/nit list is optional polish.
21
-
22
- ## Rules that make it trustworthy
23
- - **Fresh panel each round.** After a fix, re-run the panel anew so agents read the
24
- *current* files - do not reuse a prior run's cached results (they reflect the old
25
- state and will report fixed issues as open / miss regressions).
26
- - **Verify before keeping.** Every finding must be confirmed against the actual file
27
- or repo. The synthesizer drops anything it can't reproduce. Prefer findings that
28
- cite a line and a reproduction.
29
- - **Ground-truth, not vibes.** Give the panel the rubric ([SKILL.md](SKILL.md) +
30
- [checklist.md](checklist.md)), an exemplar skill, and the real source the skill
31
- describes (e.g. the iOS repo). Agents read; they don't assume.
32
- - **Watch for regressions.** A fix can break something - the red-team lens and the
33
- fresh re-audit exist to catch it (e.g. a broadened check that now false-positives).
34
- - **clearsBar gates the merge.** Don't merge with an open blocker/major.
35
-
36
- ## Lenses - pick the set for the task
37
- One distinct lens per agent (+ a synthesizer). Two ready-made sets:
38
-
39
- **General skill audit** - discovery · leanness · shape/layer · scripts · accuracy-vs-source · domain-correctness · wiring · boundaries · red-team → synthesis.
40
-
41
- **Prompt-engineering audit** (when the concern is *prompt quality* - descriptions,
42
- instructions, triggering):
43
- 1. **description-as-discovery** - what + when + trigger words + example; would it activate on a real task?
44
- 2. **disambiguation** - distinct from siblings; a reader can tell when to pick this vs a neighbor.
45
- 3. **trigger coverage** - the real user phrasings (and synonyms) are covered.
46
- 4. **instruction clarity** - steps are unambiguous, ordered, single-interpretation; no vague directives.
47
- 5. **degrees of freedom / layer fit** - reference=descriptive (no numbered procedure), workflow=spine, tool=thin-index; freedom matches the task.
48
- 6. **progressive disclosure / leanness** - SKILL.md is an index; detail bundled one level deep; no duplication.
49
- 7. **token efficiency** - every line is load-bearing; nothing restates what the model already knows.
50
- 8. **consistency** - terminology, naming, paths, cross-references, examples all agree.
51
- 9. **anti-patterns / misfire** - would the model over-apply it, skip a gate, hallucinate a path, or follow it into a wrong output?
52
- 10. **red-team** - adversarially try to make it not trigger, trigger wrongly, or produce broken output; hunt overclaims (says X, the script doesn't).
53
-
54
- Scale the panel to risk: a quick check is ~3 lenses; a thorough gate is ~10.
55
-
56
- ## Scope of fixes per round
57
- Fix **blockers + majors** always; fold in **cheap, high-value minors** while you're
58
- in the file. Defer speculative nits and pre-existing/out-of-scope drift to the
59
- "later" list (and `log()`/note them - don't silently drop coverage).
1
+ # Multi-architect audit
2
+
3
+ The checklist is what one author catches alone. The audit adds a panel of independent, read-only reviewers, each looking through one lens, and a synthesizer that turns their output into a decision. New skills and substantial changes go through it before merge.
4
+
5
+ ## The loop
6
+
7
+ 1. **Panel.** Every lens reviews the skill and returns findings, each with a severity, a `file:location`, the problem and a concrete fix. A clean lens returns an empty list.
8
+ 2. **Synthesis.** One agent merges duplicates, opens the real files to discard false positives, classifies the rest as blocker, major, minor or nit, and sets `clearsBar` to true only when no blocker and no major is left.
9
+ 3. **Fix.** If the bar is not cleared, apply the do-now set and start a **new** panel.
10
+ 4. **Stop** once `clearsBar` is true. Remaining nits are optional polish.
11
+
12
+ ### What to fix in a round
13
+
14
+ - Always: every blocker and every major.
15
+ - Also, when cheap and clearly valuable: minors.
16
+ - Later, on a written list: speculative nits and drift that was already there or sits outside this change. Record them; never drop them silently.
17
+
18
+ ## Rules that keep the result trustworthy
19
+
20
+ - **Fresh panel every round.** Cached results describe the files as they were; a resumed run audits the old version.
21
+ - **Verify before keeping.** Each finding is checked against the file before it counts. Prefer findings that cite a line and a way to reproduce.
22
+ - **Give the panel ground truth:** the rubric (skill-creator SKILL.md plus checklist.md), an exemplar skill of the same layer, and the actual source the skill describes.
23
+ - **Watch the fixes.** A fix can break something else. The red-team lens and the fresh re-audit are there to catch that.
24
+ - **`clearsBar` gates the merge.**
25
+
26
+ ## Lens sets
27
+
28
+ Scale the panel to the risk: about three lenses for a quick check, about ten for a full gate.
29
+
30
+ ### General
31
+
32
+ discovery, leanness, shape and layer, scripts, accuracy against the source, domain correctness, wiring, boundaries, red team, then synthesis.
33
+
34
+ ### Prompt engineering (the script's default ten)
35
+
36
+ | Lens | Asks |
37
+ |---|---|
38
+ | discovery | Does the description alone get the skill loaded? |
39
+ | disambiguation | Could it be confused with a sibling? |
40
+ | triggers | Which real phrasings and synonyms are missing? |
41
+ | clarity | Is every instruction unambiguous and actionable? |
42
+ | layer | Does the degree of freedom fit the declared layer? |
43
+ | leanness | Is SKILL.md an index with detail one level down? |
44
+ | tokens | Which lines fail the cut test? |
45
+ | consistency | Do terms, names, paths, cross-references and examples agree? |
46
+ | misfire | Where would it over-apply, skip its gate, invent a path, or produce the wrong output? |
47
+ | redteam | Make it fail to trigger, trigger wrongly, or break its output; find prose that claims what the script does not do. |
48
+
49
+ ## Running it with the script
50
+
51
+ `scripts/audit-panel.js` is a Workflow-tool template (workflow name `skill-audit-panel`, phases Audit and Synthesis). It takes no arguments; edit its config block first:
52
+
53
+ | Constant | Set to |
54
+ |---|---|
55
+ | `TARGET` | absolute paths of the SKILL.md and each bundled file and script |
56
+ | `RUBRIC` | path to skill-creator's SKILL.md plus checklist.md |
57
+ | `EXEMPLAR` | a known-good skill of the same layer |
58
+ | `GROUND_TRUTH` | the real source the skill documents, with the key facts to check |
59
+ | `LENSES` | label and brief pairs; defaults to the ten above |
60
+
61
+ It runs one agent per lens in parallel (labelled `audit:<lens>`), tags each finding with its lens, and hands them all to a `synthesis` agent. The result is `{ remaining, clearsBar, verdict }`: the surviving findings with the lenses that raised them, the gate boolean, and a one-paragraph verdict.
62
+
63
+ After applying fixes, launch it again as a new run. Do not resume the old one; resumed agents return cached results.
@@ -1,32 +1,40 @@
1
1
  # Pre-ship checklist
2
2
 
3
- Run before considering a skill done.
3
+ The floor for every skill. New or substantially changed skills also go through the audit loop in audit.md.
4
4
 
5
5
  ## Discovery
6
- - [ ] `description` says **what + when + trigger words**, third person, and names the platform (iOS/SwiftUI).
7
- - [ ] Description disambiguates from sibling skills (a reader can tell when to pick this vs a neighbor).
8
- - [ ] Tested: in a fresh task that should trigger it, does the model actually reach for it? If not, sharpen the description.
6
+
7
+ - [ ] The description says what the skill does, when to use it, and lists trigger phrases, in third person.
8
+ - [ ] It names the platform where that matters.
9
+ - [ ] It separates this skill from its siblings.
10
+ - [ ] Tried on a new task it ought to catch, the skill really fires.
9
11
 
10
12
  ## Leanness
11
- - [ ] `SKILL.md` reads like an index, ~1 page (hard cap ~500 lines).
12
- - [ ] Detail lives in bundled files **one level deep** - no nested-deeper references.
13
- - [ ] Every line survives "would Claude err without this?" - no over-explaining, no restating what the model knows.
14
- - [ ] Deterministic code is a **script**, not prose asking the model to regenerate it.
13
+
14
+ - [ ] SKILL.md is roughly one page and works as an index, far below the 500-line cap.
15
+ - [ ] Detail lives in bundled files exactly one level below SKILL.md.
16
+ - [ ] Every line passes the cut test.
17
+ - [ ] Anything deterministic ships as a script instead of prose the model must re-derive.
15
18
 
16
19
  ## Shape
17
- - [ ] Layer is explicit (reference or workflow) and matches the content.
18
- - [ ] **Reference** skill has **no numbered procedures** - heuristics + pointers only.
19
- - [ ] **Workflow** skill's numbered steps are **only** the deterministic/irreversible spine, and it has a **verification gate**.
20
- - [ ] Conventions **point to canonical files** rather than pasting code that will rot.
21
20
 
22
- ## Naming & wiring
23
- - [ ] Name has **no platform prefix**; reference = aspect noun, workflow = verb-phrase; not vague/reserved.
24
- - [ ] Registered in the plugin manifest (`<plugin>/.claude-plugin/plugin.json` `skills` array) and the marketplace version bumped (`.github/plugin/marketplace.json`).
25
- - [ ] Listed in the `index` skill's route table.
21
+ - [ ] The layer is declared and the content matches it.
22
+ - [ ] Numbered procedures never appear in a reference skill.
23
+ - [ ] A workflow skill's steps are only the deterministic spine, and it ends in a verification gate.
24
+ - [ ] Conventions point at canonical files instead of pasting code that will go stale.
25
+
26
+ ## Naming and wiring
27
+
28
+ - [ ] No platform prefix; noun for reference, verb phrase for workflow; not vague, not reserved.
29
+ - [ ] Registered in the `skills` array of `<plugin>/.claude-plugin/plugin.json`.
30
+ - [ ] Plugin version bumped in `.github/plugin/marketplace.json`.
31
+ - [ ] A row in the plugin's `index` skill route table.
26
32
 
27
33
  ## House rules
28
- - [ ] No AI/Claude/Anthropic attribution anywhere in the skill or its examples.
29
- - [ ] Escape hatches name the skill to hand off to when this one doesn't apply.
30
34
 
31
- ## High-confidence gate (new / substantially-changed skills)
32
- - [ ] Ran the multi-architect audit ([audit.md](audit.md)) and looped fix → re-audit until `clearsBar` (no blockers/majors).
35
+ - [ ] Neither the skill nor its examples carry AI, Claude or Anthropic attribution.
36
+ - [ ] Each escape hatch says which skill takes over.
37
+
38
+ ## Confidence gate
39
+
40
+ - [ ] New or substantially changed: the multi-architect audit ran, fixes were applied, and a fresh panel returned `clearsBar: true`.
@@ -1,65 +1,65 @@
1
- # Examples - descriptions & shape
1
+ # Examples
2
2
 
3
- ## Descriptions: the discovery lever
3
+ ## Descriptions
4
+
5
+ ### Weak
4
6
 
5
- **Bad (vague - rarely triggers):**
6
7
  ```yaml
7
- description: Helps with navigation
8
+ description: Helps with navigation stuff.
8
9
  ```
9
- Why it fails: no "when", no trigger words, no platform - the router can't tell what task this matches.
10
10
 
11
- **Good (what + when + triggers + platform):**
11
+ No situation, no trigger words, no platform. The router has nothing to match a request against, so the skill stays unloaded.
12
+
13
+ ### Strong, reference layer
14
+
12
15
  ```yaml
13
- description: "In-app navigation for a SwiftUI iOS app - the coordinator-per-domain pattern, the tab shell, cross-domain navigation, deep links, and modals. Reach for this when adding a screen, a tab, a deep link, or a modal, or deciding how one screen reaches another."
16
+ description: "Navigation for iOS / SwiftUI: NavigationStack paths, tab structure, deep links, sheets and full-screen modals, and where routing state lives. Use when adding a screen, a tab or a deep link, presenting a modal, or debugging a push that does nothing. Triggers: 'add a new screen', 'open this from a deep link', 'present as a sheet'."
14
17
  ```
15
- Why it works: states the domain, lists concrete triggers ("adding a screen, a tab, a deep link"), names the platform, and implies the boundary.
16
18
 
17
- **Workflow example (action + when to run):**
19
+ Coverage, concrete situations, the platform, and quoted phrases a developer would type. The domain words keep it apart from sibling skills on state or overlays.
20
+
21
+ ### Strong, workflow layer
22
+
18
23
  ```yaml
19
- description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails - type-first branch names, no AI attribution, no force-push, correct base branch. Reach for this whenever a change is ready to ship."
24
+ description: "Creates a branch, commits, pushes and opens a pull request with the house guardrails: type-first branch names, conventional commit messages with no AI attribution, never a force push, and the correct base branch. Use when work is ready to ship. Triggers: 'open a PR', 'commit and push this', 'create a branch for this ticket'."
20
25
  ```
21
26
 
22
- ### Recipe
23
- `<what it covers/does> + <concrete when/trigger phrases> + <platform> + <implied boundary vs siblings>`
27
+ States the action, the guardrails that make it safe, when it applies, and how users ask for it.
24
28
 
25
- ---
29
+ ## Layer shape
26
30
 
27
- ## Shape: reference vs workflow
31
+ ### Wrong: a reference skill written as keystrokes
28
32
 
29
- **Wrong - a reference skill drifting into a procedure:**
30
33
  ```markdown
31
- ## Procedures
32
- 1. Open the file
33
- 2. Add the wrapper
34
- 3. Register the route
35
- 4. Build and run
34
+ ## Adding a tab
35
+ 1. Open AppTabView.swift.
36
+ 2. Add a case to the Tab enum.
37
+ 3. Add a .tabItem block under the last one.
38
+ 4. Build.
36
39
  ```
37
- A reference (knowledge) skill should describe *the rule and where the canonical example lives*, not script the keystrokes.
38
40
 
39
- **Right - reference stays descriptive:**
41
+ A reference skill describes; it does not dictate. These steps go stale the first time the file changes.
42
+
43
+ ### Right: the rule plus where to look
44
+
40
45
  ```markdown
41
- ## Decision rules
42
- - New screen in a domain → add `<Name>Screen` under its Presentation layer,
43
- wrap content in the domain's container, route via the domain coordinator.
44
- Canonical: `<repo>/Features/Profile/ProfileScreen.swift`.
46
+ ## Conventions
47
+ - Tabs are cases of the root `Tab` enum; each case owns its own navigation path.
48
+ Canonical file: `App/Sources/AppTabView.swift`.
45
49
  ```
46
50
 
47
- **Right - workflow earns its numbered steps** (deterministic/irreversible spine):
51
+ ### Right: a workflow that earns its steps
52
+
48
53
  ```markdown
49
54
  ## Procedures
50
- 1. Pre-flight: `git status` clean? on base branch?
51
- 2. Branch: `git checkout -b <type>/<scope>/<desc>`
52
- 3. Commit: stage; conventional message; strip any AI co-author trailer.
53
- 4. Push; never force-push a protected branch.
54
- 5. PR: `gh pr create --base <base> ...` (no AI footer).
55
+ 1. Pre-flight: `git status` is clean and the base branch is correct.
56
+ 2. Create `{type}/{scope}-{short-description}`.
57
+ 3. Commit with a conventional message; strip any AI co-author trailer.
58
+ 4. Push without `--force`; never to a protected branch.
59
+ 5. `gh pr create --base {base}` with no AI footer in the body.
60
+
55
61
  ## Verification
56
- - `git log -1` shows clean message, no AI trailer, correct author.
62
+ - `git log -1` shows a clean message, no AI trailer, and the expected author.
57
63
  ```
58
64
 
59
- ---
60
-
61
- ## Leanness: cut what the model already knows
62
-
63
- **Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format..."
64
-
65
- **Lean:** "Extract text from PDFs with `pdfplumber`."
65
+ Every step is deterministic or irreversible, and the skill proves its result before it finishes.
@@ -1,43 +1,55 @@
1
- # Label intent check - does a title carry its own meaning?
1
+ # Label check
2
2
 
3
- A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape - ambiguous, one-sided, or off-topic - the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.
3
+ A reader forms a model of a rule from its label before reading the body. If the label points the wrong way (ambiguous, covering only one side, or about something adjacent), that wrong model sticks. This test measures what a label actually conveys by asking agents that never see the body.
4
4
 
5
5
  ## When to run it
6
- - Naming a **strict rule** or constraint inside a skill (the kind a reader must obey).
7
- - A **section header** that gates non-trivial content (phase/principle/constraint names).
8
- - Any label meant to convey the **whole intent** of its body (not a summary - the intent).
9
- - Skip it for purely organizational labels ("Examples", "See also") - they carry no intent.
10
-
11
- ## Inputs (collect first)
12
- 1. **Candidate label** - the exact string under test.
13
- 2. **Surrounding context** - one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
14
- 3. **Intended meaning** - 1-3 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear - fix that first.
15
-
16
- ## Procedure
17
- **One iteration = 5 parallel subagents**, each given ONLY the label + context (never the body), each forced to commit:
18
- ```
19
- Context: <surrounding context - 1 paragraph>.
20
- The label under test is: **"<candidate label>"**
21
- You have NOT seen the body. From ONLY this label + context, what do you infer it
22
- enforces / requires / means? 1-2 concrete sentences, under 80 words. Commit - no
23
- hedging, no clarifying questions.
24
- ```
25
- Launch all 5 in the **same** message (parallel) so they're independent by construction.
26
-
27
- **Convergence (per iteration), comparing the 5 inferences to the intended meaning:**
28
- - **PASS** - ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
29
- - **PARTIAL** - they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
30
- - **FAIL** - inferences diverge wildly or miss the core beat. Revise, re-run.
31
-
32
- **Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss - confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.
33
-
34
- **Termination:** converged (3/3 PASS) → apply the label. 3 iterations without a PASS → stop, hand back the best candidate + the persistent miss; don't force a label that won't stick.
6
+
7
+ - Names of strict rules and constraints.
8
+ - Section headers that gate non-trivial content.
9
+ - Any label that is meant to carry the whole intent on its own, including top-level skill names.
10
+
11
+ Purely organisational headers ("Examples", "Setup") do not need it.
12
+
13
+ ## Inputs
14
+
15
+ 1. The candidate label.
16
+ 2. One paragraph of the surrounding context, as a reader would meet it.
17
+ 3. The intended meaning in one to three sentences. This stays with you; the agents never see it. If you cannot state it in three sentences, fix the body before testing the label.
18
+
19
+ ## A round
20
+
21
+ Launch five subagents **in one message**, so none anchors on another. Each receives only the label and the context paragraph, never the body, and is told to commit to what the label means in one or two sentences, under 80 words, with no hedging and no questions back.
22
+
23
+ ## Grading
24
+
25
+ | Grade | Condition | Next |
26
+ |---|---|---|
27
+ | PASS | At least 4 of 5 inferences cover every key beat of the intent, including the bidirectional, edge or scope beat. Different wording is fine. | Idempotency rounds |
28
+ | PARTIAL | The inferences consistently catch one side of a two-sided rule, or stretch into a neighbouring concern. | Revise, run again |
29
+ | FAIL | Inferences diverge, or miss the core beat. | Revise, run again |
30
+
31
+ ## Idempotency
32
+
33
+ After a first PASS, run two more rounds with five fresh agents each: 15 inferences in total. All three rounds must pass with no new systematic miss. A later round that regresses counts as PARTIAL.
34
+
35
+ ## Stopping
36
+
37
+ - Three of three rounds pass: apply the label.
38
+ - Three revisions without a PASS: stop, and hand back the best candidate together with the miss that kept recurring.
35
39
 
36
40
  ## Defaults
37
- 5 agents/round · 3 rounds · 80-word inference cap · max 3 iterations before handing back. High-stakes labels (top-level skill names, protocol names) → 7 agents × 3 rounds; throwaway section headers → 3 × 2.
41
+
42
+ | Stakes | Agents | Rounds |
43
+ |---|---|---|
44
+ | normal | 5 | 3 |
45
+ | high (top-level skill names, protocol names) | 7 | 3 |
46
+ | throwaway header | 3 | 2 |
47
+
48
+ Word cap 80; at most 3 revision iterations.
38
49
 
39
50
  ## Anti-patterns
40
- - **Giving agents the body** - defeats the test (you're checking the label's *self-carrying* power).
41
- - **Running sequentially** - they'd anchor on each other; must be parallel.
42
- - **Tweaking one word on a FAIL** - step back and rethink the concept the label names, don't polish a wrong handle.
43
- - **Accepting "mostly right"** - a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
51
+
52
+ - Showing the agents the body. That tests the body, not the label.
53
+ - Running agents one after another; later ones anchor on earlier answers.
54
+ - Changing one word after a FAIL. A FAIL means the concept behind the label is off; rethink it.
55
+ - Accepting "mostly right". For a one-sided result, either fix the label or split the rule so each part has a label that fits.