@mmerterden/multi-agent-pipeline 20.8.0 → 20.8.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.
- package/CHANGELOG.md +12 -0
- package/docs/facts.json +1 -1
- package/manifest.json +63 -62
- package/package.json +2 -2
- package/pipeline/lib/redact.mjs +3 -2
- package/pipeline/scripts/gen-skills-index.mjs +13 -1
- package/pipeline/scripts/pre-commit-check.sh +4 -0
- package/pipeline/skills/.skill-manifest.json +21 -21
- package/pipeline/skills/shared/README.md +64 -64
- package/pipeline/skills/shared/external/alarmkit/SKILL.md +2 -2
- package/pipeline/skills/shared/external/alarmkit/evals/evals.json +2 -2
- package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +6 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +3 -0
- package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +3 -0
- package/pipeline/skills/shared/external/app-store-review/SKILL.md +3 -4
- package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +5 -3
- package/pipeline/skills/shared/external/authentication/SKILL.md +29 -17
- package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +3 -1
- package/pipeline/skills/shared/external/background-processing/SKILL.md +10 -8
- package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +7 -7
- package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +4 -2
- package/pipeline/skills/shared/external/core-data/SKILL.md +12 -2
- package/pipeline/skills/shared/external/coreml/SKILL.md +1 -1
- package/pipeline/skills/shared/external/cryptokit/SKILL.md +1 -1
- package/pipeline/skills/shared/external/device-integrity/SKILL.md +11 -5
- package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +3 -3
- package/pipeline/skills/shared/external/localization-reuse-map/example-mapping.json +1 -1
- package/pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md +8 -7
- package/pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md +2 -2
- package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +5 -2
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/_shared.py +100 -0
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-artifact.py +45 -26
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/build-spreadsheet.py +14 -16
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-annotations.py +12 -5
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-legacy-labels.py +2 -1
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/publish-confluence.py +6 -5
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py +44 -18
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py +5 -2
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +10 -11
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py +4 -33
- package/pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py +12 -59
- package/pipeline/skills/shared/external/mapkit-location/SKILL.md +4 -2
- package/pipeline/skills/shared/external/skill-creator/template.md +7 -1
- package/pipeline/skills/shared/external/storekit/references/core-patterns.md +6 -1
- package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +3 -2
- package/pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md +1 -1
- package/pipeline/skills/shared/external/swift-security/SKILL.md +10 -8
- package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +8 -5
- package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +13 -9
- package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +7 -6
- package/pipeline/skills/shared/external/swift-testing/SKILL.md +8 -5
- package/pipeline/skills/shared/external/swift-testing/evals/evals.json +1 -1
- package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +3 -2
- package/pipeline/skills/shared/external/swiftdata/SKILL.md +5 -3
- package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +17 -9
- package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +4 -2
- package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +13 -6
- package/pipeline/skills/shared/external/weatherkit/SKILL.md +8 -5
- package/pipeline/skills/shared/external/widgetkit/SKILL.md +15 -7
- package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +8 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"generatedAt": "2026-09-26T20:19:12Z",
|
|
4
4
|
"skillCount": 218,
|
|
5
5
|
"entries": [
|
|
6
6
|
{
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
},
|
|
270
270
|
{
|
|
271
271
|
"path": "shared/external/alarmkit/SKILL.md",
|
|
272
|
-
"sha256": "
|
|
272
|
+
"sha256": "ce285a6e95d03e3bc2f5c3150822e6ee2d07a4b629b81e8c0df81e6840161cb9"
|
|
273
273
|
},
|
|
274
274
|
{
|
|
275
275
|
"path": "shared/external/android-architecture/SKILL.md",
|
|
@@ -325,15 +325,15 @@
|
|
|
325
325
|
},
|
|
326
326
|
{
|
|
327
327
|
"path": "shared/external/app-store-optimization/SKILL.md",
|
|
328
|
-
"sha256": "
|
|
328
|
+
"sha256": "6015dd7b4c8661e23b677c53c391a3e39116fee2ad6b2b031b3d310eef4a3e2b"
|
|
329
329
|
},
|
|
330
330
|
{
|
|
331
331
|
"path": "shared/external/app-store-review/SKILL.md",
|
|
332
|
-
"sha256": "
|
|
332
|
+
"sha256": "0b77f648fd2d54e991f1c25540629f0a7d4fd2a1b30de7f8aaf07331b93963ea"
|
|
333
333
|
},
|
|
334
334
|
{
|
|
335
335
|
"path": "shared/external/apple-on-device-ai/SKILL.md",
|
|
336
|
-
"sha256": "
|
|
336
|
+
"sha256": "a86a4032c158cdf5523009e332618c0e460a70fe695be99fed8c8767a69afff8"
|
|
337
337
|
},
|
|
338
338
|
{
|
|
339
339
|
"path": "shared/external/architecture/SKILL.md",
|
|
@@ -341,7 +341,7 @@
|
|
|
341
341
|
},
|
|
342
342
|
{
|
|
343
343
|
"path": "shared/external/authentication/SKILL.md",
|
|
344
|
-
"sha256": "
|
|
344
|
+
"sha256": "4d3da49257432d30196b9970721f801524a7cdce4e6ddcaefc4fe31832a49157"
|
|
345
345
|
},
|
|
346
346
|
{
|
|
347
347
|
"path": "shared/external/avkit/SKILL.md",
|
|
@@ -349,7 +349,7 @@
|
|
|
349
349
|
},
|
|
350
350
|
{
|
|
351
351
|
"path": "shared/external/background-processing/SKILL.md",
|
|
352
|
-
"sha256": "
|
|
352
|
+
"sha256": "876516478a6019297b886f754e2ec59e96bc73419cfff753dc7bdc7a4336b6e9"
|
|
353
353
|
},
|
|
354
354
|
{
|
|
355
355
|
"path": "shared/external/backlog/SKILL.md",
|
|
@@ -393,11 +393,11 @@
|
|
|
393
393
|
},
|
|
394
394
|
{
|
|
395
395
|
"path": "shared/external/core-bluetooth/SKILL.md",
|
|
396
|
-
"sha256": "
|
|
396
|
+
"sha256": "3b7b41c7287cb86ee3c5bc477952c659fddbf050ceefbad95ab8a95ff15750be"
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
"path": "shared/external/core-data/SKILL.md",
|
|
400
|
-
"sha256": "
|
|
400
|
+
"sha256": "c232488bc3de3542b25a8b40ba7da648a1c16b8fd467ade21dbde28620ab2c26"
|
|
401
401
|
},
|
|
402
402
|
{
|
|
403
403
|
"path": "shared/external/core-motion/SKILL.md",
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
},
|
|
410
410
|
{
|
|
411
411
|
"path": "shared/external/coreml/SKILL.md",
|
|
412
|
-
"sha256": "
|
|
412
|
+
"sha256": "b5f3fdf161a2bd2ab839a52093f0cb99c2c3026211e48a7d13dbab712e11b255"
|
|
413
413
|
},
|
|
414
414
|
{
|
|
415
415
|
"path": "shared/external/council/SKILL.md",
|
|
@@ -417,7 +417,7 @@
|
|
|
417
417
|
},
|
|
418
418
|
{
|
|
419
419
|
"path": "shared/external/cryptokit/SKILL.md",
|
|
420
|
-
"sha256": "
|
|
420
|
+
"sha256": "419f46a3058145f48e1f38e56741dc8074441132a1834812a6d9ad020e1c2c7e"
|
|
421
421
|
},
|
|
422
422
|
{
|
|
423
423
|
"path": "shared/external/css-modern/SKILL.md",
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
},
|
|
438
438
|
{
|
|
439
439
|
"path": "shared/external/device-integrity/SKILL.md",
|
|
440
|
-
"sha256": "
|
|
440
|
+
"sha256": "9d8c39c65f7b5918c25c7ef3dd438fe62901e61ecc6fa2d7ecbd7c9a0fcfa4c0"
|
|
441
441
|
},
|
|
442
442
|
{
|
|
443
443
|
"path": "shared/external/docker-expert/SKILL.md",
|
|
@@ -569,7 +569,7 @@
|
|
|
569
569
|
},
|
|
570
570
|
{
|
|
571
571
|
"path": "shared/external/localization-reuse-map/SKILL.md",
|
|
572
|
-
"sha256": "
|
|
572
|
+
"sha256": "ee6d437ed7ea18111074797532376d7bc09419eb3cfef6d8dde5679592457903"
|
|
573
573
|
},
|
|
574
574
|
{
|
|
575
575
|
"path": "shared/external/macos-menubar-tuist-app/SKILL.md",
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
},
|
|
582
582
|
{
|
|
583
583
|
"path": "shared/external/mapkit-location/SKILL.md",
|
|
584
|
-
"sha256": "
|
|
584
|
+
"sha256": "d6be293b79f2e0e3312db441c7c315779b7f345cea3c264508bfbf76f49e79ef"
|
|
585
585
|
},
|
|
586
586
|
{
|
|
587
587
|
"path": "shared/external/metrickit-diagnostics/SKILL.md",
|
|
@@ -721,7 +721,7 @@
|
|
|
721
721
|
},
|
|
722
722
|
{
|
|
723
723
|
"path": "shared/external/swift-concurrency/SKILL.md",
|
|
724
|
-
"sha256": "
|
|
724
|
+
"sha256": "428a7e31167e98ef300d0c000afda438bfdd7853793571ab4d1d05623e6d4383"
|
|
725
725
|
},
|
|
726
726
|
{
|
|
727
727
|
"path": "shared/external/swift-formatstyle/SKILL.md",
|
|
@@ -733,7 +733,7 @@
|
|
|
733
733
|
},
|
|
734
734
|
{
|
|
735
735
|
"path": "shared/external/swift-security/SKILL.md",
|
|
736
|
-
"sha256": "
|
|
736
|
+
"sha256": "0358e6b23ec268c51bf34d9341a80150746d2cbe7f9e4159de5133442a1b0d2e"
|
|
737
737
|
},
|
|
738
738
|
{
|
|
739
739
|
"path": "shared/external/swift-testing-pro/SKILL.md",
|
|
@@ -741,7 +741,7 @@
|
|
|
741
741
|
},
|
|
742
742
|
{
|
|
743
743
|
"path": "shared/external/swift-testing/SKILL.md",
|
|
744
|
-
"sha256": "
|
|
744
|
+
"sha256": "bed2911b41450d88b77cc913648ea421d99d7c167fb49f4c8bcf54b580952c29"
|
|
745
745
|
},
|
|
746
746
|
{
|
|
747
747
|
"path": "shared/external/swiftdata-pro/SKILL.md",
|
|
@@ -749,7 +749,7 @@
|
|
|
749
749
|
},
|
|
750
750
|
{
|
|
751
751
|
"path": "shared/external/swiftdata/SKILL.md",
|
|
752
|
-
"sha256": "
|
|
752
|
+
"sha256": "5fa27f7d9c0997acc5959ad811aa4b49ccbd34d62b5237556e1ffaa650447163"
|
|
753
753
|
},
|
|
754
754
|
{
|
|
755
755
|
"path": "shared/external/swiftlint/SKILL.md",
|
|
@@ -777,7 +777,7 @@
|
|
|
777
777
|
},
|
|
778
778
|
{
|
|
779
779
|
"path": "shared/external/swiftui-navigation/SKILL.md",
|
|
780
|
-
"sha256": "
|
|
780
|
+
"sha256": "422a6c0b680d422af731474a9b03d141ef04e1f16359ce25a3ba22780f2bf1c2"
|
|
781
781
|
},
|
|
782
782
|
{
|
|
783
783
|
"path": "shared/external/swiftui-patterns/SKILL.md",
|
|
@@ -837,7 +837,7 @@
|
|
|
837
837
|
},
|
|
838
838
|
{
|
|
839
839
|
"path": "shared/external/weatherkit/SKILL.md",
|
|
840
|
-
"sha256": "
|
|
840
|
+
"sha256": "db8a11fc9c572c6d9754c031ad97a868c5d0e6748855d90b72a2aeb44e2d4255"
|
|
841
841
|
},
|
|
842
842
|
{
|
|
843
843
|
"path": "shared/external/web-accessibility/SKILL.md",
|
|
@@ -853,7 +853,7 @@
|
|
|
853
853
|
},
|
|
854
854
|
{
|
|
855
855
|
"path": "shared/external/widgetkit/SKILL.md",
|
|
856
|
-
"sha256": "
|
|
856
|
+
"sha256": "d4bce1c362e57616b252304414cfd01354586c7ed0be6c22f61efcc0980e26b0"
|
|
857
857
|
},
|
|
858
858
|
{
|
|
859
859
|
"path": "shared/external/xcode-build-benchmark/SKILL.md",
|
|
@@ -95,27 +95,27 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
95
95
|
| Skill | Group | Description |
|
|
96
96
|
|-------|-------|-------------|
|
|
97
97
|
| [`accessibility-compliance-accessibility-audit`](./external/accessibility-compliance-accessibility-audit/) | `external` | WCAG 2.2 AA audit process for web, iOS and Android: scope, automated scans, screen-reader and keyboard checks, severity, report, retest. Use |
|
|
98
|
-
| [`alarmkit`](./external/alarmkit/) | `external` | AlarmKit alarms and countdown timers on iOS and iPadOS 26: AlarmManager scheduling and authorization, AlarmAttributes, AlarmPresentation
|
|
99
|
-
| [`app-clips`](./external/app-clips/) | `external` |
|
|
100
|
-
| [`app-intents`](./external/app-intents/) | `external` |
|
|
98
|
+
| [`alarmkit`](./external/alarmkit/) | `external` | AlarmKit alarms and countdown timers on iOS and iPadOS 26: AlarmManager scheduling and authorization, AlarmAttributes, AlarmPresentation, Al |
|
|
99
|
+
| [`app-clips`](./external/app-clips/) | `external` | iOS App Clips: target setup, invocation from NFC, App Clip Codes, QR, Messages, Maps and Safari banners, App Store Connect experiences, size |
|
|
100
|
+
| [`app-intents`](./external/app-intents/) | `external` | App Intents for Siri, Shortcuts, Spotlight, widgets, Control Center and Apple Intelligence: AppIntent actions, AppEntity and EntityQuery, Ap |
|
|
101
101
|
| [`app-store-changelog`](./external/app-store-changelog/) | `external` | Generate user-facing App Store release notes from git history since the last tag. Use when release notes have to be written from the commits |
|
|
102
|
-
| [`app-store-optimization`](./external/app-store-optimization/) | `external` | App Store Optimization (ASO) for ranking and conversion: keyword research;
|
|
102
|
+
| [`app-store-optimization`](./external/app-store-optimization/) | `external` | App Store Optimization (ASO) for ranking and conversion: keyword research; app name, subtitle and 100-byte keyword field; description and pr |
|
|
103
103
|
| [`app-store-review`](./external/app-store-review/) | `external` | App Store submission readiness and rejection prevention: Review Guidelines 2.1, 2.3, 2.5.1, 3.1.1, 4.2 and 5.1.2, PrivacyInfo.xcprivacy mani |
|
|
104
|
-
| [`apple-on-device-ai`](./external/apple-on-device-ai/) | `external` |
|
|
105
|
-
| [`authentication`](./external/authentication/) | `external` |
|
|
106
|
-
| [`background-processing`](./external/background-processing/) | `external` |
|
|
107
|
-
| [`callkit-voip`](./external/callkit-voip/) | `external` | CallKit and PushKit VoIP calling
|
|
108
|
-
| [`cloudkit-sync`](./external/cloudkit-sync/) | `external` |
|
|
109
|
-
| [`contacts-framework`](./external/contacts-framework/) | `external` |
|
|
110
|
-
| [`core-bluetooth`](./external/core-bluetooth/) | `external` | Direct
|
|
111
|
-
| [`core-motion`](./external/core-motion/) | `external` |
|
|
112
|
-
| [`core-nfc`](./external/core-nfc/) | `external` | Core NFC on iPhone: reading and writing
|
|
113
|
-
| [`coreml`](./external/coreml/) | `external` | Swift-side Core ML
|
|
114
|
-
| [`device-integrity`](./external/device-integrity/) | `external` |
|
|
115
|
-
| [`energykit`](./external/energykit/) | `external` |
|
|
116
|
-
| [`eventkit-calendar`](./external/eventkit-calendar/) | `external` | EventKit and EventKitUI
|
|
104
|
+
| [`apple-on-device-ai`](./external/apple-on-device-ai/) | `external` | On-device AI on Apple hardware: Foundation Models (SystemLanguageModel, LanguageModelSession, @Generable and @Guide structured output, tool |
|
|
105
|
+
| [`authentication`](./external/authentication/) | `external` | iOS sign-in with AuthenticationServices and LocalAuthentication: Sign in with Apple, passkey (WebAuthn) sign-up and login via ASAuthorizatio |
|
|
106
|
+
| [`background-processing`](./external/background-processing/) | `external` | iOS background work with BGTaskScheduler: BGAppRefreshTask short fetches, BGProcessingTask long maintenance, BGContinuedProcessingTask (iOS |
|
|
107
|
+
| [`callkit-voip`](./external/callkit-voip/) | `external` | CallKit and PushKit VoIP calling: CXProvider and CXCallController, incoming and outgoing call flows, call actions, VoIP push registration an |
|
|
108
|
+
| [`cloudkit-sync`](./external/cloudkit-sync/) | `external` | CloudKit and iCloud sync on iOS and macOS: CKContainer public, private and shared databases, CKRecord, CKQuery, CKSubscription, CKSyncEngine |
|
|
109
|
+
| [`contacts-framework`](./external/contacts-framework/) | `external` | Contacts and ContactsUI: CNContactStore authorization and limited access, fetch and save requests, creating, updating and deleting contacts, |
|
|
110
|
+
| [`core-bluetooth`](./external/core-bluetooth/) | `external` | Direct BLE with Core Bluetooth: central and peripheral GATT communication, CBCentralManager scanning and connecting, service and characteris |
|
|
111
|
+
| [`core-motion`](./external/core-motion/) | `external` | Core Motion on iOS and watchOS: accelerometer, gyroscope, magnetometer, fused device motion and reference frames, CMPedometer steps, distanc |
|
|
112
|
+
| [`core-nfc`](./external/core-nfc/) | `external` | Core NFC on iPhone: reading and writing NDEF tags, ISO7816, ISO15693, FeliCa and MIFARE access, reader session lifecycle, NFC entitlement an |
|
|
113
|
+
| [`coreml`](./external/coreml/) | `external` | Swift-side Core ML: loading .mlmodel, .mlpackage and .mlmodelc, predictions via generated classes and MLFeatureProvider, compute units, asyn |
|
|
114
|
+
| [`device-integrity`](./external/device-integrity/) | `external` | DeviceCheck and App Attest: DCDevice tokens and per-device bits, DCAppAttestService key generation, attestation and assertions. Use when add |
|
|
115
|
+
| [`energykit`](./external/energykit/) | `external` | EnergyKit on iOS 26: grid electricity forecasts via ElectricityGuidance, EnergyVenue, EV and HVAC load events, ElectricityInsightService his |
|
|
116
|
+
| [`eventkit-calendar`](./external/eventkit-calendar/) | `external` | EventKit and EventKitUI: adding events to the user's calendar, creating reminders, recurrence rules, calendar or reminders access, event edi |
|
|
117
117
|
| [`firebase`](./external/firebase/) | `external` | You're a developer who has shipped dozens of Firebase projects. You've seen the easy path lead to security breaches, runaway costs, and impo |
|
|
118
|
-
| [`healthkit`](./external/healthkit/) | `external` |
|
|
118
|
+
| [`healthkit`](./external/healthkit/) | `external` | HealthKit on iOS, iPadOS, watchOS and visionOS: HKHealthStore authorization, sample, statistics and chart-ready collection queries, saving H |
|
|
119
119
|
| [`hig-components-content`](./external/hig-components-content/) | `external` | Apple HIG for content views mapped to SwiftUI: lists, tables, grids, charts, images, text, web views, empty states. Use when choosing or rev |
|
|
120
120
|
| [`hig-components-layout`](./external/hig-components-layout/) | `external` | Apple HIG for app structure mapped to SwiftUI: tab bars, split views, navigation stacks, toolbars, sheets, popovers, alerts, windows, iOS 26 |
|
|
121
121
|
| [`hig-components-status`](./external/hig-components-status/) | `external` | Apple HIG for status UI mapped to SwiftUI: progress views, gauges, placeholders, status bar, activity rings, success and failure feedback. U |
|
|
@@ -125,64 +125,64 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
125
125
|
| [`hig-patterns`](./external/hig-patterns/) | `external` | Apple HIG interaction patterns mapped to SwiftUI: modality, loading, empty and error states, feedback, undo, search, data entry, settings, s |
|
|
126
126
|
| [`hig-platforms`](./external/hig-platforms/) | `external` | Apple HIG per platform: iPhone, iPad, Mac, Watch, TV and Vision Pro conventions, and adapting one SwiftUI codebase across them. Use when a d |
|
|
127
127
|
| [`hig-technologies`](./external/hig-technologies/) | `external` | Apple HIG for system technologies: Sign in with Apple, passkeys, Apple Pay, Wallet, Siri and App Intents, HealthKit, HomeKit, iCloud, Maps, |
|
|
128
|
-
| [`homekit-matter`](./external/homekit-matter/) | `external` |
|
|
129
|
-
| [`ios-accessibility`](./external/ios-accessibility/) | `external` |
|
|
128
|
+
| [`homekit-matter`](./external/homekit-matter/) | `external` | HomeKit and MatterSupport: managing homes, rooms, zones and accessories, reading characteristics, action sets and triggers, Matter commissio |
|
|
129
|
+
| [`ios-accessibility`](./external/ios-accessibility/) | `external` | VoiceOver, Voice Control, Switch Control and Full Keyboard Access in SwiftUI, UIKit and AppKit on iOS, iPadOS and macOS: labels, hints, valu |
|
|
130
130
|
| [`ios-coding-standard`](./external/ios-coding-standard/) | `external` | The iOS coding-standard rule registry: 99 stable-ID rules across readability, security, service layer, business rules, concurrency, testing, |
|
|
131
131
|
| [`ios-debugger-agent`](./external/ios-debugger-agent/) | `external` | Debug the current iOS project on a booted simulator with XcodeBuildMCP. Use when an iOS bug has to be reproduced and diagnosed on a booted s |
|
|
132
|
-
| [`ios-localization`](./external/ios-localization/) | `external` |
|
|
132
|
+
| [`ios-localization`](./external/ios-localization/) | `external` | i18n and l10n for iOS and macOS: String Catalogs (.xcstrings), generated localizable symbols with compile-time-checked keys, stable key nami |
|
|
133
133
|
| [`ios-module-structure`](./external/ios-module-structure/) | `external` | The ios-module-structure rule registry: stable-ID rules over where a declaration lives, what its file is called and what its folder must con |
|
|
134
|
-
| [`ios-networking`](./external/ios-networking/) | `external` |
|
|
134
|
+
| [`ios-networking`](./external/ios-networking/) | `external` | URLSession with async/await and structured concurrency on iOS and macOS: HTTP requests, REST API clients, response validation, error handlin |
|
|
135
135
|
| [`ios-security`](./external/ios-security/) | `external` | Secure iOS apps with Keychain Services, CryptoKit encryption, biometric authentication (Face ID, Touch ID), Secure Enclave key storage, LACo |
|
|
136
|
-
| [`ios-simulator`](./external/ios-simulator/) | `external` |
|
|
137
|
-
| [`live-activities`](./external/live-activities/) | `external` | ActivityKit Live Activities
|
|
136
|
+
| [`ios-simulator`](./external/ios-simulator/) | `external` | xcrun simctl from the command line: create, boot, erase and delete devices, install and launch apps, simulated pushes without APNs, GPS loca |
|
|
137
|
+
| [`live-activities`](./external/live-activities/) | `external` | ActivityKit Live Activities on the Lock Screen and Dynamic Island: ActivityAttributes and ContentState, request/update/end lifecycle, compac |
|
|
138
138
|
| [`macos-menubar-tuist-app`](./external/macos-menubar-tuist-app/) | `external` | Build, refactor, or review SwiftUI macOS menubar apps that use Tuist. Use when building, refactoring or reviewing a SwiftUI macOS menubar ap |
|
|
139
139
|
| [`macos-spm-app-packaging`](./external/macos-spm-app-packaging/) | `external` | Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects. Use when a SwiftPM macOS app has to be built, signed or packag |
|
|
140
|
-
| [`mapkit-location`](./external/mapkit-location/) | `external` |
|
|
141
|
-
| [`metrickit-diagnostics`](./external/metrickit-diagnostics/) | `external` |
|
|
142
|
-
| [`musickit-audio`](./external/musickit-audio/) | `external` |
|
|
143
|
-
| [`natural-language`](./external/natural-language/) | `external` |
|
|
144
|
-
| [`passkit-wallet`](./external/passkit-wallet/) | `external` |
|
|
145
|
-
| [`pencilkit-drawing`](./external/pencilkit-drawing/) | `external` | Apple Pencil
|
|
146
|
-
| [`permissionkit`](./external/permissionkit/) | `external` | PermissionKit
|
|
147
|
-
| [`photos-camera-media`](./external/photos-camera-media/) | `external` |
|
|
148
|
-
| [`push-notifications`](./external/push-notifications/) | `external` |
|
|
149
|
-
| [`realitykit-ar`](./external/realitykit-ar/) | `external` | RealityKit and ARKit on iOS: RealityView
|
|
150
|
-
| [`shareplay-activities`](./external/shareplay-activities/) | `external` | GroupActivities and SharePlay on iOS, macOS, tvOS and visionOS:
|
|
151
|
-
| [`speech-recognition`](./external/speech-recognition/) | `external` | Speech-to-text
|
|
152
|
-
| [`storekit`](./external/storekit/) | `external` |
|
|
153
|
-
| [`swift-api-design-guidelines`](./external/swift-api-design-guidelines/) | `external` | Swift API Design Guidelines
|
|
154
|
-
| [`swift-architecture`](./external/swift-architecture/) | `external` | App architecture on Apple platforms
|
|
155
|
-
| [`swift-charts`](./external/swift-charts/) | `external` |
|
|
156
|
-
| [`swift-codable`](./external/swift-codable/) | `external` | Codable
|
|
157
|
-
| [`swift-concurrency`](./external/swift-concurrency/) | `external` | Swift
|
|
140
|
+
| [`mapkit-location`](./external/mapkit-location/) | `external` | MapKit and CoreLocation on iOS and macOS: SwiftUI Map, markers, annotations, polylines and overlays, camera control, user location tracking, |
|
|
141
|
+
| [`metrickit-diagnostics`](./external/metrickit-diagnostics/) | `external` | MetricKit field telemetry from shipping apps: MXMetricManager subscribers, MXMetricPayload and MXDiagnosticPayload, crash, hang and disk-wri |
|
|
142
|
+
| [`musickit-audio`](./external/musickit-audio/) | `external` | MusicKit and MediaPlayer on iOS: Apple Music authorization, catalog search, subscription checks and offers, ApplicationMusicPlayer playback |
|
|
143
|
+
| [`natural-language`](./external/natural-language/) | `external` | NaturalLanguage and Translation frameworks: tokenizing, language identification, part-of-speech tagging, named entities, sentiment, word and |
|
|
144
|
+
| [`passkit-wallet`](./external/passkit-wallet/) | `external` | Apple Pay and Wallet passes with PassKit: Apple Pay buttons, payment requests, authorization flow, merchant capabilities, shipping and conta |
|
|
145
|
+
| [`pencilkit-drawing`](./external/pencilkit-drawing/) | `external` | PencilKit drawing with Apple Pencil or finger: PKCanvasView, PKToolPicker and custom items, PKDrawing persistence and export, stroke inspect |
|
|
146
|
+
| [`permissionkit`](./external/permissionkit/) | `external` | PermissionKit parental approval for minors: CommunicationLimits handle checks, PermissionQuestion, AskCenter requests and responses, Permiss |
|
|
147
|
+
| [`photos-camera-media`](./external/photos-camera-media/) | `external` | PhotoKit and AVFoundation media on iOS: PhotosPicker and PHPickerViewController, Transferable loading of images, movies and Live Photos, pho |
|
|
148
|
+
| [`push-notifications`](./external/push-notifications/) | `external` | UserNotifications and APNs on iOS and macOS, local and remote: permission (standard, provisional, critical), device-token registration, trig |
|
|
149
|
+
| [`realitykit-ar`](./external/realitykit-ar/) | `external` | RealityKit and ARKit on iOS: RealityView camera content, AR camera availability and permission, entities and components, USDZ loading, plane |
|
|
150
|
+
| [`shareplay-activities`](./external/shareplay-activities/) | `external` | GroupActivities and SharePlay on iOS, macOS, tvOS and visionOS: GroupActivity, GroupSession lifecycle, messengers, playback sync, file trans |
|
|
151
|
+
| [`speech-recognition`](./external/speech-recognition/) | `external` | Speech framework speech-to-text: live microphone transcription with AVAudioEngine, recorded audio files, speech and microphone permission, o |
|
|
152
|
+
| [`storekit`](./external/storekit/) | `external` | StoreKit 2 in-app purchases and subscriptions: SubscriptionStoreView, StoreView and ProductView paywalls, consumable, non-consumable and aut |
|
|
153
|
+
| [`swift-api-design-guidelines`](./external/swift-api-design-guidelines/) | `external` | Swift API Design Guidelines: call-site clarity over brevity, argument labels and prepositions, method versus property, side-effect naming, m |
|
|
154
|
+
| [`swift-architecture`](./external/swift-architecture/) | `external` | App architecture on Apple platforms (Swift 6.3, SwiftUI, UIKit): MV with @Observable, MVVM, MVI, TCA, Clean Architecture, VIPER, Coordinator |
|
|
155
|
+
| [`swift-charts`](./external/swift-charts/) | `external` | Swift Charts: bar, line, area, point, pie, donut, iOS 26 3D charts (Chart3D, SurfacePlot), axes, scales, legends, annotations, scrolling, se |
|
|
156
|
+
| [`swift-codable`](./external/swift-codable/) | `external` | Codable JSON and property-list models: JSONDecoder, JSONEncoder, CodingKeys, custom init(from:)/encode(to:), nested containers, date, data a |
|
|
157
|
+
| [`swift-concurrency`](./external/swift-concurrency/) | `external` | Swift 6.2+ concurrency: actor isolation, Sendable, sending, approachable concurrency (SE-0466 default MainActor, @concurrent, nonisolated(no |
|
|
158
158
|
| [`swift-concurrency-expert`](./external/swift-concurrency-expert/) | `external` | Review and fix Swift concurrency issues such as actor isolation and Sendable violations. Use when a Swift concurrency problem needs diagnosi |
|
|
159
159
|
| [`swift-concurrency-pro`](./external/swift-concurrency-pro/) | `external` | Reviews Swift code for concurrency correctness, modern API usage, and common async/await pitfalls. Use when reading, writing, or reviewing S |
|
|
160
|
-
| [`swift-formatstyle`](./external/swift-formatstyle/) | `external` | Display formatting
|
|
161
|
-
| [`swift-language`](./external/swift-language/) | `external` | Core Swift 6.3
|
|
162
|
-
| [`swift-security`](./external/swift-security/) | `external` | Apple
|
|
163
|
-
| [`swift-testing`](./external/swift-testing/) | `external` | Writing, migrating and reviewing
|
|
160
|
+
| [`swift-formatstyle`](./external/swift-formatstyle/) | `external` | Display formatting with FormatStyle (iOS 15+): integers, floating point, decimals, currency, percentages, dates, date ranges, relative and a |
|
|
161
|
+
| [`swift-language`](./external/swift-language/) | `external` | Core Swift 6.3 outside concurrency and SwiftUI: if and switch expressions, typed throws, result builders, property wrappers, some vs any, gu |
|
|
162
|
+
| [`swift-security`](./external/swift-security/) | `external` | Apple client security: Keychain (SecItem, kSecClass, OSStatus, iOS, macOS), Face ID/Touch ID keychain items, CryptoKit (AES-GCM, ChaChaPoly, |
|
|
163
|
+
| [`swift-testing`](./external/swift-testing/) | `external` | Writing, migrating and reviewing Swift Testing tests: @Test, @Suite, #expect, #require, confirmation, traits, withKnownIssue, Attachment.rec |
|
|
164
164
|
| [`swift-testing-pro`](./external/swift-testing-pro/) | `external` | Writes, reviews, and improves Swift Testing code using modern APIs and best practices. Use when reading, writing, or reviewing projects that |
|
|
165
165
|
| [`swiftdata`](./external/swiftdata/) | `external` | SwiftData persistence for Apple apps: @Model classes with @Attribute, @Relationship, @Transient, #Unique and #Index; @Query, #Predicate, Fet |
|
|
166
166
|
| [`swiftdata-pro`](./external/swiftdata-pro/) | `external` | Writes, reviews, and improves SwiftData code using modern APIs and best practices. Use when reading, writing, or reviewing projects that use |
|
|
167
|
-
| [`swiftlint`](./external/swiftlint/) | `external` |
|
|
168
|
-
| [`swiftui-animation`](./external/swiftui-animation/) | `external` | SwiftUI motion:
|
|
167
|
+
| [`swiftlint`](./external/swiftlint/) | `external` | SwiftLint setup and enforcement: build tool and command plugins, Xcode run scripts, CI, .swiftlint.yml rule sets (default, opt-in, analyzer) |
|
|
168
|
+
| [`swiftui-animation`](./external/swiftui-animation/) | `external` | SwiftUI motion: withAnimation, scoped implicit .animation(_:body:) and .animation(_:value:), timing curves and springs (.smooth, .snappy, .b |
|
|
169
169
|
| [`swiftui-expert-skill`](./external/swiftui-expert-skill/) | `external` | Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, macOS-specific APIs, an |
|
|
170
|
-
| [`swiftui-gestures`](./external/swiftui-gestures/) | `external` | SwiftUI
|
|
171
|
-
| [`swiftui-layout-components`](./external/swiftui-layout-components/) | `external` | SwiftUI
|
|
172
|
-
| [`swiftui-liquid-glass`](./external/swiftui-liquid-glass/) | `external` | Liquid Glass in SwiftUI
|
|
173
|
-
| [`swiftui-navigation`](./external/swiftui-navigation/) | `external` | SwiftUI navigation: NavigationStack
|
|
174
|
-
| [`swiftui-patterns`](./external/swiftui-patterns/) | `external` |
|
|
175
|
-
| [`swiftui-performance`](./external/swiftui-performance/) | `external` |
|
|
170
|
+
| [`swiftui-gestures`](./external/swiftui-gestures/) | `external` | SwiftUI gestures: tap, spatial tap, long press, drag, magnify, rotate, composition (simultaneously, sequenced, exclusively), @GestureState, |
|
|
171
|
+
| [`swiftui-layout-components`](./external/swiftui-layout-components/) | `external` | SwiftUI layouts: stacks, lazy stacks, LazyVGrid/LazyHGrid, List sections, swipe actions, ScrollView with ScrollPosition, validated Form, Tog |
|
|
172
|
+
| [`swiftui-liquid-glass`](./external/swiftui-liquid-glass/) | `external` | Liquid Glass in SwiftUI (iOS 26+): glassEffect, Glass tint/interactive variants, GlassEffectContainer, glassEffectID morphing, glassEffectUn |
|
|
173
|
+
| [`swiftui-navigation`](./external/swiftui-navigation/) | `external` | SwiftUI navigation: NavigationStack typed paths, routers, NavigationSplitView, sheets, TabView and Tab API, universal links, URL schemes, Ha |
|
|
174
|
+
| [`swiftui-patterns`](./external/swiftui-patterns/) | `external` | SwiftUI Model-View structure: @Observable ownership, @State, @Bindable, @Environment, view decomposition, custom ViewModifiers, .task loadin |
|
|
175
|
+
| [`swiftui-performance`](./external/swiftui-performance/) | `external` | SwiftUI performance: slow rendering, janky scrolling, high CPU/memory, excess updates, layout thrash, costly body, identity churn, lazy load |
|
|
176
176
|
| [`swiftui-performance-audit`](./external/swiftui-performance-audit/) | `external` | Audit SwiftUI performance issues from code review and profiling evidence. Use when a SwiftUI view is slow and the cause has to be found from |
|
|
177
177
|
| [`swiftui-pro`](./external/swiftui-pro/) | `external` | Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance. Use when reading, writing, or revi |
|
|
178
178
|
| [`swiftui-ui-patterns`](./external/swiftui-ui-patterns/) | `external` | Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens. Use when a SwiftUI screen needs a proven pattern |
|
|
179
|
-
| [`swiftui-uikit-interop`](./external/swiftui-uikit-interop/) | `external` |
|
|
179
|
+
| [`swiftui-uikit-interop`](./external/swiftui-uikit-interop/) | `external` | UIKit and SwiftUI interop: UIViewRepresentable, UIViewControllerRepresentable, UIHostingController, UIHostingConfiguration, Coordinator dele |
|
|
180
180
|
| [`swiftui-view-refactor`](./external/swiftui-view-refactor/) | `external` | Refactor SwiftUI views into smaller components with stable, explicit data flow. Use when a SwiftUI view has grown too large and needs splitt |
|
|
181
|
-
| [`swiftui-webkit`](./external/swiftui-webkit/) | `external` |
|
|
182
|
-
| [`tipkit`](./external/tipkit/) | `external` | TipKit in-app tips
|
|
183
|
-
| [`vision-framework`](./external/vision-framework/) | `external` | On-device computer vision with
|
|
184
|
-
| [`weatherkit`](./external/weatherkit/) | `external` | WeatherKit on iOS:
|
|
185
|
-
| [`widgetkit`](./external/widgetkit/) | `external` | WidgetKit
|
|
181
|
+
| [`swiftui-webkit`](./external/swiftui-webkit/) | `external` | Web content in SwiftUI with WebKit for SwiftUI: WebView, WebPage, observable page state, navigation policies, link interception, JavaScript |
|
|
182
|
+
| [`tipkit`](./external/tipkit/) | `external` | TipKit in-app tips (iOS 17+): Tip protocol, TipView, popoverTip, rules, events, TipGroup, styles, CloudKit sync. Use when building or review |
|
|
183
|
+
| [`vision-framework`](./external/vision-framework/) | `external` | On-device computer vision with Vision and VisionKit: OCR, face detection and landmarks, barcode and QR scanning, person and instance segment |
|
|
184
|
+
| [`weatherkit`](./external/weatherkit/) | `external` | WeatherKit on iOS: current, hourly, daily and minute forecasts, alerts, historical statistics, dataset selection, caching. Use when integrat |
|
|
185
|
+
| [`widgetkit`](./external/widgetkit/) | `external` | WidgetKit surfaces on iOS 26+: timeline-driven widgets for the Home Screen, the Lock Screen and StandBy, interactive widgets using Button or |
|
|
186
186
|
|
|
187
187
|
## Android / Kotlin
|
|
188
188
|
|
|
@@ -242,22 +242,22 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
242
242
|
|-------|-------|-------------|
|
|
243
243
|
| [`agent-introspection-debugging`](./external/agent-introspection-debugging/) | `external` | \| |
|
|
244
244
|
| [`architecture`](./external/architecture/) | `external` | Stack-neutral architecture decisions: quality drivers, options with a trade-off matrix, reversibility, ADRs, fitness checks. Use when making |
|
|
245
|
-
| [`avkit`](./external/avkit/) | `external` | AVKit
|
|
245
|
+
| [`avkit`](./external/avkit/) | `external` | AVKit playback UI: AVPlayerViewController, SwiftUI VideoPlayer, Picture-in-Picture, AirPlay routing, transport controls, subtitles and close |
|
|
246
246
|
| [`backlog`](./external/backlog/) | `external` | Registry and routine for approved but postponed engineering work: each item keeps its full spec, origin and unblock condition, and moves thr |
|
|
247
247
|
| [`ci-cd-pipelines`](./external/ci-cd-pipelines/) | `external` | CI/CD pipelines: GitHub Actions workflows, Docker multi-stage builds, environment management, secret management, deployment strategies. Use |
|
|
248
248
|
| [`clean-code`](./external/clean-code/) | `external` | Readability checks for code in any language: names, function focus, control flow, side effects, errors, comments, duplication. Use when writ |
|
|
249
249
|
| [`context-compression`](./external/context-compression/) | `external` | Keeping long LLM agent sessions on track: what a summary must preserve, incremental structured summaries, state in files, compact versus res |
|
|
250
250
|
| [`core-data`](./external/core-data/) | `external` | Create, audit or refine Core Data persistence for apps still on Core Data rather than SwiftData: stack setup, NSManagedObject subclasses, NS |
|
|
251
251
|
| [`council`](./external/council/) | `external` | \| |
|
|
252
|
-
| [`cryptokit`](./external/cryptokit/) | `external` |
|
|
253
|
-
| [`debugging-instruments`](./external/debugging-instruments/) | `external` |
|
|
252
|
+
| [`cryptokit`](./external/cryptokit/) | `external` | CryptoKit in Swift: SHA-2, SHA-3, HMAC, AES-GCM, ChaChaPoly, P256, P384, P521, Curve25519 and ML-DSA signatures, ECDH with HKDF, HPKE, ML-KE |
|
|
253
|
+
| [`debugging-instruments`](./external/debugging-instruments/) | `external` | Xcode debugging and profiling: LLDB, Memory Graph Debugger, Instruments, crashes, leaks and retain cycles, main-thread hangs, slow rendering |
|
|
254
254
|
| [`debugging-strategies`](./external/debugging-strategies/) | `external` | Language-neutral debugging method: reproduce, minimise, falsifiable hypotheses, git bisect, instrumentation, production traces, concurrency |
|
|
255
255
|
| [`evidence-github`](./external/evidence-github/) | `external` | Search GitHub for facts an analysis can cite - a known issue in a dependency, the PR that fixed it, what a release actually changed, prior a |
|
|
256
256
|
| [`evidence-registry`](./external/evidence-registry/) | `external` | Check a package's real version, deprecation status and release notes on npm, PyPI, Maven Central or Swift Package Index. Use when a spec or |
|
|
257
257
|
| [`github-actions-templates`](./external/github-actions-templates/) | `external` | Authoring GitHub Actions workflows: triggers, matrices, caching, concurrency, least-privilege permissions, SHA pinning, OIDC, reusable workf |
|
|
258
258
|
| [`humanizer`](./external/humanizer/) | `external` | \| |
|
|
259
259
|
| [`localization-reuse-map`](./external/localization-reuse-map/) | `external` | Localization reuse map for one redesigned screen on iOS, Android and web: new keys set against each platform's legacy key, legacy values and |
|
|
260
|
-
| [`pdfkit`](./external/pdfkit/) | `external` | PDFKit on iOS:
|
|
260
|
+
| [`pdfkit`](./external/pdfkit/) | `external` | PDFKit on iOS: PDFView display and SwiftUI wrapping, creating and editing PDFDocument and PDFPage, highlight, note, signature and form annot |
|
|
261
261
|
| [`search-first`](./external/search-first/) | `external` | \| |
|
|
262
262
|
| [`security-review`](./external/security-review/) | `external` | Run a defensive, static security review of a diff or a repo: build a run-scoped threat model, find vulnerabilities joined to OWASP + CWE wit |
|
|
263
263
|
| [`signal-community`](./external/signal-community/) | `external` | 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 repor |
|
|
@@ -389,7 +389,7 @@ Hand-offs:
|
|
|
389
389
|
`WidgetCenter` reloads: `widgetkit`.
|
|
390
390
|
- Non-alarm Live Activities (`Activity.request`, `update`, `end`),
|
|
391
391
|
push-to-start and per-activity update tokens, and remote `content-state`
|
|
392
|
-
payloads: `
|
|
392
|
+
payloads: `live-activities`.
|
|
393
393
|
- APNs, `UNUserNotificationCenter`, notification categories and actions,
|
|
394
394
|
custom notification UI: `push-notifications`, unless the code ends up
|
|
395
395
|
calling `AlarmManager`.
|
|
@@ -477,7 +477,7 @@ struct CoachWidgets: WidgetBundle {
|
|
|
477
477
|
- [ ] AlarmKit is credited only with authorization, `AlarmManager` scheduling and state, attributes, presentation, presentation state, sound and system alarm actions
|
|
478
478
|
- [ ] The ringing screen is described as drawn by the system
|
|
479
479
|
- [ ] Custom countdown and paused UI lives in the widget extension with the same attributes and `AlarmPresentationState`
|
|
480
|
-
- [ ] Hand-offs to `widgetkit`, `
|
|
480
|
+
- [ ] Hand-offs to `widgetkit`, `live-activities` and `push-notifications` are explicit
|
|
481
481
|
- [ ] Setup cites only documented requirements; no `com.apple.developer.alarmkit` unless Apple documents it
|
|
482
482
|
- [ ] `tintColor` is set on `AlarmAttributes` so the alarm is recognisable
|
|
483
483
|
- [ ] `AlarmManager.AlarmError.maximumLimitReached` is handled
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
{
|
|
32
32
|
"id": 2,
|
|
33
33
|
"prompt": "Product wants AlarmKit to also drive our Smart Stack widget, our delivery-tracking Live Activity and our marketing push notifications, with a fully custom design for the ringing screen. Which parts belong to AlarmKit?",
|
|
34
|
-
"expected_output": "Limits AlarmKit to system alarms and countdowns and their types, explains that the alerting UI is system-managed while countdown and paused UI can be customised in a widget extension, lists Lock Screen, Dynamic Island, StandBy and paired Apple Watch without Smart Stack, and routes widgets to widgetkit, other Live Activities to
|
|
34
|
+
"expected_output": "Limits AlarmKit to system alarms and countdowns and their types, explains that the alerting UI is system-managed while countdown and paused UI can be customised in a widget extension, lists Lock Screen, Dynamic Island, StandBy and paired Apple Watch without Smart Stack, and routes widgets to widgetkit, other Live Activities to live-activities and notifications to push-notifications.",
|
|
35
35
|
"files": [],
|
|
36
36
|
"expectations": [
|
|
37
37
|
"Keeps AlarmKit scope to system alarms and countdown timers and their AlarmKit types",
|
|
38
38
|
"States that the alerting UI is drawn by the system and only countdown and paused UI is customisable",
|
|
39
39
|
"Lists Lock Screen, Dynamic Island, StandBy and paired Apple Watch and does not claim Smart Stack",
|
|
40
40
|
"Routes Smart Stack and Home Screen widgets to widgetkit",
|
|
41
|
-
"Routes the non-alarm Live Activity to
|
|
41
|
+
"Routes the non-alarm Live Activity to live-activities",
|
|
42
42
|
"Routes push notifications to push-notifications"
|
|
43
43
|
]
|
|
44
44
|
}
|
|
@@ -73,6 +73,12 @@ Always state explicitly: popular but irrelevant keywords are rejected; the
|
|
|
73
73
|
custom page allowance is 70 per app; a test has up to three treatments; In-App
|
|
74
74
|
Events and ratings are ASO work.
|
|
75
75
|
|
|
76
|
+
Every App Store Connect number in this skill (field lengths, the 70-page
|
|
77
|
+
allowance, three treatments, the 90-day test limit, event media sizes, the
|
|
78
|
+
review-prompt cap) is as Apple's documentation stated it at the time of
|
|
79
|
+
writing. Apple changes these limits, so check App Store Connect Help before
|
|
80
|
+
quoting one as current.
|
|
81
|
+
|
|
76
82
|
## Name and subtitle
|
|
77
83
|
|
|
78
84
|
Search indexes both the name (30 characters) and the subtitle (30 characters),
|
|
@@ -7,6 +7,9 @@ subtitle, keyword field and primary category, and user behavior such as
|
|
|
7
7
|
downloads, ratings and reviews. The table below is a planning aid, not a list
|
|
8
8
|
of ranking weights.
|
|
9
9
|
|
|
10
|
+
Limits below are App Store Connect values as Apple's documentation stated them
|
|
11
|
+
at the time of writing; confirm them in App Store Connect Help before quoting.
|
|
12
|
+
|
|
10
13
|
| Field | Role in search | Limit | Changing it | Guidance |
|
|
11
14
|
|---|---|---|---|---|
|
|
12
15
|
| App name | Indexed | 30 characters | With a new version, when status allows | Distinctive, and hints at what the app does |
|
|
@@ -12,10 +12,9 @@ privacy declaration that disagrees with what the binary actually sends, a
|
|
|
12
12
|
purchase path that skips StoreKit, or metadata that promises something the app
|
|
13
13
|
does not do. This skill finds those before App Review does.
|
|
14
14
|
|
|
15
|
-
Apple
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
publication before quoting them.
|
|
15
|
+
Apple publishes a yearly App Store fraud-prevention report with the number of
|
|
16
|
+
submissions App Review looked at and turned down. Quote those figures only from
|
|
17
|
+
the current report, never from memory.
|
|
19
18
|
|
|
20
19
|
## Scope and boundaries
|
|
21
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: apple-on-device-ai
|
|
3
|
-
description: "On-device AI on Apple hardware: Foundation Models (SystemLanguageModel, LanguageModelSession, @Generable and @Guide structured output, tool calling), coremltools conversion, quantization, palettization, pruning, Neural Engine
|
|
3
|
+
description: "On-device AI on Apple hardware: Foundation Models (SystemLanguageModel, LanguageModelSession, @Generable and @Guide structured output, tool calling), coremltools conversion, quantization, palettization, pruning, Neural Engine, MLX Swift transformer inference on unified memory, llama.cpp GGUF models. Use when building tool-calling AI features, designing guided generation schemas, converting a model or running inference on device. Not for Swift-side Core ML integration (coreml), OCR, sentiment, NER or classifier training."
|
|
4
4
|
metadata:
|
|
5
5
|
source: multi-agent-pipeline
|
|
6
6
|
---
|
|
@@ -320,8 +320,10 @@ Compression at a glance:
|
|
|
320
320
|
|
|
321
321
|
Boundary: this skill decides which framework to use and owns the Python side
|
|
322
322
|
(conversion, compression, profiling). The `coreml` skill owns the Swift side:
|
|
323
|
-
loading models in the app, runtime settings, calling predictions,
|
|
324
|
-
models into Vision requests.
|
|
323
|
+
loading models in the app, runtime settings, calling predictions, `MLTensor`
|
|
324
|
+
pre- and post-processing, and hooking models into Vision requests. The
|
|
325
|
+
[optimization guide](references/coreml-optimization.md#mltensor) keeps a short
|
|
326
|
+
`MLTensor` example.
|
|
325
327
|
|
|
326
328
|
Conversion: [the conversion guide](references/coreml-conversion.md).
|
|
327
329
|
Compression and profiling: [the optimization guide](references/coreml-optimization.md).
|