@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
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,18 @@ Internal file-layout changes that don't affect the slash-command surface are sti
|
|
|
16
16
|
|
|
17
17
|
## [Unreleased]
|
|
18
18
|
|
|
19
|
+
## [20.8.1] - 2026-09-26
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Knowledge skills were checked again against the iOS 26.4 SDK headers and interfaces and corrected where they disagreed: keychain error codes and `SecItemUpdate` rules, `@Model` sendability, the iOS 18 versus iOS 26 split of the WidgetKit, ActivityKit and `TabView` APIs, `CBManager.authorization`, the TLS hybrid group name, the Face ID usage-description behaviour, single completion of background tasks, `Sendable` Core Data stores, the `Transaction.updates` listener, the Swift 6.2 baseline and `CLGeocoder`'s deprecation. Numbers the SDK cannot confirm are attributed to Apple's documentation or removed, and six descriptions route overlapping requests to one skill each.
|
|
24
|
+
- `localization-reuse-map`: the scripts take the slug rule, language order, key normalisation, key patterns, skipped folders and row-marker rules from one `scripts/_shared.py`, which the 20.7.0 entry already described. A component-owned key is exempt only when its key column carries the `(owned by ...)` mark. `render-overlay.py --ui-lang` picks the label language (default `en`), and `publish-confluence.py --embed-heading` sets the heading above embedded previews.
|
|
25
|
+
- `npm test` fails when `pipeline/skills/shared/README.md` is out of date with the skills (`gen-skills-index.mjs --check`).
|
|
26
|
+
- `pre-commit-check.sh` warns on stderr when it scans non-ASCII content without the look-alike folding that `lib/normalize-text.mjs` provides.
|
|
27
|
+
- `eval-guard-robustness.mjs` no longer counts NFKD decomposition as a disguise.
|
|
28
|
+
- `check-rewrite-overlap.mjs` exits 2 on a non-integer `--n` or a non-numeric `--max`.
|
|
29
|
+
- The `skill-creator` template shows the optional `metadata` block.
|
|
30
|
+
|
|
19
31
|
## [20.8.0] - 2026-09-26
|
|
20
32
|
|
|
21
33
|
### Changed
|
package/docs/facts.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$comment": "Generated by pipeline/scripts/gen-facts.mjs. Do not hand-edit: the site reads this, and a number edited here instead of at its source is the drift this file removes.",
|
|
3
3
|
"generatedAt": "2026-09-26",
|
|
4
|
-
"version": "20.8.
|
|
4
|
+
"version": "20.8.1",
|
|
5
5
|
"phaseSchema": 2,
|
|
6
6
|
"phases": [
|
|
7
7
|
{
|
package/manifest.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "20.8.
|
|
4
|
-
"commit": "
|
|
5
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"version": "20.8.1",
|
|
4
|
+
"commit": "45de439623d3f88764e1d2a265b4e2291a707c1f",
|
|
5
|
+
"generatedAt": "2026-09-27T05:31:39.321Z",
|
|
6
6
|
"algorithm": "sha256",
|
|
7
|
-
"fileCount":
|
|
7
|
+
"fileCount": 1220,
|
|
8
8
|
"files": {
|
|
9
|
-
"CHANGELOG.md": "
|
|
9
|
+
"CHANGELOG.md": "9e63b7d5afa37edf74fc78d96bd484e2d023c4811def825417938845aee3877a",
|
|
10
10
|
"LICENSE": "8d8c51aaf1e1538b180c69965fa038db71be86798cc3e26a143bebfefe16a43e",
|
|
11
11
|
"README.md": "0613eebb0b38062bd94c44043595d1950b5c9b470874dd8e402c052fd20960cf",
|
|
12
12
|
"README.tr.md": "0c6b5e6943d6c3d3bf3a7ed99c705fb9a78d15d7722e6252f58404d3f6d3524d",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"docs/best-practices.md": "f8b75b0d38b5896a6a852bb30a1edddeb24dab8b5b7b1d9313290e1241c72024",
|
|
34
34
|
"docs/ecosystem.md": "e6c00f30e95b5e178f77bdfbefd686c8a4164f39c03865a89ab23465d1a37acf",
|
|
35
35
|
"docs/engineering.md": "550528cd47c7d2c921729c68d0782a00ac8e77a4bdfec479f6749f9c3235d188",
|
|
36
|
-
"docs/facts.json": "
|
|
36
|
+
"docs/facts.json": "e3da75a6d5f4e3e773ae6efc79aaa7813d8198b244a183fd81a67aa54b69ecee",
|
|
37
37
|
"docs/features.md": "6c9f0efb00c683e6f611c440c87847b187f8b0eee59e9e812f3a241695bc2ae1",
|
|
38
38
|
"docs/performance.md": "bbf2f3922c25dcba0c1a9e69ef420e3871a729af5b35009a49b48a5d3c5cd151",
|
|
39
39
|
"docs/recovery-guide.md": "59a8f1b66b34cb9ff5507b3d54dac3b9915e184aa044d9c758d18cac818d510e",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"install/templates/multi-agent-autopilot-awake.plist.template": "ddd25c76c56fcbb38a89de8e35637372d70ace993d6bc487a88ca9cfb702fe1f",
|
|
62
62
|
"install/templates/multi-agent-autopilot.plist.template": "122c8a61cd927edd99375d6e3da40f1d42bcceed5b6641785c8b28bb930bc77e",
|
|
63
63
|
"install/unattended-profile-legacy.json": "f52e86b998956f09ad306b1735a6c10b58580d7082d8a55665a4c6bb15c3aa1f",
|
|
64
|
-
"package.json": "
|
|
64
|
+
"package.json": "efed7a265857ab81826a729fcb739fd79fb1685c11fd07d43ab384a1d339bf58",
|
|
65
65
|
"pipeline/agents/android-architect.md": "11fb74543cb0ebcf9525ca6654fe95d53da7229e0bf4a1149b31fd9005abc453",
|
|
66
66
|
"pipeline/agents/backend-architect.md": "b02a606c301e4714131aed70ae6d16eeb77fbc819a001e2752cff2488d4246de",
|
|
67
67
|
"pipeline/agents/bulk-reader.md": "6597052cd7d205bac2b1c7633f5232fe1a40730664a913b8eb77efd5a786dc25",
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
"pipeline/lib/plan-todos.sh": "4992bed180774a27f84892add8b09e0f7b53e9b8fefb75f60325a04d1af18c56",
|
|
201
201
|
"pipeline/lib/post-pr-review.sh": "c7a8f8c648ac7aebf904e70ae482c026de5b3cc897b376cd8aa52356fda8b805",
|
|
202
202
|
"pipeline/lib/pr-request-location.mjs": "622ca4705ec8ee00e0a4609657d8ee684fcdc077f3099ab312cf41b5b0c41efd",
|
|
203
|
-
"pipeline/lib/redact.mjs": "
|
|
203
|
+
"pipeline/lib/redact.mjs": "2fefa32781d8e0618a467b62ac5a01f89e59a6d123503af535203b638796fb28",
|
|
204
204
|
"pipeline/lib/regular-file.mjs": "084dd2c98a664a1e4a937757cc5e5e5d7e162b6aa422f8c7cfdb27f7834c6cbc",
|
|
205
205
|
"pipeline/lib/repo-cache.sh": "82bbdd3d61746042ad5341554a1077098d4b56f15caf6c5cc092377a273c8f45",
|
|
206
206
|
"pipeline/lib/repo-hygiene.sh": "67f4227d2bc84198d51205f1f16d055e76a07fe11a4e5c2b8103559c44cefa04",
|
|
@@ -486,7 +486,7 @@
|
|
|
486
486
|
"pipeline/scripts/gen-facts.mjs": "6ba70f7db881c3e3577a5ce3dcbfda09aa240f728ee577b019f2176d8051fd67",
|
|
487
487
|
"pipeline/scripts/gen-mode-dispatch.mjs": "89e9f3d0902b0a1feac5ebad0ac767c07a8875c081c9d0094eb0e055b7da5ed8",
|
|
488
488
|
"pipeline/scripts/gen-ref-toc.mjs": "23b4f4fd5e2ad7434433d23c116e056186b0ed27ce008cc01b1bd9a0ef13f4e7",
|
|
489
|
-
"pipeline/scripts/gen-skills-index.mjs": "
|
|
489
|
+
"pipeline/scripts/gen-skills-index.mjs": "64606fb3165786ed1488cc368dcbe8f53d2e9402f02578823a31838b9730180d",
|
|
490
490
|
"pipeline/scripts/git-path.mjs": "c035624f1ab924039b37e0911f56c6a1fa781ac41dc89fadfdaa4305f4359c12",
|
|
491
491
|
"pipeline/scripts/github-ssh-setup.sh": "5a9e1836d80e4e176806c143a3c8ba4c1b9c4274ed49aac71f33bd40de31968b",
|
|
492
492
|
"pipeline/scripts/glob-match.mjs": "c01722f2f60ef70838cbfeef55dfb8381b49c358c7a808a5b297a92cdeccf033",
|
|
@@ -528,7 +528,7 @@
|
|
|
528
528
|
"pipeline/scripts/plan-critique-gate.mjs": "b139394e5f16d11e4997d0bb0b08529f439dbd7fad39781ef4c2475247d8fa97",
|
|
529
529
|
"pipeline/scripts/plugin-refresh.sh": "687a33199ad963616ab537e32210ec8c967e76ecc42f494ee8a1dc9fe947fc30",
|
|
530
530
|
"pipeline/scripts/pr-request.mjs": "e6f4ded2366c6599bb345b3011ecc771e13b8a1561afa4c9a50bca4edff17456",
|
|
531
|
-
"pipeline/scripts/pre-commit-check.sh": "
|
|
531
|
+
"pipeline/scripts/pre-commit-check.sh": "43be6d8b31c02051e9a905274b735ed4cb9c6ccaa692928bdbd7ac1b17a3db69",
|
|
532
532
|
"pipeline/scripts/pre-push-check.sh": "e449aff7f0336d7d624eff4c6221f56d8621ba9d010669601755e57fd4ee02c7",
|
|
533
533
|
"pipeline/scripts/probe-evidence-capability.sh": "ac74252eed6b773fdbc7ec475a63606925f1ba7b5e7c6f911329f46fd920eae7",
|
|
534
534
|
"pipeline/scripts/prune-logs.sh": "c5587b33104c7253e07be8cce8249b50014c52dfdf232de637811ffdd88e95e4",
|
|
@@ -599,9 +599,9 @@
|
|
|
599
599
|
"pipeline/scripts/worktree-prepare.sh": "9391c828375b127f77c86e3c830dbbaf355a61464c6437319969f2f1eecc72b1",
|
|
600
600
|
"pipeline/scripts/worktrees.mjs": "90dfd09b70fffe9b56c331a4ae2692cc248f4898f4ee6aee4239ef0b20888a90",
|
|
601
601
|
"pipeline/scripts/write-state.mjs": "e1198bf970eace07d3eff22b394808a526e473df65d3d58aa2d5a12cfdac8b49",
|
|
602
|
-
"pipeline/skills/.skill-manifest.json": "
|
|
602
|
+
"pipeline/skills/.skill-manifest.json": "29f591cb4dcf509fc59a0defcfaca6487e8c000c98d2919f0a350af441a72887",
|
|
603
603
|
"pipeline/skills/.skills-index.json": "042b1090f3e2ca310c6ce70d1bb304e8c7f96bd73133e504b95d83801608e470",
|
|
604
|
-
"pipeline/skills/shared/README.md": "
|
|
604
|
+
"pipeline/skills/shared/README.md": "a144fb39993470b6379d9660e0ee0371bdc858aee3d7c1b375cb6aba03d046db",
|
|
605
605
|
"pipeline/skills/shared/core/apple-archive-compliance/SKILL.md": "7239fef717ea45b79276bfcc2c3903acd57950b6e00dd6a2a66399c4b09cbd51",
|
|
606
606
|
"pipeline/skills/shared/core/apple-archive-compliance/references/rules.yml": "25129ce6d416242ac04c4032f7561e0c2761ab8bbadf08d9c9f49b573a663389",
|
|
607
607
|
"pipeline/skills/shared/core/google-play-compliance/SKILL.md": "3d15929685bb84bcdd2fee621176b9c12686a2f5152bd46ed19b959d7e851cc0",
|
|
@@ -675,8 +675,8 @@
|
|
|
675
675
|
"pipeline/skills/shared/external/NOTICE-xcode-build-skills.md": "95b644eeabf99bcab20c2cf4c523e68d5516a1c48a07db7429b7ee034d67249d",
|
|
676
676
|
"pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md": "0508b6e832b43d54c6ed5f57d42c292925b81e4df1c132ba1786860385ea2838",
|
|
677
677
|
"pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md": "8506e5cfede72a7d59ae79f108608e84054617c43a9101692a7e97fcea1a5d0a",
|
|
678
|
-
"pipeline/skills/shared/external/alarmkit/SKILL.md": "
|
|
679
|
-
"pipeline/skills/shared/external/alarmkit/evals/evals.json": "
|
|
678
|
+
"pipeline/skills/shared/external/alarmkit/SKILL.md": "ce285a6e95d03e3bc2f5c3150822e6ee2d07a4b629b81e8c0df81e6840161cb9",
|
|
679
|
+
"pipeline/skills/shared/external/alarmkit/evals/evals.json": "31d6f2652a3a4887314dc92edfd6282f99cc3cdcf4af97620309b73e8d4d32e8",
|
|
680
680
|
"pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md": "7a30ae8699c68c0092f9eb5dbf52a273e54bd1fa77cfecdec4bc00dee599a0e6",
|
|
681
681
|
"pipeline/skills/shared/external/android-architecture/SKILL.md": "71f6af966558767378d0605fae9a280fdf05eeba3379835170ee4a274f1846a4",
|
|
682
682
|
"pipeline/skills/shared/external/android-architecture/references/patterns.md": "10a4b6b9ab166c42a980e66610e3c381ce2a58532e957fabd031418bef256296",
|
|
@@ -712,15 +712,15 @@
|
|
|
712
712
|
"pipeline/skills/shared/external/app-store-changelog/SKILL.md": "e9182f2f54beca5ebc984d2e21766d154d546f984322fd6c06ad3744cce85d2b",
|
|
713
713
|
"pipeline/skills/shared/external/app-store-changelog/references/release-notes-guidelines.md": "c8dcb505b66ab8dc2008e35be44f290d5e03468bed48bf0f07c3adbb5c985ed4",
|
|
714
714
|
"pipeline/skills/shared/external/app-store-changelog/scripts/collect_release_changes.sh": "d694f35dffbb1fafd3b5580a2211d07ffca90baf0eb8138bdf3fff8db5386d7b",
|
|
715
|
-
"pipeline/skills/shared/external/app-store-optimization/SKILL.md": "
|
|
715
|
+
"pipeline/skills/shared/external/app-store-optimization/SKILL.md": "6015dd7b4c8661e23b677c53c391a3e39116fee2ad6b2b031b3d310eef4a3e2b",
|
|
716
716
|
"pipeline/skills/shared/external/app-store-optimization/evals/evals.json": "51d4461cc77dd2e6e558a5e850da551e4b40a63bfc93ac1f92da5395ece53f8e",
|
|
717
|
-
"pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md": "
|
|
718
|
-
"pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md": "
|
|
719
|
-
"pipeline/skills/shared/external/app-store-review/SKILL.md": "
|
|
717
|
+
"pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md": "49fe99b9d7275f87b42745531286948596b1b5f8b898a7d303c4916c33d58122",
|
|
718
|
+
"pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md": "e00e2fe4d522c31beaa3f3a421737bd6ff72d3ab20d0b94142b47c92c1ac2097",
|
|
719
|
+
"pipeline/skills/shared/external/app-store-review/SKILL.md": "0b77f648fd2d54e991f1c25540629f0a7d4fd2a1b30de7f8aaf07331b93963ea",
|
|
720
720
|
"pipeline/skills/shared/external/app-store-review/evals/evals.json": "d6271ef69c38f04edd71f4e80180e77fcfc48906fbd41fc486dd08ebb4ec108e",
|
|
721
721
|
"pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md": "12bdf41c2e2a41e728769df337989439cc2fa7fe8fd1f2aed64703bc7f09fbf0",
|
|
722
722
|
"pipeline/skills/shared/external/app-store-review/references/review-checklists.md": "8b9b4c31aa2cd42b3c767435ccf4417cf3a2a3a1a3157d0b0ca3109776daab71",
|
|
723
|
-
"pipeline/skills/shared/external/apple-on-device-ai/SKILL.md": "
|
|
723
|
+
"pipeline/skills/shared/external/apple-on-device-ai/SKILL.md": "a86a4032c158cdf5523009e332618c0e460a70fe695be99fed8c8767a69afff8",
|
|
724
724
|
"pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json": "158dbe36a4f17eef38fe02250dbd9bce7e26237d09f1458b30efe457e34fb397",
|
|
725
725
|
"pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md": "4437b0562fb4d7996c8b4f187d5fab10efbe642f96d47a24be5c9d5055a0408b",
|
|
726
726
|
"pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md": "e9debda671892adb0be39ff1569fcc1b6416468f1d4a674cbe39d1ebc4ba955c",
|
|
@@ -728,16 +728,16 @@
|
|
|
728
728
|
"pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md": "421888d7e28a74293f186bd89b929198918f2e4e5b57b964fc690ec67a1d5c84",
|
|
729
729
|
"pipeline/skills/shared/external/architecture/SKILL.md": "f8d253e4616811865f2ebded64d4dfb7483e72c6d2bbdf2b5dd6811925e50835",
|
|
730
730
|
"pipeline/skills/shared/external/architecture/references/adr-and-review.md": "46d6ffdeb3f869a389a33bbe12a40c87c96740c77ebe6ba3d3bec77d8914c991",
|
|
731
|
-
"pipeline/skills/shared/external/authentication/SKILL.md": "
|
|
731
|
+
"pipeline/skills/shared/external/authentication/SKILL.md": "4d3da49257432d30196b9970721f801524a7cdce4e6ddcaefc4fe31832a49157",
|
|
732
732
|
"pipeline/skills/shared/external/authentication/evals/evals.json": "89d829e61b24cb5d1865c0d79e14c9fbf2e0fe7deb42838025f209a49ec7cc41",
|
|
733
|
-
"pipeline/skills/shared/external/authentication/references/keychain-biometric.md": "
|
|
733
|
+
"pipeline/skills/shared/external/authentication/references/keychain-biometric.md": "d6d6f2f30475aa820bad431e813a657672b71d86f286ece752789005bedbf18d",
|
|
734
734
|
"pipeline/skills/shared/external/authentication/references/passkeys.md": "cf7c4b58edbcb25f036f99db98c3aa7b7413e03031a00349ef260cff9d3ba3e5",
|
|
735
735
|
"pipeline/skills/shared/external/avkit/SKILL.md": "9425a429ed008ea0cdcd830d2ade6ec8202c9cd4af06a647a0f74676e85bd479",
|
|
736
736
|
"pipeline/skills/shared/external/avkit/evals/evals.json": "f5381d000537abe85489323b4c0b9dcd701f898eb4c9f6f71c9953404fc02a5e",
|
|
737
737
|
"pipeline/skills/shared/external/avkit/references/avkit-patterns.md": "2c018814692c18792871338a5e87500bcd67ba31bdaaa2ed2b919321d49dac2f",
|
|
738
|
-
"pipeline/skills/shared/external/background-processing/SKILL.md": "
|
|
738
|
+
"pipeline/skills/shared/external/background-processing/SKILL.md": "876516478a6019297b886f754e2ec59e96bc73419cfff753dc7bdc7a4336b6e9",
|
|
739
739
|
"pipeline/skills/shared/external/background-processing/evals/evals.json": "80b7001c1a7e0c114fde50d343562698f23603aa39c927004f5a45b09179dcc0",
|
|
740
|
-
"pipeline/skills/shared/external/background-processing/references/background-task-patterns.md": "
|
|
740
|
+
"pipeline/skills/shared/external/background-processing/references/background-task-patterns.md": "fd39d3117fd99a62b32eeac0e707842f2a06c38d75aa3630c6c8c147c6f04be7",
|
|
741
741
|
"pipeline/skills/shared/external/backlog/BACKLOG.md": "b84c4753116f13a5b4cc2f361fd3242cc246545d86f055ba45adf5920cda2736",
|
|
742
742
|
"pipeline/skills/shared/external/backlog/SKILL.md": "f48d35654410bb800ab477c87b7ce6db8e758671cbb733c36429d8435b7d250f",
|
|
743
743
|
"pipeline/skills/shared/external/callkit-voip/SKILL.md": "0a7102e006a54e38011e24c274c50b0988f210cdd34fb6405ba5db922f23d3e7",
|
|
@@ -758,10 +758,10 @@
|
|
|
758
758
|
"pipeline/skills/shared/external/contacts-framework/evals/evals.json": "24baa24023f4b668c2c009288828956d08df26d7aa430f1159ac059adafb1bbb",
|
|
759
759
|
"pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md": "5453379d80a36231006d505d0263d0bdfcb545369972e6b5c85deae5d2aeecdd",
|
|
760
760
|
"pipeline/skills/shared/external/context-compression/SKILL.md": "03a4bb0432c176ea4625aee038d84463e1d343adf63f37b7690dd91cefecc313",
|
|
761
|
-
"pipeline/skills/shared/external/core-bluetooth/SKILL.md": "
|
|
761
|
+
"pipeline/skills/shared/external/core-bluetooth/SKILL.md": "3b7b41c7287cb86ee3c5bc477952c659fddbf050ceefbad95ab8a95ff15750be",
|
|
762
762
|
"pipeline/skills/shared/external/core-bluetooth/evals/evals.json": "8dd0f99f46195f756770cfc242127f0fba2505aa8a29583c66ebd0edb2f4ba0e",
|
|
763
763
|
"pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md": "05615f38403a6fd91e04de6d0087946dfaf93fd4af7f1a302288972faf63723f",
|
|
764
|
-
"pipeline/skills/shared/external/core-data/SKILL.md": "
|
|
764
|
+
"pipeline/skills/shared/external/core-data/SKILL.md": "c232488bc3de3542b25a8b40ba7da648a1c16b8fd467ade21dbde28620ab2c26",
|
|
765
765
|
"pipeline/skills/shared/external/core-data/evals/evals.json": "d0b3e39024cc8730f0515d7887c91569b5f4d756979826da64259f1d80ffd117",
|
|
766
766
|
"pipeline/skills/shared/external/core-motion/SKILL.md": "320b35344887d1c5918c05d20aea87e790406f83dee041f5d91be0b6fd67bdf7",
|
|
767
767
|
"pipeline/skills/shared/external/core-motion/evals/evals.json": "a2b9355c59f40a4c9d6b23589f0310152c3056ea5d7c591d7c52aa6860133b69",
|
|
@@ -769,11 +769,11 @@
|
|
|
769
769
|
"pipeline/skills/shared/external/core-nfc/SKILL.md": "0f58b94d639b887588a472385791762181286ab30f015b423d868a1cef8fa5d7",
|
|
770
770
|
"pipeline/skills/shared/external/core-nfc/evals/evals.json": "3a9104849944a4943b23c03e1b775f783075d2d4dedb6cb2d3a0ff88919b861e",
|
|
771
771
|
"pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md": "e5d8f5a19bbb7c38b67e916344365085a978f5bd73aa507967769f4a57b45e02",
|
|
772
|
-
"pipeline/skills/shared/external/coreml/SKILL.md": "
|
|
772
|
+
"pipeline/skills/shared/external/coreml/SKILL.md": "b5f3fdf161a2bd2ab839a52093f0cb99c2c3026211e48a7d13dbab712e11b255",
|
|
773
773
|
"pipeline/skills/shared/external/coreml/evals/evals.json": "ab68ab58614e693251c170ac3d1920f8b66e94792a862b1a993235e09538e347",
|
|
774
774
|
"pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md": "242ad798a154dcd886ab8ede4269b221354fc04c6246594a05b6857e87eba3d9",
|
|
775
775
|
"pipeline/skills/shared/external/council/SKILL.md": "6d69ba7de8cbfa06f94f551601b5517c91350f6dd09901df68acf979d3803134",
|
|
776
|
-
"pipeline/skills/shared/external/cryptokit/SKILL.md": "
|
|
776
|
+
"pipeline/skills/shared/external/cryptokit/SKILL.md": "419f46a3058145f48e1f38e56741dc8074441132a1834812a6d9ad020e1c2c7e",
|
|
777
777
|
"pipeline/skills/shared/external/cryptokit/evals/evals.json": "8c04736753c5c86a20155a599ec4af4ba38d6f069e4396c973b7d00bab173305",
|
|
778
778
|
"pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md": "ba2993ac2775e3146c0fb5505c29494d170c6f260ed5a1c18fae2ac4b7c5c67e",
|
|
779
779
|
"pipeline/skills/shared/external/css-modern/SKILL.md": "911a7f371b24ef43790568e358a941f8ff67c8cb6fa57b5daa1a388964d03310",
|
|
@@ -784,7 +784,7 @@
|
|
|
784
784
|
"pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md": "18aedf805b4d67355c223d08e250f4e931573ba3783cf3d17ed35869ea0da030",
|
|
785
785
|
"pipeline/skills/shared/external/debugging-strategies/SKILL.md": "b3749d22253d55840b866a81782e3fc55589edd547fc0708d79e5fe7243dced6",
|
|
786
786
|
"pipeline/skills/shared/external/debugging-strategies/references/hard-cases.md": "91272ce26aac9c43d31dba921ff4d1a0733278dd26bfecee383d20704a90940d",
|
|
787
|
-
"pipeline/skills/shared/external/device-integrity/SKILL.md": "
|
|
787
|
+
"pipeline/skills/shared/external/device-integrity/SKILL.md": "9d8c39c65f7b5918c25c7ef3dd438fe62901e61ecc6fa2d7ecbd7c9a0fcfa4c0",
|
|
788
788
|
"pipeline/skills/shared/external/device-integrity/evals/evals.json": "022b1d6c6ef187c4b6bc13f5b3563e2e0cc4bb3957584be60d2fa9ed464aa76a",
|
|
789
789
|
"pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md": "84b0d44b6a11daaae8383c7662e71dd2cd56d92bf52bde7537385beb66eb418c",
|
|
790
790
|
"pipeline/skills/shared/external/docker-expert/SKILL.md": "b3db936caa89a2c249ae64896cfb4c0a72ac45064cc081d6f99c78efe6a1f9e9",
|
|
@@ -869,23 +869,24 @@
|
|
|
869
869
|
"pipeline/skills/shared/external/live-activities/SKILL.md": "0a8b682b63b432246781133364fa4df98e4b1752ebc90994c4b39197f80522da",
|
|
870
870
|
"pipeline/skills/shared/external/live-activities/evals/evals.json": "77a5ba20a4a2d0d6ca9a1913d462bff163a60568095b40057dcd13148a0ac168",
|
|
871
871
|
"pipeline/skills/shared/external/live-activities/references/activitykit-patterns.md": "c1f8c2a88ce0c4345432b5b023a081e8169c5e9f47079b9ab130a06b58a87bd1",
|
|
872
|
-
"pipeline/skills/shared/external/localization-reuse-map/SKILL.md": "
|
|
873
|
-
"pipeline/skills/shared/external/localization-reuse-map/example-mapping.json": "
|
|
874
|
-
"pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md": "
|
|
875
|
-
"pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md": "
|
|
876
|
-
"pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md": "
|
|
877
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/
|
|
878
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/build-
|
|
879
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/
|
|
880
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-
|
|
881
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/
|
|
872
|
+
"pipeline/skills/shared/external/localization-reuse-map/SKILL.md": "ee6d437ed7ea18111074797532376d7bc09419eb3cfef6d8dde5679592457903",
|
|
873
|
+
"pipeline/skills/shared/external/localization-reuse-map/example-mapping.json": "4e36ef6a64f2facc6ee034db260241dc977a7db49119deca487e7c2c3c08fcb6",
|
|
874
|
+
"pipeline/skills/shared/external/localization-reuse-map/reference/format-and-output.md": "21739f27dbaea52047ab2abc9fdac93c53973ee1c0599b3a701d2c3c75448139",
|
|
875
|
+
"pipeline/skills/shared/external/localization-reuse-map/reference/publish-and-snapshot.md": "cda0489fccda351b47d6ffcb84210e244f23ea2abeffbcaf64f26a1c2c7c6da0",
|
|
876
|
+
"pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md": "2d0e95169c2aa3dd67bcf72fd46010d4c6f5bb0f0e74f7f66cd9b1d615cf95a9",
|
|
877
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/_shared.py": "94c24ada0a7601b7d4d41e5f8d8f788603dda61c6493b6c6ec85c88f5500e4c9",
|
|
878
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/build-artifact.py": "ba117a36981edb43d75632802363f854ecbd9d3eb5057aedff70823b2fae1638",
|
|
879
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/build-spreadsheet.py": "903592d3b81ddd94aa4c54efb4c43260f7c59bfa0a04df7583786358d90eb69a",
|
|
880
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-annotations.py": "1a478b76ed15e0b18af5eb3c0db331c78213e09169941533808a1d6a0117a456",
|
|
881
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/fetch-legacy-labels.py": "4b91791730013b2a85ed1b0e61de42bcf4bcf0abf7736056d5022a94abcb6078",
|
|
882
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/publish-confluence.py": "f716ace1f3a5777cbd33dd911681fe982c3c77748e3af1d8e9816bbf540d25d5",
|
|
882
883
|
"pipeline/skills/shared/external/localization-reuse-map/scripts/render-key-shots.py": "c2569b1f9fe7086c9d3171363ac8e03ee8131a1fcc7e82e1c6f7f9009b939a44",
|
|
883
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py": "
|
|
884
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py": "
|
|
885
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py": "
|
|
886
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py": "
|
|
884
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/render-overlay.py": "0b35d680235fb4a1e9cdd318e9ade2fe1e2276625d45dedc612fa334cd421125",
|
|
885
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-legacy-values.py": "06c7f5bbd009610e370b6b33fe15415d7cbc091dcf986f1a60d639d3b58c390c",
|
|
886
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py": "499e8523afb5736a6414cea0cbc10542ccbf99509ab97334f095c18c607d5e66",
|
|
887
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/scan-screen-keys.py": "642606c4a109f282be5467ad7c3ed5c40b993f7097028f0eb2e9a9821022e218",
|
|
887
888
|
"pipeline/skills/shared/external/localization-reuse-map/scripts/snapshot-resources.sh": "cbea5b53799b27fde00c0381ebb6056852d04fabe8bfcaac5ac5f7574e365db1",
|
|
888
|
-
"pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py": "
|
|
889
|
+
"pipeline/skills/shared/external/localization-reuse-map/scripts/verify-map.py": "1a28241018b9d5406363e74485f6b70401f70479118002a6df759c223499c5c2",
|
|
889
890
|
"pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md": "52156bbf7a55cbfa9d7a5a09279d9b2d00f3617bd4e83ec31807c4d703030e6c",
|
|
890
891
|
"pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md": "1796dbf9f28a77ec98758009da3d85a5d9290581cd25f0f54d98023e704d003f",
|
|
891
892
|
"pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/bootstrap/Package.swift": "24cdd73b17cf98a2f315e60a7f883ddec8c94572f0d1643f46f4465ffccaf4a6",
|
|
@@ -903,7 +904,7 @@
|
|
|
903
904
|
"pipeline/skills/shared/external/macos-spm-app-packaging/references/packaging.md": "c3d3784b4944e30be5878b413587a18a57e7964b88ac349444457cc911f2ab02",
|
|
904
905
|
"pipeline/skills/shared/external/macos-spm-app-packaging/references/release.md": "5593058f07dbdb4a2bda0d27dff094dd57170fe5c10dd48ed065e088d30611a5",
|
|
905
906
|
"pipeline/skills/shared/external/macos-spm-app-packaging/references/scaffold.md": "4eaff69594f0700196efc90da3106123fd9f82833bc193691bb0500a01756162",
|
|
906
|
-
"pipeline/skills/shared/external/mapkit-location/SKILL.md": "
|
|
907
|
+
"pipeline/skills/shared/external/mapkit-location/SKILL.md": "d6be293b79f2e0e3312db441c7c315779b7f345cea3c264508bfbf76f49e79ef",
|
|
907
908
|
"pipeline/skills/shared/external/mapkit-location/evals/evals.json": "d50a323786845f4c06f5ece5bb888d55827374e54bc6a3d0997bf28a771d5b58",
|
|
908
909
|
"pipeline/skills/shared/external/mapkit-location/references/mapkit-corelocation-patterns.md": "87d9dedec8f6139123b13413a9f2fb6bc015bf63160800ccab35524b4b09eb4d",
|
|
909
910
|
"pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md": "916fd2a78d8055d30b7943bdfceb46b5f85b47d8a8207c1557007aeb0adefef3",
|
|
@@ -970,7 +971,7 @@
|
|
|
970
971
|
"pipeline/skills/shared/external/skill-creator/examples.md": "c126fd05796033828607bca44ecf5c5e7719251159b07702c80356d565e2c088",
|
|
971
972
|
"pipeline/skills/shared/external/skill-creator/label-check.md": "b92966967c8703ce352d8328672ab745147737ea43fbb517c5683249b080d8d0",
|
|
972
973
|
"pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js": "c2be5b99bd93fea9a56d7892c8aede2233c435edc60479c2a8aa370352b0bb34",
|
|
973
|
-
"pipeline/skills/shared/external/skill-creator/template.md": "
|
|
974
|
+
"pipeline/skills/shared/external/skill-creator/template.md": "ebcd94c957302da1cd98ed24bc71681cdbd6d2e59abad174897e10fbc30646bb",
|
|
974
975
|
"pipeline/skills/shared/external/speech-recognition/SKILL.md": "a58c5171aa43c573993916c35cd39d100b72a7b74671207fe1c096d56998dcfb",
|
|
975
976
|
"pipeline/skills/shared/external/speech-recognition/evals/evals.json": "2303f6faa9a64034bf2cfac4622256f6a2bf561035b9c6288c852d778a87a96a",
|
|
976
977
|
"pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md": "cc8a7ccdcdc6c4371492437ad4f718c776cc3ee654febfbd1e75612aff2db8fe",
|
|
@@ -982,7 +983,7 @@
|
|
|
982
983
|
"pipeline/skills/shared/external/storekit/SKILL.md": "abdb949df40a7b6959dd2c08286b8b7a48338d6ba0772943ea8a50c8403ff782",
|
|
983
984
|
"pipeline/skills/shared/external/storekit/evals/evals.json": "3a90968d66ac86765add2f6b54867d6bd43acb05c4c91182171d76ba8e189c64",
|
|
984
985
|
"pipeline/skills/shared/external/storekit/references/app-review-guidelines.md": "e116e3c0292f11a62561e0cbedfdb7d2595e884e140a73eec487796374c0794a",
|
|
985
|
-
"pipeline/skills/shared/external/storekit/references/core-patterns.md": "
|
|
986
|
+
"pipeline/skills/shared/external/storekit/references/core-patterns.md": "9dcb0b018349eb61435b4011f847bdda9566f3376b6e2522655c4d6affb5df6a",
|
|
986
987
|
"pipeline/skills/shared/external/storekit/references/storekit-advanced.md": "c08988b604ce0424a7b0f1789fabb4825f10c5b78acd69b3dad92a6ab507ea75",
|
|
987
988
|
"pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md": "aa3713df8e948972ad1a8ef5ff106e812527913f55a25dede0e152992c852fdf",
|
|
988
989
|
"pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json": "ef5e53784c0fd6a2529d45f0008d03be8274c00796f3e5228d55bc8b8b974cf8",
|
|
@@ -1014,12 +1015,12 @@
|
|
|
1014
1015
|
"pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md": "6797fb63c1b06d4ab89d9d5cebb617d8ae7f45b801283f3bef144596a20a5ef6",
|
|
1015
1016
|
"pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md": "98f90cd9dd9d0cc8cab23d05e05c78bc8c58a7d51451a37f1af8cd0779fc4b9a",
|
|
1016
1017
|
"pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md": "ca199709dd05b84d7277eec358d6cc8ebc96437274bd9428e80f33b779f1aee9",
|
|
1017
|
-
"pipeline/skills/shared/external/swift-concurrency/SKILL.md": "
|
|
1018
|
+
"pipeline/skills/shared/external/swift-concurrency/SKILL.md": "428a7e31167e98ef300d0c000afda438bfdd7853793571ab4d1d05623e6d4383",
|
|
1018
1019
|
"pipeline/skills/shared/external/swift-concurrency/evals/evals.json": "1013962db621805cb6bbc5d8b851b5c27d381db32df3229d553a06715c6921e8",
|
|
1019
1020
|
"pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md": "281403c9e4dc7a98f9c2424f499c3388f0201c8092d22bc7becc54fb4c9a298d",
|
|
1020
1021
|
"pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md": "95ce052f475eb0abedb8984a39b6bf0914bc862adf63b4c42a1d131a919dc68a",
|
|
1021
1022
|
"pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md": "487d7a3dc18fb86fcbe41302bba664c1e084da28b60102b78e74a2bf129f2058",
|
|
1022
|
-
"pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md": "
|
|
1023
|
+
"pipeline/skills/shared/external/swift-concurrency/references/concurrency-patterns.md": "0727883bf34ef4e8759570334b58cf80a6926f67abd02897dbdfeccac17bf2d9",
|
|
1023
1024
|
"pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md": "e16c6d277a02d8dc4ef808f858023afeb874f70300f75d5a374d9b2ff6e8bc75",
|
|
1024
1025
|
"pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md": "3f563accdd054e8faf79597e16ff0afb27bd4ac23bdb9383f7551880319fdabb",
|
|
1025
1026
|
"pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md": "c4168032624eb503dfc382b1be407f13d2fcf68ff37efd5ceea6f7862fedf31a",
|
|
@@ -1028,21 +1029,21 @@
|
|
|
1028
1029
|
"pipeline/skills/shared/external/swift-language/evals/evals.json": "97184d76a2731b847382ae6e11dedd20671e3a1792e02b1251d70cc42f1fac6a",
|
|
1029
1030
|
"pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md": "0491a034791c8f00f18277038b0812182b4025235b65eb05b518d43fa92bbcb6",
|
|
1030
1031
|
"pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md": "a7254e8ed144a11c7f5f168257b4f1060348d063573e0a05342b21d72a8127eb",
|
|
1031
|
-
"pipeline/skills/shared/external/swift-security/SKILL.md": "
|
|
1032
|
+
"pipeline/skills/shared/external/swift-security/SKILL.md": "0358e6b23ec268c51bf34d9341a80150746d2cbe7f9e4159de5133442a1b0d2e",
|
|
1032
1033
|
"pipeline/skills/shared/external/swift-security/evals/evals.json": "0242233bd24b35c3a5ddc544c161c4d6682439c732dba455ecc288657bccca76",
|
|
1033
1034
|
"pipeline/skills/shared/external/swift-security/references/biometric-authentication.md": "1a5adc717f53584a401e1c568bff4a817e4318b32c812f7c791a75bf82f537f6",
|
|
1034
|
-
"pipeline/skills/shared/external/swift-security/references/certificate-trust.md": "
|
|
1035
|
+
"pipeline/skills/shared/external/swift-security/references/certificate-trust.md": "cb7fff203e2663cc95e806ea0c232c43547fabc2e8f91956a5d45a8ca53779e4",
|
|
1035
1036
|
"pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md": "ebed571943d2572a643b7d02d2f61244f8c674ef117b757792ae8371be63bd00",
|
|
1036
1037
|
"pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md": "486195e6288956dd192b6d5213a56b25667be6c02eea6ab64882c40886d24717",
|
|
1037
1038
|
"pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md": "838ae8cac8896d14e3c137eec35afb6ff97b5471be1121ea1988dd4bf8421274",
|
|
1038
1039
|
"pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md": "c97c2eb38213437e12f217edaa29144f3701ed9be675f1a43bc4a9409321031d",
|
|
1039
1040
|
"pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md": "9df164f127f07cbb76e527ab1cd8fdb8aaf6d88a386ed3e2dff3ef2954625923",
|
|
1040
1041
|
"pipeline/skills/shared/external/swift-security/references/keychain-access-control.md": "964cc74c1195bf5c6aedd242ee3aa6d352769320e0665779279b86ef37d898cd",
|
|
1041
|
-
"pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md": "
|
|
1042
|
+
"pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md": "be9813c37d122b7ecd6060225944b8a9883c913cdef861f4b27118c4d43bdc74",
|
|
1042
1043
|
"pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md": "e46fcd46ae5e27ed6ff6681b607900632cfbcb04d3083f34b57c006e630e6946",
|
|
1043
1044
|
"pipeline/skills/shared/external/swift-security/references/keychain-sharing.md": "2209c80d4418b20890596d40d60ddfdf5df76d14c1f3e44aee034ad8256447c4",
|
|
1044
1045
|
"pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md": "1546281da8efc4cd6d5ea213d7f6a9eac10f5ebf853d07bb812e54139f8dcb65",
|
|
1045
|
-
"pipeline/skills/shared/external/swift-security/references/secure-enclave.md": "
|
|
1046
|
+
"pipeline/skills/shared/external/swift-security/references/secure-enclave.md": "10f56ff915937f292b51b674bf2dcbd997aee067fd7db8b244561bf597314991",
|
|
1046
1047
|
"pipeline/skills/shared/external/swift-security/references/testing-security-code.md": "76b06b74e247566a17fd84ed285371737f5a335e9501ae278d11dfb24d047bb9",
|
|
1047
1048
|
"pipeline/skills/shared/external/swift-testing-pro/SKILL.md": "619e0195346464f7d1ad286f11604d01946e73cec7fc1ee1066c546aaebb41af",
|
|
1048
1049
|
"pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md": "c57191b283bb943dee2037f721b10144dca7ec2cfb59979a08bb6bf90c841150",
|
|
@@ -1050,9 +1051,9 @@
|
|
|
1050
1051
|
"pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md": "51c610b5f4c7fc8b6552cba52d1a54b5463e8ea4ee065f3b009d0798f3bf1cf6",
|
|
1051
1052
|
"pipeline/skills/shared/external/swift-testing-pro/references/new-features.md": "7ce342f0462e8493d7bea079557388a84fdf873848ef11858292e4d368de53ec",
|
|
1052
1053
|
"pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md": "031811e8c907d1cec6d3e5704ccef7f65afc19f471ef09dff7773152be17aa3d",
|
|
1053
|
-
"pipeline/skills/shared/external/swift-testing/SKILL.md": "
|
|
1054
|
-
"pipeline/skills/shared/external/swift-testing/evals/evals.json": "
|
|
1055
|
-
"pipeline/skills/shared/external/swift-testing/references/testing-advanced.md": "
|
|
1054
|
+
"pipeline/skills/shared/external/swift-testing/SKILL.md": "bed2911b41450d88b77cc913648ea421d99d7c167fb49f4c8bcf54b580952c29",
|
|
1055
|
+
"pipeline/skills/shared/external/swift-testing/evals/evals.json": "751ba02be426e6a4768c28b8c7454c017ec55f5d27a28145133049b0c2ded7b1",
|
|
1056
|
+
"pipeline/skills/shared/external/swift-testing/references/testing-advanced.md": "e7cf2dee756db76a727e5e39a8f76553e2a263c1d5ad3d23d504cf91e5b9ef71",
|
|
1056
1057
|
"pipeline/skills/shared/external/swift-testing/references/testing-patterns.md": "ba2fec0625430c19bbdfabbad4c6e886714d0d83c151c19344dfa58fc016bb87",
|
|
1057
1058
|
"pipeline/skills/shared/external/swiftdata-pro/SKILL.md": "a5782c558a8127e11555549d2c850c9430b357b36f3d728646163e3409f05144",
|
|
1058
1059
|
"pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md": "2acd659218e5409eb2682fd082345b1586fd81b6aefdbc2fe0c82a2ba0a12ce7",
|
|
@@ -1060,7 +1061,7 @@
|
|
|
1060
1061
|
"pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md": "4b3c8d3692df5b7ec1136736d3a077014ebd20a8f1637e9f90f20dbd6317c49c",
|
|
1061
1062
|
"pipeline/skills/shared/external/swiftdata-pro/references/indexing.md": "909167e538461bf517f8fc6b00bfe70d1c8ea19b12a4749088823c275de52a82",
|
|
1062
1063
|
"pipeline/skills/shared/external/swiftdata-pro/references/predicates.md": "623c3195fccdec0ec95c0291223ced7491025b04e59c0b4f4fe5ffd23eb1019b",
|
|
1063
|
-
"pipeline/skills/shared/external/swiftdata/SKILL.md": "
|
|
1064
|
+
"pipeline/skills/shared/external/swiftdata/SKILL.md": "5fa27f7d9c0997acc5959ad811aa4b49ccbd34d62b5237556e1ffaa650447163",
|
|
1064
1065
|
"pipeline/skills/shared/external/swiftdata/evals/evals.json": "12115e5248fdae6b4fe479c169ffb6e7ea63b8022f962e40a0bd1e642e085b25",
|
|
1065
1066
|
"pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md": "c5a5ccacb0f627775f99cefd3d92729a500bc00a4626b73b8a045887e471deaa",
|
|
1066
1067
|
"pipeline/skills/shared/external/swiftdata/references/indexing.md": "b643d107fac00e22db7c7e068e1270a3bd90c86babcc138ac5286205f571cfd4",
|
|
@@ -1105,11 +1106,11 @@
|
|
|
1105
1106
|
"pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md": "f2f3f3031e059d676e3439dfff8d5c62fcbb0746c925c3b8cc4e70a26f4c7781",
|
|
1106
1107
|
"pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md": "bbcaeda80b6c052a521a63880f0f2f6ddabc589d4c65455b4286a26b4cce4808",
|
|
1107
1108
|
"pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md": "088ea5bb59aa5069daa46ccd08fbda09eef66304d0107794fbbe8fdbe6ed120a",
|
|
1108
|
-
"pipeline/skills/shared/external/swiftui-navigation/SKILL.md": "
|
|
1109
|
+
"pipeline/skills/shared/external/swiftui-navigation/SKILL.md": "422a6c0b680d422af731474a9b03d141ef04e1f16359ce25a3ba22780f2bf1c2",
|
|
1109
1110
|
"pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md": "4a764acf5c3418e461c11d5817606a0bce943a34aed45f365d399a91b9769e78",
|
|
1110
|
-
"pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md": "
|
|
1111
|
+
"pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md": "791fb1ba0e9a0dff9e4462d7eb20f06363b7c38d26efc7c247706b133b851e45",
|
|
1111
1112
|
"pipeline/skills/shared/external/swiftui-navigation/references/sheets.md": "5368db1cea7bc2d21a423a650d2ae23e80d9be4f6dd524fe5b823f1d1a1522bf",
|
|
1112
|
-
"pipeline/skills/shared/external/swiftui-navigation/references/tabview.md": "
|
|
1113
|
+
"pipeline/skills/shared/external/swiftui-navigation/references/tabview.md": "d7f8d77966a051562a1f725819f5364642a6c72ecbf5a4071ed6e2b9956ec423",
|
|
1113
1114
|
"pipeline/skills/shared/external/swiftui-patterns/SKILL.md": "35c710faa4ff459f6349fcbc422bc53d4cad4c485b2b592e4fb96414778777f6",
|
|
1114
1115
|
"pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md": "91d11d813faea5f4db8a1ade7fa1b4bb8bab537dce5724acc7c673010dfd57cd",
|
|
1115
1116
|
"pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md": "33f42f119baafba86cb8d80feb757e785e6ba6f8e284627dcdd4e5cc6c041e1c",
|
|
@@ -1189,13 +1190,13 @@
|
|
|
1189
1190
|
"pipeline/skills/shared/external/vision-framework/references/vision-requests.md": "c124b2b8359fd391a93a130ab9c32f9e2bfd7cd2153df89f05a66178f7223eb8",
|
|
1190
1191
|
"pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md": "ba88bb588d0e896c851e3aa6bb3b7b20606d2d1c715e01656a3e0f54900ef5f8",
|
|
1191
1192
|
"pipeline/skills/shared/external/vue-composition/SKILL.md": "429115ba7c4fdecd134e9ea546840d6341312d348f359a8bf35690cd113c1201",
|
|
1192
|
-
"pipeline/skills/shared/external/weatherkit/SKILL.md": "
|
|
1193
|
+
"pipeline/skills/shared/external/weatherkit/SKILL.md": "db8a11fc9c572c6d9754c031ad97a868c5d0e6748855d90b72a2aeb44e2d4255",
|
|
1193
1194
|
"pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md": "81a54949c6abde31019100f85876c69488e5bf80deb77ddbc8504955a87a82a3",
|
|
1194
1195
|
"pipeline/skills/shared/external/web-accessibility/SKILL.md": "a1cd782292982a3c37fd8d1eedaae85f860886f492b2666b73735c6261025594",
|
|
1195
1196
|
"pipeline/skills/shared/external/web-performance/SKILL.md": "b9983bb39f9a65daad5aca4fb97c88ecbd7c0639b39023dc5c7c6784c4c1c868",
|
|
1196
1197
|
"pipeline/skills/shared/external/web-testing/SKILL.md": "3120db537a687adfbf396e500f4e146880e4b1a00ab339f85ab526853c947447",
|
|
1197
|
-
"pipeline/skills/shared/external/widgetkit/SKILL.md": "
|
|
1198
|
-
"pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md": "
|
|
1198
|
+
"pipeline/skills/shared/external/widgetkit/SKILL.md": "d4bce1c362e57616b252304414cfd01354586c7ed0be6c22f61efcc0980e26b0",
|
|
1199
|
+
"pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md": "b04ca376ecc86ab17a9a6e86c081b6c7720cb6c614c091ec0ef1d41ba2d30a16",
|
|
1199
1200
|
"pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md": "3554d7b310fadfb1afd48793d01f08d91e47a596af0001bd575b61e21e29c19f",
|
|
1200
1201
|
"pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md": "8087ebebff618af462200af9a49f825281ea039feaa7c5d5e3dbc49afe425798",
|
|
1201
1202
|
"pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md": "036c6b7de76974dd6648d0edc64cf6d950b079a3a2e509b61138dba560518c9d",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "20.8.
|
|
3
|
+
"version": "20.8.1",
|
|
4
4
|
"description": "6-phase AI development pipeline with full orchestration on Claude Code, Copilot CLI and Codex CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
22
|
"start": "node index.js",
|
|
23
|
-
"test": "npm run format:check && npm run lint && node --test test/*.test.mjs && node pipeline/scripts/run-smokes.mjs && node pipeline/scripts/lint-skills.mjs && node pipeline/scripts/lint-personas.mjs && node pipeline/scripts/lint-mcp-refs.mjs && node pipeline/scripts/eval-triage.mjs && node pipeline/scripts/eval-golden-tasks.mjs && node pipeline/scripts/eval-intent.mjs && node pipeline/scripts/eval-recall.mjs && node pipeline/scripts/eval-guard-robustness.mjs && node pipeline/scripts/validate-schemas.mjs && node pipeline/scripts/validate-prefs.mjs && node pipeline/scripts/scorecard.mjs",
|
|
23
|
+
"test": "npm run format:check && npm run lint && node --test test/*.test.mjs && node pipeline/scripts/run-smokes.mjs && node pipeline/scripts/lint-skills.mjs && node pipeline/scripts/gen-skills-index.mjs --check && node pipeline/scripts/lint-personas.mjs && node pipeline/scripts/lint-mcp-refs.mjs && node pipeline/scripts/eval-triage.mjs && node pipeline/scripts/eval-golden-tasks.mjs && node pipeline/scripts/eval-intent.mjs && node pipeline/scripts/eval-recall.mjs && node pipeline/scripts/eval-guard-robustness.mjs && node pipeline/scripts/validate-schemas.mjs && node pipeline/scripts/validate-prefs.mjs && node pipeline/scripts/scorecard.mjs",
|
|
24
24
|
"test:unit": "node --test test/*.test.mjs",
|
|
25
25
|
"test:smoke": "node pipeline/scripts/run-smokes.mjs",
|
|
26
26
|
"lint:skills": "node pipeline/scripts/lint-skills.mjs",
|
package/pipeline/lib/redact.mjs
CHANGED
|
@@ -22,8 +22,9 @@ const CERTAIN = RULES.filter((r) => r.certain);
|
|
|
22
22
|
/** @param {string} text */
|
|
23
23
|
export function redact(text) {
|
|
24
24
|
if (typeof text !== "string" || !text) return text;
|
|
25
|
-
// Invisible characters are removed first
|
|
26
|
-
//
|
|
25
|
+
// Invisible characters are removed first, joiners included, so a token split
|
|
26
|
+
// by one cannot slip past the rules. The logged line loses them too: an emoji
|
|
27
|
+
// sequence joined by U+200D prints as its separate parts.
|
|
27
28
|
let out = stripInvisible(text);
|
|
28
29
|
for (const rule of CERTAIN) {
|
|
29
30
|
const re = new RegExp(
|
|
@@ -100,6 +100,18 @@ for (const k of order) {
|
|
|
100
100
|
md += `\n`;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
const target = join(SKILLS_ROOT, "README.md");
|
|
104
|
+
if (process.argv.includes("--check")) {
|
|
105
|
+
const current = existsSync(target) ? readFileSync(target, "utf8") : "";
|
|
106
|
+
if (current !== md) {
|
|
107
|
+
console.error(
|
|
108
|
+
"gen-skills-index: pipeline/skills/shared/README.md is stale - run node pipeline/scripts/gen-skills-index.mjs",
|
|
109
|
+
);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
console.log("gen-skills-index: README.md is current");
|
|
113
|
+
process.exit(0);
|
|
114
|
+
}
|
|
115
|
+
writeFileSync(target, md);
|
|
104
116
|
const filledCategories = Object.values(buckets).filter((b) => b.length).length;
|
|
105
117
|
console.log(`wrote ${total} skills (${breakdown}) across ${filledCategories} categories`);
|
|
@@ -176,6 +176,10 @@ scan_file() {
|
|
|
176
176
|
|
|
177
177
|
# A token written with an invisible character or a look-alike letter: scan a
|
|
178
178
|
# folded copy too. Only non-ASCII content pays for the node call.
|
|
179
|
+
if printf '%s' "$content" | LC_ALL=C grep -q '[^ -~[:space:]]' 2>/dev/null \
|
|
180
|
+
&& { ! command -v node >/dev/null 2>&1 || [ ! -f "$PRE_COMMIT_DIR/../lib/normalize-text.mjs" ]; }; then
|
|
181
|
+
echo "pre-commit-check: node or lib/normalize-text.mjs unavailable - non-ASCII content scanned without look-alike folding" >&2
|
|
182
|
+
fi
|
|
179
183
|
if printf '%s' "$content" | LC_ALL=C grep -q '[^ -~[:space:]]' 2>/dev/null \
|
|
180
184
|
&& command -v node >/dev/null 2>&1 \
|
|
181
185
|
&& [ -f "$PRE_COMMIT_DIR/../lib/normalize-text.mjs" ]; then
|