@mmerterden/multi-agent-pipeline 20.17.1 → 20.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/docs/facts.json +6 -6
  3. package/install/_mcp-register.mjs +1 -1
  4. package/install/_xcode-skills.mjs +263 -0
  5. package/install/catalog-history.json +1 -1
  6. package/install/claude.mjs +23 -0
  7. package/install/codex.mjs +11 -0
  8. package/install/copilot.mjs +9 -0
  9. package/manifest.json +85 -45
  10. package/package.json +1 -1
  11. package/pipeline/commands/multi-agent/stack/SKILL.md +2 -0
  12. package/pipeline/lib/xcode-plugin.mjs +131 -0
  13. package/pipeline/multi-agent-refs/features/doctor.md +10 -0
  14. package/pipeline/scripts/doctor.mjs +38 -0
  15. package/pipeline/scripts/uninstall.mjs +57 -1
  16. package/pipeline/skills/.skill-manifest.json +33 -13
  17. package/pipeline/skills/.skills-index.json +66 -11
  18. package/pipeline/skills/shared/README.md +18 -13
  19. package/pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md +3 -1
  20. package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +2 -1
  21. package/pipeline/skills/shared/external/hig-app-icons/SKILL.md +159 -0
  22. package/pipeline/skills/shared/external/hig-app-icons/evals/evals.json +48 -0
  23. package/pipeline/skills/shared/external/hig-app-icons/evals/trigger-eval.json +22 -0
  24. package/pipeline/skills/shared/external/hig-app-icons/references/icon-workflow.md +115 -0
  25. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +32 -4
  26. package/pipeline/skills/shared/external/hig-components-layout/evals/evals.json +47 -0
  27. package/pipeline/skills/shared/external/hig-components-layout/evals/trigger-eval.json +22 -0
  28. package/pipeline/skills/shared/external/hig-components-layout/references/bars-and-tabs.md +231 -0
  29. package/pipeline/skills/shared/external/hig-components-layout/references/containers.md +5 -30
  30. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
  31. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +23 -4
  32. package/pipeline/skills/shared/external/hig-foundations/evals/evals.json +47 -0
  33. package/pipeline/skills/shared/external/hig-foundations/evals/trigger-eval.json +21 -0
  34. package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +34 -26
  35. package/pipeline/skills/shared/external/hig-foundations/references/type-color-spacing.md +219 -0
  36. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +5 -4
  37. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +19 -3
  38. package/pipeline/skills/shared/external/hig-patterns/references/onboarding-and-states.md +188 -0
  39. package/pipeline/skills/shared/external/hig-patterns/references/patterns.md +5 -11
  40. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +17 -5
  41. package/pipeline/skills/shared/external/hig-platforms/references/ipad-layout.md +218 -0
  42. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +4 -1
  43. package/pipeline/skills/shared/external/ios-accessibility/references/large-content-and-appearance.md +135 -0
  44. package/pipeline/skills/shared/external/ios-design-review/SKILL.md +146 -0
  45. package/pipeline/skills/shared/external/ios-design-review/evals/evals.json +48 -0
  46. package/pipeline/skills/shared/external/ios-design-review/evals/trigger-eval.json +22 -0
  47. package/pipeline/skills/shared/external/ios-design-review/references/appearance-matrix.md +135 -0
  48. package/pipeline/skills/shared/external/ios-design-review/references/checklist.md +193 -0
  49. package/pipeline/skills/shared/external/ios-haptics/SKILL.md +191 -0
  50. package/pipeline/skills/shared/external/ios-haptics/evals/evals.json +49 -0
  51. package/pipeline/skills/shared/external/ios-haptics/evals/trigger-eval.json +22 -0
  52. package/pipeline/skills/shared/external/ios-haptics/references/core-haptics.md +215 -0
  53. package/pipeline/skills/shared/external/ios-iphone-duo/NOTICE.md +53 -0
  54. package/pipeline/skills/shared/external/ios-iphone-duo/SKILL.md +179 -0
  55. package/pipeline/skills/shared/external/ios-iphone-duo/evals/evals.json +65 -0
  56. package/pipeline/skills/shared/external/ios-iphone-duo/evals/trigger-eval.json +22 -0
  57. package/pipeline/skills/shared/external/ios-iphone-duo/references/api-map.md +212 -0
  58. package/pipeline/skills/shared/external/ios-iphone-duo/references/fixed-assumptions.md +202 -0
  59. package/pipeline/skills/shared/external/ios-iphone-duo/references/poses-and-panes.md +122 -0
  60. package/pipeline/skills/shared/external/ios-sf-symbols/SKILL.md +177 -0
  61. package/pipeline/skills/shared/external/ios-sf-symbols/evals/evals.json +49 -0
  62. package/pipeline/skills/shared/external/ios-sf-symbols/evals/trigger-eval.json +22 -0
  63. package/pipeline/skills/shared/external/ios-sf-symbols/references/effects-and-custom-symbols.md +135 -0
  64. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +38 -50
  65. package/pipeline/skills/shared/external/swiftui-animation/evals/evals.json +47 -0
  66. package/pipeline/skills/shared/external/swiftui-animation/evals/trigger-eval.json +22 -0
  67. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +7 -73
  68. package/pipeline/skills/shared/external/swiftui-animation/references/scroll-effects.md +185 -0
  69. package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +6 -6
  70. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +3 -253
  71. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +4 -47
  72. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +3 -111
  73. package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +11 -381
  74. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +184 -224
  75. package/pipeline/skills/shared/external/swiftui-liquid-glass/evals/evals.json +47 -0
  76. package/pipeline/skills/shared/external/swiftui-liquid-glass/evals/trigger-eval.json +22 -0
  77. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +246 -33
  78. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/uikit-glass.md +227 -0
  79. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +15 -18
  80. package/pipeline/skills/shared/external/swiftui-ui-patterns/references/components-index.md +1 -1
  81. package/pipeline/skills/shared/external/swiftui-ui-patterns/references/haptics.md +6 -68
  82. package/pipeline/skills/skills-index.md +16 -11
  83. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +0 -786
package/manifest.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "20.17.1",
4
- "commit": "1f44084eaae7b7269b39de4ffa470ad55b43903a",
5
- "generatedAt": "2026-10-07T21:19:40.021Z",
3
+ "version": "20.18.0",
4
+ "commit": "896371483bce326d6cb68a1f9609ebb99e7575d6",
5
+ "generatedAt": "2026-10-09T05:37:30.195Z",
6
6
  "algorithm": "sha256",
7
- "fileCount": 1316,
7
+ "fileCount": 1356,
8
8
  "files": {
9
- "CHANGELOG.md": "57543e37694daed6e97b42901cc2feb7d415e00841d40e86425cf332ac72c49e",
9
+ "CHANGELOG.md": "76773c616fec7b75d1db838ce716c2f25caebb605762c786c89381dc5aeb6141",
10
10
  "LICENSE": "8d8c51aaf1e1538b180c69965fa038db71be86798cc3e26a143bebfefe16a43e",
11
11
  "README.md": "1336cf131fdc0dbab1dd8b90fcd5614bd19d27b92b4f91ab99c3108d61cb51e1",
12
12
  "README.tr.md": "7979b32e6c72aedc3a6affe85f33b2840e72f056a836e8546566d259b236ff29",
@@ -33,7 +33,7 @@
33
33
  "docs/best-practices.md": "f8b75b0d38b5896a6a852bb30a1edddeb24dab8b5b7b1d9313290e1241c72024",
34
34
  "docs/ecosystem.md": "d504124f421748744599f6974ec71d52664affc47740665651cca5ddc17d0c71",
35
35
  "docs/engineering.md": "550528cd47c7d2c921729c68d0782a00ac8e77a4bdfec479f6749f9c3235d188",
36
- "docs/facts.json": "67e3e62d1eae9865ede020f765a50580280fd941041524db7a909a23adc25206",
36
+ "docs/facts.json": "fd737a1eef03c1cdda33d9d4173556998b39c7bc2d3cfca06c3bcb887a18ce20",
37
37
  "docs/features.md": "87ae163280fe05b36ff9f664b1bf9d98b697cc498731d47298751b439fa7a35c",
38
38
  "docs/performance.md": "bbf2f3922c25dcba0c1a9e69ef420e3871a729af5b35009a49b48a5d3c5cd151",
39
39
  "docs/recovery-guide.md": "59a8f1b66b34cb9ff5507b3d54dac3b9915e184aa044d9c758d18cac818d510e",
@@ -46,15 +46,16 @@
46
46
  "install/_copilot-instructions.mjs": "73e4b82b2af0f3e1669f772fa0788dac6b540c131e56d5fe38dcf29be85cc019",
47
47
  "install/_dev-only-files.mjs": "3391819c5e779b9e6d5a330d4937509c591e4c35ac937d25bafd86b37ca95b73",
48
48
  "install/_managed-block.mjs": "7328728a7c82744b66218034389fc295d1384311daa5415408afa94be14303d3",
49
- "install/_mcp-register.mjs": "1b1c294c3333c912aab3929ef67dc68b1e24e65d01f2073bf7e23193b3e37c71",
49
+ "install/_mcp-register.mjs": "d5a53ba2c8c779cd02e62c845270c5a2dbe717ffe852d9672998e643744c70ce",
50
50
  "install/_platform-filter.mjs": "1c66acc79da0da0c1aa5a57050989e84198c3153e6437ee03f1d3bacbb12ff2c",
51
51
  "install/_plugin-skills.mjs": "2de429260472a7b60bfe800eabc111624fa5f82a175e283481b05e5349dad572",
52
52
  "install/_telemetry.mjs": "5433d753f909beed2c8789272bba05e245482c472f83d3444f58000c4c9a634b",
53
53
  "install/_unattended-profile.mjs": "e1ed82bde35d19105ee12c2a551eb778912b0e5c93ab227fd15c993098d98de0",
54
- "install/catalog-history.json": "837e451fe78c2bcc1198125d1fdc40e89f1c51833d24765b998a58095cf235f8",
55
- "install/claude.mjs": "5a924a9cc51c9e67e26f4bbe9495d8f8226ca6d5065d2b5c9c9f0482fe4064dd",
56
- "install/codex.mjs": "88c3f90b29fff8579d972d97c90e40f969c8f5dc2d64a6fdc1dfa90155c5e45b",
57
- "install/copilot.mjs": "300a74f17084d1a38f16428ca7477394c29e33cd755156e19b92e457999be234",
54
+ "install/_xcode-skills.mjs": "1a7e20f1e6743324b941c5d3ecac9f94c65fff1534ffd9c63b39cbea4f8d101a",
55
+ "install/catalog-history.json": "0d6a9cb4eb8d228e4bb5133910fa7b7a0a3d223195dfb6643a42f7d75afcd201",
56
+ "install/claude.mjs": "106ce353ebc19c8319d057ce342e1f989519510465c798399076b5f3d8727904",
57
+ "install/codex.mjs": "08925fe9f3ecdf509b37f01105652c847475d20fcde2db0d679b9a7d663ca145",
58
+ "install/copilot.mjs": "41dc394b8a3ae77cfd194ce0ca9bbcafce9bdce349f1f72eeb86569f993e15fe",
58
59
  "install/index.mjs": "07ec26ecdd81cc983f146faf4b7095c98edce39c89a6fd83c24ce43229d2d9e7",
59
60
  "install/templates/claude-hooks.json": "12d6bb0c3cd7d71b1d2029e2eb4370ca7b5ee55bd88f96b09c927d8119a87be7",
60
61
  "install/templates/codex-instructions.md": "dd78eb9553e725c039380457245793a5fc748ae37ebf5ccfe11be5ed5b9a4025",
@@ -62,7 +63,7 @@
62
63
  "install/templates/multi-agent-autopilot-awake.plist.template": "ddd25c76c56fcbb38a89de8e35637372d70ace993d6bc487a88ca9cfb702fe1f",
63
64
  "install/templates/multi-agent-autopilot.plist.template": "122c8a61cd927edd99375d6e3da40f1d42bcceed5b6641785c8b28bb930bc77e",
64
65
  "install/unattended-profile-legacy.json": "f52e86b998956f09ad306b1735a6c10b58580d7082d8a55665a4c6bb15c3aa1f",
65
- "package.json": "bb79203813adec7bca1c031daecc49a813ea3930179b795abe55a20ad387cab4",
66
+ "package.json": "ea701923f2dbd97b1c712d609729f9cea25b3ccbf18eb447d9a604e22fc20e9b",
66
67
  "pipeline/agents/android-architect.md": "11fb74543cb0ebcf9525ca6654fe95d53da7229e0bf4a1149b31fd9005abc453",
67
68
  "pipeline/agents/backend-architect.md": "b02a606c301e4714131aed70ae6d16eeb77fbc819a001e2752cff2488d4246de",
68
69
  "pipeline/agents/bulk-reader.md": "6597052cd7d205bac2b1c7633f5232fe1a40730664a913b8eb77efd5a786dc25",
@@ -129,7 +130,7 @@
129
130
  "pipeline/commands/multi-agent/security-review/SKILL.md": "dfc2fad484c81169912062391f7ad97500ef113d95741902e5e18e7dd60b6da1",
130
131
  "pipeline/commands/multi-agent/serve/SKILL.md": "e931219d8be258a155a692d23c2b275c2e7e0a761b3f0354c943e26d2ce7b035",
131
132
  "pipeline/commands/multi-agent/setup/SKILL.md": "b6b4af9eac2ec9454dda08d960ab9ed559421e167f6726915b451e86fbb3f058",
132
- "pipeline/commands/multi-agent/stack/SKILL.md": "6d64e96b9a2d41d25ff077afa84300172cac9bf9dd78ec1d9fbbaf45df34f5dd",
133
+ "pipeline/commands/multi-agent/stack/SKILL.md": "26ecb48b28b61250330edb26fdfd014e401992e4f1329c572766ba4e2dc6e35d",
133
134
  "pipeline/commands/multi-agent/status/SKILL.md": "b08338841a5282f8ae2494751001aa31cbf4829146a58ed2c395b1c062b48443",
134
135
  "pipeline/commands/multi-agent/steer/SKILL.md": "07e738c228ba328f717f86e97e7af207df090b16433e28e613d430c3ff0aee3e",
135
136
  "pipeline/commands/multi-agent/store-ready/SKILL.md": "927181a7ea4890ea2ce3e8523c2f0563829e8827aa6ed92884b76a84521a378f",
@@ -238,6 +239,7 @@
238
239
  "pipeline/lib/user-facing.sh": "969038aa575a7075cbc8c2857b3e6bddfa5c8ea8a15811ad65c6660735539b76",
239
240
  "pipeline/lib/vercel-deploy.sh": "50d3d8a0b2c60daf90365396f37337d89a60230a94e7bd4c89b19acf1849de99",
240
241
  "pipeline/lib/workspace-trust.mjs": "baa33eb4bef709578c554fb6f1c5952d838a3fe154422e7e671ac485e49518dc",
242
+ "pipeline/lib/xcode-plugin.mjs": "79d1bef0ec5c7909f970ff8772c8422adbaf6217b6f72c44c531a124d1a12fd0",
241
243
  "pipeline/multi-agent-refs/_account-picker.md": "42715ba746e1fc681a57436d72fc643e3f16de023f0409fee8782b013f7a144a",
242
244
  "pipeline/multi-agent-refs/_dev-context.md": "4d0905cc537c7f8526d3c92cf09bb44d2ab50680470ee0baa2dd5c3b1d0565d5",
243
245
  "pipeline/multi-agent-refs/_input-parser.md": "4cf222b1c4a405bd71521f5290f45408cc8a47913a0a39166c68210104e90cc5",
@@ -290,7 +292,7 @@
290
292
  "pipeline/multi-agent-refs/features/cost-analysis.md": "42f1b90b41ef454f29ccfd3f93c959920f0e74cbca65e140695e9a30d6d90b87",
291
293
  "pipeline/multi-agent-refs/features/design-conformance.md": "a88ca595827cafa0c87c2facfcf9190dac69485e0596e5c198c6fc1613880452",
292
294
  "pipeline/multi-agent-refs/features/dev-critic.md": "08e01edef04b5ac216f8f43332126966d33da7b95625e47a8a6cd8ac105b263f",
293
- "pipeline/multi-agent-refs/features/doctor.md": "708aba37c507bf7559af816e6328a11ba0acdc6d61d023bc10afc727d068876a",
295
+ "pipeline/multi-agent-refs/features/doctor.md": "62ff75a085095b11818ffabb97bd76e62e58de6affd24f4eaf3d9f89f2fe1d66",
294
296
  "pipeline/multi-agent-refs/features/exploratory-testing.md": "3ee81dc5d42068b09b6e31c7649ee57ff73e30480237c8c4a0571c78d996928d",
295
297
  "pipeline/multi-agent-refs/features/external-context-injection.md": "fe0373f27c3e9aae660a55a3ba9a8163df329b4d95c727d6023b6b3afaf71d66",
296
298
  "pipeline/multi-agent-refs/features/jira-context.md": "7d14802ed9ad1747e1a06dec26f22ff9e8959e03c47d7a018af45b8274aea47c",
@@ -550,7 +552,7 @@
550
552
  "pipeline/scripts/crush-json.mjs": "303382670f8f170c8c6710202853a2de2915625813cd157185f9be4e2b27258e",
551
553
  "pipeline/scripts/diff-explain.mjs": "194d0635639607cb1af3de064453162e01c0d59dc0c2e187d21d45bae3bc559c",
552
554
  "pipeline/scripts/diff-risk-score.mjs": "b3e8da42fea1258162e40f4eb7809074831339b7563874527f7e825f7aa795ca",
553
- "pipeline/scripts/doctor.mjs": "c80e2fe229f9d77d922ff9162313b141923be9c6faf3128e11b0bb7c44986c93",
555
+ "pipeline/scripts/doctor.mjs": "a86a39b3eab13158166f44133c1fdc1fda3d4cc7ad0122f3dc47e3cfae2f5ad1",
554
556
  "pipeline/scripts/estimate.mjs": "9847e412dd74ac19a5c3b84bed343f79d25f256022b2df98e3eb1296db45ed3a",
555
557
  "pipeline/scripts/evidence-gate.mjs": "347a8d3fa1d17d996de345585c216bd7071f4c1d687999daf6e48881720ea5df",
556
558
  "pipeline/scripts/explore-findings.mjs": "997cca3ef42a170ff51ee2c382263eff8653affd6bb675877b94b8bba782e717",
@@ -660,7 +662,7 @@
660
662
  "pipeline/scripts/triage-memory.mjs": "2d8541145f1749593ae5728fb4c9eb3001484edb5e4d37be473aeec34d1dbe7c",
661
663
  "pipeline/scripts/ui-tree-dumper.swift": "a09e42ef069eafa08c05afd8333e05b754ef6a7d8b9687712039b0f2c9801273",
662
664
  "pipeline/scripts/unattended_policy.py": "f1df6470c798bd7d4bc9f8338eaabf98bdcfab00198d98b7e2e654aab84b709c",
663
- "pipeline/scripts/uninstall.mjs": "6ca82cb55910d085feca776a6cd4c28adcf0a42fb07358e4bab27c89a9d913a5",
665
+ "pipeline/scripts/uninstall.mjs": "ba11803733cf3bfcc966f0d4aa2cc5fbed000cb37a251005f067ce0289306233",
664
666
  "pipeline/scripts/update-check.sh": "9c00647e7ca4249414b2e5af08f61705ab5bd2106b6f66ae8ebce8aa143dc957",
665
667
  "pipeline/scripts/update-issue-progress.sh": "ccfef87743e91272e009e396ac07461d2784b2fa84a06c802a582526eeeb9ed9",
666
668
  "pipeline/scripts/usage-identity.mjs": "1ea8ffb5a52aa5f98a7ea491f12af02d86f711666ac0cc37cac59c70e182aaf4",
@@ -688,9 +690,9 @@
688
690
  "pipeline/scripts/worktrees.mjs": "90dfd09b70fffe9b56c331a4ae2692cc248f4898f4ee6aee4239ef0b20888a90",
689
691
  "pipeline/scripts/write-state.mjs": "e1198bf970eace07d3eff22b394808a526e473df65d3d58aa2d5a12cfdac8b49",
690
692
  "pipeline/scripts/write-store-config.mjs": "b994a061f6febb2ca3d396074d8b51d2c1c1f991d3072d321703380da3639a56",
691
- "pipeline/skills/.skill-manifest.json": "443e434af0582dfe6173f3a8148fb13d11f70f909e22119b1acac15049e1b62f",
692
- "pipeline/skills/.skills-index.json": "2e3876489f0939473e43df854b97fb93ca5c2de5be7ccc69c1997daba26f2e58",
693
- "pipeline/skills/shared/README.md": "259f1188a867dafbf17ca3796b9b2b13bad8a01b7f6ab45e96eacf0c409c0eab",
693
+ "pipeline/skills/.skill-manifest.json": "48f84aac9947e30a91e65ca97ff41b327b43af8b3643883f2a19e0169bfc89b9",
694
+ "pipeline/skills/.skills-index.json": "b2917fa44e273b939549f1c3ab3dd81c26ba8168772bc7644c9fa076116d8a4c",
695
+ "pipeline/skills/shared/README.md": "928fe4292be729c3b7d7d0898cade8be0dfa868f208e0c6d1fe7b2c6bd6223c5",
694
696
  "pipeline/skills/shared/core/apple-archive-compliance/SKILL.md": "7239fef717ea45b79276bfcc2c3903acd57950b6e00dd6a2a66399c4b09cbd51",
695
697
  "pipeline/skills/shared/core/apple-archive-compliance/references/rules.yml": "25129ce6d416242ac04c4032f7561e0c2761ab8bbadf08d9c9f49b573a663389",
696
698
  "pipeline/skills/shared/core/google-play-compliance/SKILL.md": "3089e8c5f99c1ec7c1358394c398335ccb5ebc20ca05d60d870127da4592de34",
@@ -760,8 +762,8 @@
760
762
  "pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md": "9dccf78ffc2fb014d83f67d683d395f56f4fad8b5a36b9aa84e6cbd075b58818",
761
763
  "pipeline/skills/shared/core/multi-agent-update/SKILL.md": "013317432263490a01d081b657928b977012afb78f75a64d278d94d2daa8e894",
762
764
  "pipeline/skills/shared/core/multi-agent/SKILL.md": "3dd44ccc00e41c09e59ad223900a391f80158bd3f69e45d67c684285bc42418d",
763
- "pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md": "24df1d1dfb47b06b8fafb98938cf1b353fb0245c3a8f8212e197321d537dadff",
764
- "pipeline/skills/shared/external/NOTICE-dimillian-skills.md": "b98a170d97836f00ac6ee9c80e0befde324a6062071dc06a7eedce65fa5141cd",
765
+ "pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md": "400842e4653f038fad22509fe3f3d152151120758f5f9b170e6dba59afaf4a48",
766
+ "pipeline/skills/shared/external/NOTICE-dimillian-skills.md": "f9c3d783fd3563418c18291b90899251e890fd3fa8ee353c8c1fbbe61078526e",
765
767
  "pipeline/skills/shared/external/NOTICE-paul-hudson-skills.md": "bca5fe8779df70fb0f234483d65ff3562c67521e719b69b22aac260803b75244",
766
768
  "pipeline/skills/shared/external/NOTICE-vibeship-spawner-skills.md": "4ccfb28ee2444776958451905cf2f2bc3f567484b583f75e9354d4abc5cec9c8",
767
769
  "pipeline/skills/shared/external/NOTICE-xcode-build-skills.md": "95b644eeabf99bcab20c2cf4c523e68d5516a1c48a07db7429b7ee034d67249d",
@@ -902,19 +904,31 @@
902
904
  "pipeline/skills/shared/external/healthkit/SKILL.md": "fece1986bc35925e34fed8d8cb13aa59a3577b8cedefdc02c736c0d4a5d38aff",
903
905
  "pipeline/skills/shared/external/healthkit/evals/evals.json": "58dc5a067beeb0877995f31f2f69b9f48f08af1f9bbb5e5f1e07277378725675",
904
906
  "pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md": "28914832acf8fa7c6fba2a6d8cc227f91f3049201164c7c919d157263812b1da",
907
+ "pipeline/skills/shared/external/hig-app-icons/SKILL.md": "70168a30347b1c51ff72ed30b54443add2e1ad63a6aae0aa79bb32bd87d00c4d",
908
+ "pipeline/skills/shared/external/hig-app-icons/evals/evals.json": "cc08f769bb2e6a0e965dd7b6d50ef63b37da45b293b8008732e095f6ed1638b6",
909
+ "pipeline/skills/shared/external/hig-app-icons/evals/trigger-eval.json": "122148e1739bed0adff1cc332c77fc8aece3d4cf382563e9d4c2aaf9a083e1f6",
910
+ "pipeline/skills/shared/external/hig-app-icons/references/icon-workflow.md": "abd6b913d151b157ae08907514a11b01ed28730e0738e276ff38428d61c0a8ac",
905
911
  "pipeline/skills/shared/external/hig-components-content/SKILL.md": "910e4e24c47a3e103b3d398a1c49684f0990966423e2ea2d871111d6251d8a6c",
906
912
  "pipeline/skills/shared/external/hig-components-content/references/content-views.md": "bb881af7579ac5527cd673c0b6fdc7460110267295416bbe9079ac317b11052f",
907
- "pipeline/skills/shared/external/hig-components-layout/SKILL.md": "6b2fbc80d37a12f869278b9b281d28f42f5b1dfaa38bdf271fa1d5823320a179",
908
- "pipeline/skills/shared/external/hig-components-layout/references/containers.md": "304e6ddcfc49f3ffffba162ffc97a72210477da81d3a5b2a20573c857effe6e0",
909
- "pipeline/skills/shared/external/hig-components-status/SKILL.md": "52d4fb97f8709b64ec9bfbd165eaaa6fdf37a1413a8d518031eac1931d10255a",
913
+ "pipeline/skills/shared/external/hig-components-layout/SKILL.md": "dde0a923736255aa2e5de791700fc51945d3c63f41fc7ec15e252953bd7cf168",
914
+ "pipeline/skills/shared/external/hig-components-layout/evals/evals.json": "4e0c8abf389c0e5b57d5aead2420864fe07d6c02bfd94448dedbe04e222106c5",
915
+ "pipeline/skills/shared/external/hig-components-layout/evals/trigger-eval.json": "08892972b7a40fa7bdcb23c61aeed6c048fe70334e33fe012fb265409af79962",
916
+ "pipeline/skills/shared/external/hig-components-layout/references/bars-and-tabs.md": "f3d471ace386b15a2fcbe76211a81568619a709faa6a3b8b4281a44bf1e9b472",
917
+ "pipeline/skills/shared/external/hig-components-layout/references/containers.md": "dff9d294cffae86f300d3d31db0a578b1caccbd812351fe4f63b476cebd056d6",
918
+ "pipeline/skills/shared/external/hig-components-status/SKILL.md": "8458f7de5e4f3407e162ffe5c4831ce7fb3e93ee4922bfb4d45444cfa31f59fb",
910
919
  "pipeline/skills/shared/external/hig-components-system/SKILL.md": "78956108d343820162cc1a74324b23cfb93c30786e04088373273d087f26a5d8",
911
920
  "pipeline/skills/shared/external/hig-components-system/references/surfaces.md": "e59666b7a92d75b3e92a8064af057e94085f10cc42b65fd79868727fa27533e9",
912
- "pipeline/skills/shared/external/hig-foundations/SKILL.md": "1ef63dd95e6ac65297b5f7b05f687bbf46464f6bde9dd59b545e10f256885b89",
913
- "pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md": "de555d98315375cc57b3b2c596eca9a460d3deeb3dde0e9caf62de08a301e939",
914
- "pipeline/skills/shared/external/hig-inputs/SKILL.md": "8d12e3ea11963f038cfc7a3f77a4469e5511cb22c2564caa68ca3ce1d11d9ba0",
915
- "pipeline/skills/shared/external/hig-patterns/SKILL.md": "9028a1f659f5f96f5fc8f16ae9715e8058b5b049bda8a4eafc096c30c68b66f3",
916
- "pipeline/skills/shared/external/hig-patterns/references/patterns.md": "0fd177401be495f1c3061fa5cb125be317c2108a90ecd2ddd6d56ee95e73ea21",
917
- "pipeline/skills/shared/external/hig-platforms/SKILL.md": "14a4c122dce4ce56f70e9f6c5da8bed30585a22f54ec2c586185c85e9cbfb1a5",
921
+ "pipeline/skills/shared/external/hig-foundations/SKILL.md": "e0a345ef1e25b9741dc848d9aac9c5bb045a69034b22348036d769adb8441f06",
922
+ "pipeline/skills/shared/external/hig-foundations/evals/evals.json": "30eebb95f4da06d6af26b6f8a7d6a9339c708119c5fa08c558b7bc25261dc24f",
923
+ "pipeline/skills/shared/external/hig-foundations/evals/trigger-eval.json": "129f491c0abb5ae780e8263339aa3808cc27643cf9dc50a34c88ab2283eccf2f",
924
+ "pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md": "5da0244e206c201cfb6e6e4f122c583b1a17a44eec02dce0dfe79cd0f4a3c0c3",
925
+ "pipeline/skills/shared/external/hig-foundations/references/type-color-spacing.md": "dfb6ceea5656d7285693c6255cea7195394a75d1e4bd66cda73a25bde77c5811",
926
+ "pipeline/skills/shared/external/hig-inputs/SKILL.md": "ec8ec26f5a4469baa72aaa59def64a44891b1655d1ef6a1936bd4d29d926b290",
927
+ "pipeline/skills/shared/external/hig-patterns/SKILL.md": "771a08a0ba8d6268ea4139fc2cde4a99750cb2c31a78b755a41fae78efd742c9",
928
+ "pipeline/skills/shared/external/hig-patterns/references/onboarding-and-states.md": "ac1a89b4cd1c9b05690ce864cced22e803bdf54497fcc5425c3f6a1c0f9bd29e",
929
+ "pipeline/skills/shared/external/hig-patterns/references/patterns.md": "cb52279c23478964261d2bc09ec5408720f70d6dc6cc5f6f61d506d75de67daf",
930
+ "pipeline/skills/shared/external/hig-platforms/SKILL.md": "647da7ec54103b5b93198506e254d7468150fc24b880128a1bab7856390eaf25",
931
+ "pipeline/skills/shared/external/hig-platforms/references/ipad-layout.md": "e2f6959164e9fe085a6386a066f89aee1e0a1933bba3728ac873f0bcba6f59ac",
918
932
  "pipeline/skills/shared/external/hig-technologies/SKILL.md": "2f4697be51e7438bfc0e42028ba0188a1223d1d192de078a2af302cbf137caee",
919
933
  "pipeline/skills/shared/external/hig-technologies/references/technologies.md": "1cedda5774504083b165eedfd51347368e1636f7234bef7c13310fb736b499d0",
920
934
  "pipeline/skills/shared/external/homekit-matter/SKILL.md": "629db155a0b67b7247ac420b2ff01cc4da85133695e5c87c02bb0f6950a10cf9",
@@ -922,9 +936,10 @@
922
936
  "pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md": "0b3d2b55d1f57427b3eb197fec39bf9bd4571f8bcb98ed25d305931f2c6d1976",
923
937
  "pipeline/skills/shared/external/html-semantic/SKILL.md": "43e05d6bf99d59fda858cef3c8c4837ae17e91826ffd1cd517612300cafff739",
924
938
  "pipeline/skills/shared/external/humanizer/SKILL.md": "25097784b1724423aebb35fcee60ba6c458a4ff5aa2bb7f45eccfc810a63a192",
925
- "pipeline/skills/shared/external/ios-accessibility/SKILL.md": "5331d7031d6e8ba54008e5239a7d1209a2046538717c1f86ea270d5d40057368",
939
+ "pipeline/skills/shared/external/ios-accessibility/SKILL.md": "8dc07ddb1e18d0d0572967ee77b39ffe36342ffc781ffb9a3910c4a2d8ee41fe",
926
940
  "pipeline/skills/shared/external/ios-accessibility/evals/evals.json": "01c7a807881a6d9e2a52871f4f0efaba5b7cfbf0d245d88a350e04955cf2c054",
927
941
  "pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md": "56435725cb1edda1ce3522e547b2213d810d284f5a80f10f338ae91e0c0039db",
942
+ "pipeline/skills/shared/external/ios-accessibility/references/large-content-and-appearance.md": "4aed22472fac27aa681268ac0f741418dc80f48deda45583933cacca3ae1e515",
928
943
  "pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md": "18e704a19a8a57be4be4370340da2de28a1bbdd39a14c8e83a20951ba0387f0f",
929
944
  "pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md": "0fcfafe804cfcbf0c5ed4bf16225046379ac6cc0147ad26a026c42f2cd5f30ff",
930
945
  "pipeline/skills/shared/external/ios-coding-standard/SKILL.md": "43a0e7d7c87b6abc9db15c38be5984e79e551bc5d7957394ad802ba50ea3b713",
@@ -935,6 +950,22 @@
935
950
  "pipeline/skills/shared/external/ios-coding-standard/references/swiftlint.draft.yml": "53406c6a44647aa72af95dc033189a66a48a5332f36cb6bc844a4a054d700cce",
936
951
  "pipeline/skills/shared/external/ios-coding-standard/scripts/check_structure.py": "26a2c26e40a5cdad79d13664e6a492c49ca7c23c942b790f9140aaa08ddea426",
937
952
  "pipeline/skills/shared/external/ios-debugger-agent/SKILL.md": "2126e7211042209922a848d5e24589b893c4d3f5da658d81c166e5c1347f4b3f",
953
+ "pipeline/skills/shared/external/ios-design-review/SKILL.md": "cdef9893d29fded21c87d39cc30075d7b21c79d07b6cca5386e6e1fca35deb2a",
954
+ "pipeline/skills/shared/external/ios-design-review/evals/evals.json": "8b61fecb783a15eb5a08ff8679b266bda80dfc4c2a8cdae62adb69e387231bb0",
955
+ "pipeline/skills/shared/external/ios-design-review/evals/trigger-eval.json": "87cc2bf90638fc2724d15f7ca9eff65e2192c8c7db7f211bb240883ee1868de6",
956
+ "pipeline/skills/shared/external/ios-design-review/references/appearance-matrix.md": "0dd0e665208e347bb501bd8f91dd4926180209e2cf1a3a7ff5416606b5cc4a57",
957
+ "pipeline/skills/shared/external/ios-design-review/references/checklist.md": "7bdd658b5c06affc33d043b40e290c38d6e7e557fc517fc4f8eeef4340b7fc5e",
958
+ "pipeline/skills/shared/external/ios-haptics/SKILL.md": "5edfc54f3d7733b6c48d1c9d30a3bbd30a0d5437be1dd6427e817b6e81f18150",
959
+ "pipeline/skills/shared/external/ios-haptics/evals/evals.json": "8eae30bdb1dd8080bd9c6149dfdaf4293d7fe9df6da3dae0f66cdff04a189367",
960
+ "pipeline/skills/shared/external/ios-haptics/evals/trigger-eval.json": "f97a385ac2c72c0d76c48a5938186c9fdee419d2fbec2f64fc4c22098650daff",
961
+ "pipeline/skills/shared/external/ios-haptics/references/core-haptics.md": "04c8b2a276890b4090b824a214699eb599135a1c48506217b973ffb27100cf70",
962
+ "pipeline/skills/shared/external/ios-iphone-duo/NOTICE.md": "290de59e3d37adaef65f76533785a3c263b4a83776a44bbaa1e5e6244e33e69f",
963
+ "pipeline/skills/shared/external/ios-iphone-duo/SKILL.md": "934df39d42cac41473d4c7605891c4b15aca2d185099c21b36a3c1abbbea8359",
964
+ "pipeline/skills/shared/external/ios-iphone-duo/evals/evals.json": "75fbe9fad13725fa9e2ff0456dc31a3211a4a9455bd31b2e8cc5871aee6c5eb5",
965
+ "pipeline/skills/shared/external/ios-iphone-duo/evals/trigger-eval.json": "30033fda1613982dd773a3bcf18d074b7ce7b4a02bc30bc08e7ed274a5732b4b",
966
+ "pipeline/skills/shared/external/ios-iphone-duo/references/api-map.md": "ec7d0b3dab323db1951c2b5319691f611466012b970823333a233e33c2a338d4",
967
+ "pipeline/skills/shared/external/ios-iphone-duo/references/fixed-assumptions.md": "4a3e52a72b48851adc43ec702c4dbbc9d9d313a7b56409553406885b5606fdab",
968
+ "pipeline/skills/shared/external/ios-iphone-duo/references/poses-and-panes.md": "f06bd8689cf793c239125327f4ec74f234c49beda277467cdebc7366ff76909f",
938
969
  "pipeline/skills/shared/external/ios-localization/SKILL.md": "3ee1a34bbf6c0b77e1e9f16cb7d8bc3d10f2ba7bf6d0b48e64126afcf9dbe2b6",
939
970
  "pipeline/skills/shared/external/ios-localization/evals/evals.json": "f80b7a9d9a4a262c6df824ba8c4bf1a762d98d0a12501bead04e8cd6a016cc6e",
940
971
  "pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md": "3b9aa4a911625a5b246c728d5afe6ec52701d362980de528c554b25b4801a3e8",
@@ -955,6 +986,10 @@
955
986
  "pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md": "5158a403a6c1bca5d19bb5d2621e8374b4902bbf61e478dbdb41bf64933dbd9b",
956
987
  "pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md": "84aaf58127fab05349519605032a36f01cb12f28a07300e1463bcc98420b1b2d",
957
988
  "pipeline/skills/shared/external/ios-security/references/privacy-manifest.md": "3232c3ac72315fbb457bb96b31a662eaa4af183ae771e3dc68d29c2736e27bff",
989
+ "pipeline/skills/shared/external/ios-sf-symbols/SKILL.md": "5fa9333a5d9699efba6389a9529aca88a38e2d8de873a129d4fead809143f1ed",
990
+ "pipeline/skills/shared/external/ios-sf-symbols/evals/evals.json": "4b8c47c41e5914202844e62bbdca36bfa0d28370ab7028cfe5c092b2761492fc",
991
+ "pipeline/skills/shared/external/ios-sf-symbols/evals/trigger-eval.json": "267135516258fa842f0ee5ba9b2e2a9b038af4a3cf089c5284e036dee2dcc69f",
992
+ "pipeline/skills/shared/external/ios-sf-symbols/references/effects-and-custom-symbols.md": "85ccc833a46d615e35c0b831ef7fbb79a91da408fb0e3ac51711189f61dd1740",
958
993
  "pipeline/skills/shared/external/ios-simulator/SKILL.md": "f7cb08384d448e3e73b0373e19f3ee1eca90b43eb7a3e3ac5d59a74035c0fc14",
959
994
  "pipeline/skills/shared/external/ios-simulator/evals/evals.json": "e149144d8a294a4f9e8e145b0a502b4431c6083b867efc3bc0e06b775be7a747",
960
995
  "pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md": "0056802b99a5c61ccb98abc8efd04d7f7c72a272a375fc52e2177cc24f691835",
@@ -1168,20 +1203,23 @@
1168
1203
  "pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md": "cef7363d559e8ca7aeada9beec9611985ea8832a36b0f7ada7abc356ec212c84",
1169
1204
  "pipeline/skills/shared/external/swiftlint/references/rule-reference.md": "9cc8fd7e4bffaada941d08ad3516efb1622dcb707c77276d62ab304554190bae",
1170
1205
  "pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md": "623fdcdbe5c1a60f622b2bdac145d783eba702bcdc267223e7647ee5f9e38ce8",
1171
- "pipeline/skills/shared/external/swiftui-animation/SKILL.md": "49f49c590f4304ef0905a890b2215d520ff187f8e1b9e68535cdd6099f51892b",
1172
- "pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md": "180c6a18e70cb4c28eb3265ded7bb0523f6c5c826409f5bb6c760139e2d7c383",
1206
+ "pipeline/skills/shared/external/swiftui-animation/SKILL.md": "d67e447c1b2cc002f007b46f68a15a1181a13d5ed16078b79333ebf48d31b329",
1207
+ "pipeline/skills/shared/external/swiftui-animation/evals/evals.json": "3e964d273213a3f5e9a4de192801c4bfd2d06b0691fe52dc39d0529afccb8d96",
1208
+ "pipeline/skills/shared/external/swiftui-animation/evals/trigger-eval.json": "53c690488e784d02bc1b66a6e1c4f489dece5df211f55b4fa67a01a2f6e5f310",
1209
+ "pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md": "39655e1dcc10ddd0e9e27434a5589d126cc7213c0b848e4c2f714a7eb6e25b36",
1173
1210
  "pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md": "23b479a9868932fff01dd2ab58cc24938e28501276ad5eba318b749abfb0bb45",
1174
- "pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md": "1fc036e37dd3708fbe333a231e26b5075017b50860403f095399b3b5a7ee4d11",
1211
+ "pipeline/skills/shared/external/swiftui-animation/references/scroll-effects.md": "7c20d060d5a4013dd292d24836d489c7ffd09c83e581246299cf97880a9b4618",
1212
+ "pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md": "c6d5ee097036edf12c6c1b5aed64b01bdafb2eb240169c82de2e951b33997cf6",
1175
1213
  "pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md": "bb942dd3b31fa24aa051943a6b7754a2de45a263dda0da3ac9dc2c7ce43b14d2",
1176
- "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md": "45f32863f332379d4831ea736f4f2591688eec4125b325ba52bc9311b3202a30",
1177
- "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md": "5c6e8911c4011d772db061d3438ec07491bf1c467ab87af4d56e21720a189c9f",
1178
- "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md": "d8ebbd5f25de519128151146a989d9b0677f1232c22ada2f99be3f8c361b65dd",
1214
+ "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md": "f2dfaa54d7870a28fd8ec3bf4f46d49512d7b6a3690d3f318861bace21fa1054",
1215
+ "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md": "a7df00821fe7683a6c5c143a14375ed782214079854fe42c8b44cb1f17cd3510",
1216
+ "pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md": "e49765c33a0c6879a1c401d732f9a86d659a0b4648de16c5ce1f171dc7dbd6a0",
1179
1217
  "pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md": "0666c2d656aa1f2d632b7d019bb532d289aaf71055d676514cb7ee897d4a1ea5",
1180
1218
  "pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md": "b1e5b0de7e8189decb494c977f31cede9c08154956613e0f1b1e91a8b87c8255",
1181
1219
  "pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md": "b58f78ae05cc1604d7e17b28710c1b8cc3ed088335956b70cc4d6cc05b6c2824",
1182
1220
  "pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md": "0a75201617290e0398b6a52dd1ec62f053afa73e7583c68a3dc2cf34bc94abd7",
1183
1221
  "pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md": "bbfaadace11706440a1e7574d033d762a872e61f53a70710f41cd576ca684379",
1184
- "pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md": "c2851ae0c91408b951f7fa0878b1223ec252b06d8d57eebae13f6a8799ede8a9",
1222
+ "pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md": "f8af26ab9a95b6f1d218b514d57561dd57b4478260b55a87c699f305f7c05d8d",
1185
1223
  "pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md": "48ecb0b2857ad06dcc5b35d92393ed1dfe8aaffadec8de76cc98ab24145f685a",
1186
1224
  "pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md": "830ff53b7940e6b8db329d8fa402204e7f7bdf357d06084150ee5d2160f48930",
1187
1225
  "pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md": "3839675e98082c80542de8b7e90e33ae5284117a8ef12dbd33a0d3f18647bc95",
@@ -1198,17 +1236,19 @@
1198
1236
  "pipeline/skills/shared/external/swiftui-layout-components/references/grids.md": "f91e74cde2a5fdc45b245f34f8969c64bd72094bc2ea18c0b64275f378f17b4c",
1199
1237
  "pipeline/skills/shared/external/swiftui-layout-components/references/list.md": "42e3e385daa37775a0a665667b9e70df805cf82fe8872ee76e07c9774fea81d7",
1200
1238
  "pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md": "f2f3f3031e059d676e3439dfff8d5c62fcbb0746c925c3b8cc4e70a26f4c7781",
1201
- "pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md": "bbcaeda80b6c052a521a63880f0f2f6ddabc589d4c65455b4286a26b4cce4808",
1202
- "pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md": "088ea5bb59aa5069daa46ccd08fbda09eef66304d0107794fbbe8fdbe6ed120a",
1239
+ "pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md": "555aa9c8178f4f14484ff8adee57ea80621be48b6b0628fe9852277e37349048",
1240
+ "pipeline/skills/shared/external/swiftui-liquid-glass/evals/evals.json": "8f51239af6c83633ff23ea7f7eb80b32e1a4d6107c642dfe04fe3219bc2bc60d",
1241
+ "pipeline/skills/shared/external/swiftui-liquid-glass/evals/trigger-eval.json": "ec18b769864c2dc2045ea81a07dc1f8cc7c34f8e7f32b7f53871ab6650b4833e",
1242
+ "pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md": "4e26e04d615f8628b6e8a89c7ca7113c691ad685c5c56f639b8452d5b0f8458b",
1243
+ "pipeline/skills/shared/external/swiftui-liquid-glass/references/uikit-glass.md": "3b70035fe298d6e803645b1a9b855f3b0763e53a60cb42c8ea4c61deb95b0d2e",
1203
1244
  "pipeline/skills/shared/external/swiftui-navigation/SKILL.md": "422a6c0b680d422af731474a9b03d141ef04e1f16359ce25a3ba22780f2bf1c2",
1204
1245
  "pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md": "4a764acf5c3418e461c11d5817606a0bce943a34aed45f365d399a91b9769e78",
1205
1246
  "pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md": "791fb1ba0e9a0dff9e4462d7eb20f06363b7c38d26efc7c247706b133b851e45",
1206
1247
  "pipeline/skills/shared/external/swiftui-navigation/references/sheets.md": "5368db1cea7bc2d21a423a650d2ae23e80d9be4f6dd524fe5b823f1d1a1522bf",
1207
1248
  "pipeline/skills/shared/external/swiftui-navigation/references/tabview.md": "d7f8d77966a051562a1f725819f5364642a6c72ecbf5a4071ed6e2b9956ec423",
1208
- "pipeline/skills/shared/external/swiftui-patterns/SKILL.md": "35c710faa4ff459f6349fcbc422bc53d4cad4c485b2b592e4fb96414778777f6",
1249
+ "pipeline/skills/shared/external/swiftui-patterns/SKILL.md": "0cea41552443a7ee86928b7666ca99c76447a56d1e8f54cca1292e063d966730",
1209
1250
  "pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md": "91d11d813faea5f4db8a1ade7fa1b4bb8bab537dce5724acc7c673010dfd57cd",
1210
1251
  "pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md": "33f42f119baafba86cb8d80feb757e785e6ba6f8e284627dcdd4e5cc6c041e1c",
1211
- "pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md": "569705e23abf9d9418cfe3d24ee2a23aa9bd89dd7248465469931301fc1031c3",
1212
1252
  "pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md": "f502c1f51b5105dcdeeca320c29e108f66f9314c4033392e3363de94c0753662",
1213
1253
  "pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md": "137f854fdf3486067218e9fcbae61899fd2c43f5d448953e6ab2b3f07e638e7d",
1214
1254
  "pipeline/skills/shared/external/swiftui-performance-audit/references/code-smells.md": "c9834da9bde40952100147c7fa0dab12c21bcd762878da7c07b6cd260093ebb8",
@@ -1237,13 +1277,13 @@
1237
1277
  "pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md": "3e7a31253cee21a3232385cfa1d3d3bf8822893807a771c6e16cd1799ecf6177",
1238
1278
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/app-wiring.md": "1bc324647990b52b79cf577820b78a92193c533e7c7d5b0aec9143b507899804",
1239
1279
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/async-state.md": "32fda340cf74042c14b41ea06edd0df6bb595c0a61a3061615bd9c5f7220fcb2",
1240
- "pipeline/skills/shared/external/swiftui-ui-patterns/references/components-index.md": "2e7f6806fc945ab0f1bc6d57edd9941726668a039d8d9a38562241125b64ce0b",
1280
+ "pipeline/skills/shared/external/swiftui-ui-patterns/references/components-index.md": "e839599099697f76dceaaf018d972add67566b56430ff977a2c8f7a589309304",
1241
1281
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/controls.md": "b4ab5cde89c9708da76acf2178d75494e3437e62cce9a10707676ff9ee11bb74",
1242
1282
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/deeplinks.md": "c00b287c1dbcd4da192fafe04677b7bdc6738f59ece065addf5985eb25563334",
1243
1283
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/focus.md": "4787e42f66f740006d46578f6b5a9b3d9307212324334fe7b8cd946b1e6b10b6",
1244
1284
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/form.md": "093aaccd83a31d4ade17dd45ec94afb68336dded7407e819b2ce073815a76557",
1245
1285
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/grids.md": "03bdd8ebae2b02b03c6a9bee582f5866d3ff4710aba140e95f809fbec668d5d8",
1246
- "pipeline/skills/shared/external/swiftui-ui-patterns/references/haptics.md": "b24eb42d469be2547471417923b211a2567c1b10fcf1936fda08d05bfe33d89e",
1286
+ "pipeline/skills/shared/external/swiftui-ui-patterns/references/haptics.md": "3c5d843ace0995509c3510ac1eb0f59280ad6a6370899b8dd75c63f1e4728b85",
1247
1287
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/input-toolbar.md": "4704b09633f24fa0b8f5f1be31f887ca5d03d32f7a885d17c11010631b406c1d",
1248
1288
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/lightweight-clients.md": "f3659306dec8f7cb5f80b0fa1f6804fad00c613950063d3481bcbb97dfc921ea",
1249
1289
  "pipeline/skills/shared/external/swiftui-ui-patterns/references/list.md": "08252610bb7379da7151e54ad6248bcdc39244db85ff08fdb7c0e841ffd324d8",
@@ -1321,6 +1361,6 @@
1321
1361
  "pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md": "26f1a3a23b3fece4b067fb094ab12fb6bd7dee33e97044d515db3cf70bc9b8a4",
1322
1362
  "pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md": "eb61ac8e1329eccac33e7d8b4c466003f50cca6b1a23e2be118d1f6a9af62e53",
1323
1363
  "pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md": "ad8eb87228be739d2dd53d0b927558fc9e68b2135e1b1eec475a981c4cd1feb2",
1324
- "pipeline/skills/skills-index.md": "7272f239f8101466721754dafa995eb4d3848f2eb586d948b7aadf7303c293a2"
1364
+ "pipeline/skills/skills-index.md": "845b6c0339fde84389f8368f3172cae69a703cf1d9bfd5f841d06f5c3577084f"
1325
1365
  }
1326
1366
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "20.17.1",
3
+ "version": "20.18.0",
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",
@@ -70,6 +70,7 @@ installer.
70
70
  - every stack toolkit **not** in the union is set to `false` (leave non-`@multi-agent-plugins` entries untouched)
71
71
  - `ai-common-toolkit@multi-agent-plugins` and `ai-analyst-toolkit@multi-agent-plugins` are always `true`
72
72
  - **legacy-key cleanup**: delete any `ai-*-engineering-toolkit@multi-agent-plugins` keys - those plugin names were retired by the `ai-<stack>-toolkit` rename and a stale `true` there enables a plugin that no longer exists in the marketplace
73
+ - **Apple's Xcode skills**: when `~/.claude/xcode-apple-marketplace` exists (the installer linked this Mac's Xcode 27.1+ plugin), set `xcode-integration@xcode-apple` to `true` if `ios` is in the selection and `false` otherwise. Apple's skills are the reference for iPhone Duo and window resizing, SwiftUI, App Intents and the accessibility audits, and they are the first route for those iOS tasks. Without that directory there is nothing to enable; leave the key absent
73
74
  4. **Unknown arg** → show the table above; do not guess.
74
75
  5. **Copilot/Codex refresh offer.** Their local skill copies are filtered to the enabled stacks at install time, so after a change ask (single `AskUserQuestion`, not silent): "Refresh Copilot/Codex local copies now?" - Yes runs `node <pipelineRepo>/install.js --copilot --codex`, No leaves them stale with a one-line warning naming the command to run later. Skip this question entirely when neither `~/.copilot` nor `~/.codex` exists.
75
76
 
@@ -109,6 +110,7 @@ After resolving `$ON`, edit `.claude/settings.json` (create `{ "enabledPlugins":
109
110
  - every stack toolkit **not** in `$ON` is set to `false` (leave non-`@multi-agent-plugins` entries untouched),
110
111
  - `ai-common-toolkit@multi-agent-plugins` and `ai-analyst-toolkit@multi-agent-plugins` are always `true`,
111
112
  - every `ai-*-engineering-toolkit@multi-agent-plugins` key is **deleted** (retired names).
113
+ - `xcode-integration@xcode-apple` follows `ios` (`true` with it, `false` without), only when `~/.claude/xcode-apple-marketplace` exists.
112
114
 
113
115
  Use the Read + Edit/Write tools (JSON must stay valid). Then print the resulting `enabledPlugins` block and run step 5 (Copilot/Codex refresh offer).
114
116
 
@@ -0,0 +1,131 @@
1
+ /**
2
+ * xcode-plugin.mjs - where this Mac's Xcode keeps its agent plugin, and whether
3
+ * Claude Code's link to it is installed and at the installed Xcode build.
4
+ *
5
+ * Xcode 27.1 and later materialize `xcode-integration` (Apple's skills plus the
6
+ * Xcode MCP bridge) and print its path with `xcrun agent plugin path`. The
7
+ * installer links it (`install/_xcode-skills.mjs`), uninstall removes it, and
8
+ * doctor reads the same answers from here, so none of them can disagree about
9
+ * what "linked" or "current" means.
10
+ *
11
+ * `MULTI_AGENT_XCRUN` names another `xcrun`, for tests.
12
+ *
13
+ * @module pipeline/lib/xcode-plugin
14
+ */
15
+
16
+ import { execFileSync } from "node:child_process";
17
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
18
+ import { basename, dirname, join } from "node:path";
19
+
20
+ export const XCODE_MARKETPLACE = "xcode-apple";
21
+ export const XCODE_PLUGIN = "xcode-integration";
22
+ export const XCODE_PLUGIN_ID = `${XCODE_PLUGIN}@${XCODE_MARKETPLACE}`;
23
+
24
+ /** Claude Code's directory marketplace, relative to the home directory. */
25
+ export const CLAUDE_MARKETPLACE_DIR = join(".claude", "xcode-apple-marketplace");
26
+
27
+ /** The Xcode build the marketplace copy was taken from, inside that directory. */
28
+ export const BUILD_STAMP = ".xcode-build";
29
+
30
+ /** Copy hosts: which delivered skill dirs came from Xcode, for refresh and uninstall. */
31
+ export const XCODE_SKILLS_MANIFEST = ".xcode-skills-manifest.json";
32
+
33
+ export const defaultRun = (cmd, args) =>
34
+ execFileSync(cmd, args, { stdio: "pipe", timeout: 30_000 }).toString();
35
+
36
+ /** One answer per process and format: an install asks for it once per host. */
37
+ const cache = new Map();
38
+
39
+ /**
40
+ * Where this Mac's Xcode materialized its plugin, and which build it came from.
41
+ * Null without developer tools, with an Xcode older than 27.1, or when `xcrun`
42
+ * fails.
43
+ *
44
+ * `xcode-select -p` is asked first because `/usr/bin/xcrun` on a Mac without
45
+ * developer tools opens the system's install-the-tools dialog instead of
46
+ * failing.
47
+ *
48
+ * @param {"claude"|"codex"} format
49
+ * @param {{run?: (cmd: string, args: string[]) => string, env?: object}} [opts]
50
+ * @returns {{path: string, build: string, skills: string[]}|null}
51
+ */
52
+ export function resolveXcodePlugin(
53
+ format = "claude",
54
+ { run = defaultRun, env = process.env } = {},
55
+ ) {
56
+ const xcrun = env.MULTI_AGENT_XCRUN || "xcrun";
57
+ const cacheable = run === defaultRun;
58
+ const key = `${format}\0${xcrun}`;
59
+ if (cacheable && cache.has(key)) return cache.get(key);
60
+ const answer = resolveUncached(format, xcrun, run, env);
61
+ if (cacheable) cache.set(key, answer);
62
+ return answer;
63
+ }
64
+
65
+ function resolveUncached(format, xcrun, run, env) {
66
+ let out;
67
+ try {
68
+ if (!env.MULTI_AGENT_XCRUN) run("xcode-select", ["-p"]);
69
+ out = run(xcrun, ["agent", "plugin", "path", "--plugin-format", format]);
70
+ } catch {
71
+ return null;
72
+ }
73
+ const path = String(out || "")
74
+ .trim()
75
+ .split("\n")
76
+ .pop()
77
+ ?.trim();
78
+ if (!path || !path.startsWith("/")) return null;
79
+ try {
80
+ const skillsDir = join(path, "skills");
81
+ const skills = readdirSync(skillsDir, { withFileTypes: true })
82
+ .filter((e) => e.isDirectory() && existsSync(join(skillsDir, e.name, "SKILL.md")))
83
+ .map((e) => e.name)
84
+ .sort();
85
+ return skills.length ? { path, build: basename(dirname(path)), skills } : null;
86
+ } catch {
87
+ return null;
88
+ }
89
+ }
90
+
91
+ /** The Xcode build Claude Code's link was copied from, or null when not linked. */
92
+ export function claudeLinkedBuild(home) {
93
+ try {
94
+ return readFileSync(join(home, CLAUDE_MARKETPLACE_DIR, BUILD_STAMP), "utf8").trim() || null;
95
+ } catch {
96
+ return null;
97
+ }
98
+ }
99
+
100
+ /** Does Claude Code's own plugin registry list `xcode-integration@xcode-apple`. */
101
+ export function claudePluginInstalled(home) {
102
+ try {
103
+ const j = JSON.parse(
104
+ readFileSync(join(home, ".claude", "plugins", "installed_plugins.json"), "utf8"),
105
+ );
106
+ const entry = (j.plugins || j)[XCODE_PLUGIN_ID];
107
+ return Array.isArray(entry) ? entry.length > 0 : Boolean(entry);
108
+ } catch {
109
+ return false;
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Is Apple's plugin available, and is Claude Code's link installed and at the
115
+ * installed build.
116
+ *
117
+ * @param {string} home
118
+ * @param {{run?: (cmd: string, args: string[]) => string, env?: object}} [opts]
119
+ */
120
+ export function xcodeSkillsStatus(home, opts = {}) {
121
+ const plugin = resolveXcodePlugin("claude", opts);
122
+ const linked = claudeLinkedBuild(home);
123
+ return {
124
+ available: Boolean(plugin),
125
+ build: plugin?.build ?? null,
126
+ skills: plugin?.skills.length ?? 0,
127
+ claude: linked
128
+ ? { build: linked, current: linked === plugin?.build, installed: claudePluginInstalled(home) }
129
+ : null,
130
+ };
131
+ }
@@ -303,6 +303,16 @@ other outcome (`redirected`, `rejected`, `not-accepted`, `failed`, `skipped`),
303
303
  with the status code or reason and the step that fixes it. The emitter runs
304
304
  detached from phase-tracker with its output discarded, so this record is the
305
305
  only surface on which a reporting path that stopped working shows up.
306
+ ### xcode-skills
307
+
308
+ Is Apple's `xcode-integration` plugin, which Xcode 27.1 and later materialize
309
+ (`xcrun agent plugin path`), linked into Claude Code at the installed Xcode
310
+ build. SKIP when this Mac has no such plugin, because the pipeline's own iOS
311
+ skills then apply; INFO when it is available but not linked; WARN when the link
312
+ was copied from an older Xcode build than the one installed; OK otherwise. The
313
+ step is `/multi-agent:update`, which re-runs the installer's link. Apple's skills
314
+ are the reference for iPhone Duo and window resizing, SwiftUI, App Intents and
315
+ the accessibility audits, so a stale copy is a worse answer, never a failed run.
306
316
  ### unattended-contract
307
317
 
308
318
  Is `multi-agent-refs/unattended-contract.md` installed. It is the only place
@@ -60,6 +60,7 @@ import {
60
60
  UNATTENDED_SETTINGS_FILE,
61
61
  } from "../lib/unattended-settings-location.mjs";
62
62
  import { prefsHosts, profileGaps } from "../lib/unattended-profile-check.mjs";
63
+ import { xcodeSkillsStatus } from "../lib/xcode-plugin.mjs";
63
64
 
64
65
  const HERE = dirname(fileURLToPath(import.meta.url));
65
66
  const HOME = homedir();
@@ -103,6 +104,7 @@ const CHECK_IDS = [
103
104
  "disk-space",
104
105
  "worktree-residue",
105
106
  "usage-report",
107
+ "xcode-skills",
106
108
  ];
107
109
 
108
110
  // Only under `--profile server`. Kept in their own list so `--list-checks`
@@ -933,6 +935,41 @@ function checkUsageReport() {
933
935
  );
934
936
  }
935
937
 
938
+ // Apple's Xcode skills are the reference for iPhone Duo and window resizing,
939
+ // SwiftUI, App Intents and the accessibility audits, and Claude Code reads them
940
+ // from a copy the installer keeps at the installed Xcode build. A newer Xcode
941
+ // leaves that copy older than what the Mac offers, which degrades the answer
942
+ // rather than breaking a run, so it tops out at WARN.
943
+ function checkXcodeSkills() {
944
+ const s = xcodeSkillsStatus(HOME);
945
+ if (!s.available) {
946
+ skip(
947
+ "xcode-skills",
948
+ "no Xcode 27.1+ agent plugin on this Mac; the pipeline's own iOS skills apply",
949
+ );
950
+ return;
951
+ }
952
+ if (!s.claude || !s.claude.installed) {
953
+ report(
954
+ "xcode-skills",
955
+ "INFO",
956
+ `Apple's Xcode skills (${s.skills}, Xcode ${s.build}) are not linked into Claude Code`,
957
+ "run /multi-agent:update, or node install.js --claude from the pipeline checkout",
958
+ );
959
+ return;
960
+ }
961
+ if (!s.claude.current) {
962
+ report(
963
+ "xcode-skills",
964
+ "WARN",
965
+ `Apple's Xcode skills are linked from Xcode ${s.claude.build}, but this Mac now has ${s.build}`,
966
+ "run /multi-agent:update to refresh them from the installed Xcode",
967
+ );
968
+ return;
969
+ }
970
+ ok("xcode-skills");
971
+ }
972
+
936
973
  function checkDiskSpace() {
937
974
  let freeGb = null;
938
975
  try {
@@ -1226,6 +1263,7 @@ function main() {
1226
1263
  checkDiskSpace();
1227
1264
  checkWorktreeResidue();
1228
1265
  checkUsageReport();
1266
+ checkXcodeSkills();
1229
1267
  if (PROFILE === "server") checkServerProfile(resolved);
1230
1268
 
1231
1269
  const blocked = results.filter((r) => r.severity === "BLOCK");