@bonesofspring/ai-rules 0.2.2 → 0.2.4

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 (295) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +27 -4
  3. package/bin/cli.js +285 -72
  4. package/package.json +3 -2
  5. package/presets/claude/ios-swift/CLAUDE.md +28 -20
  6. package/presets/claude/ios-swift/MCP.md +14 -0
  7. package/presets/claude/ios-swift/README.md +18 -15
  8. package/presets/claude/ios-swift/agents/README.md +55 -0
  9. package/presets/claude/ios-swift/agents/accessibility-reviewer.md +67 -0
  10. package/presets/claude/ios-swift/agents/api-contract-reviewer.md +72 -0
  11. package/presets/claude/ios-swift/agents/build-verifier.md +64 -0
  12. package/presets/claude/ios-swift/agents/ci-investigator.md +73 -0
  13. package/presets/claude/ios-swift/agents/code-reviewer.md +75 -0
  14. package/presets/claude/ios-swift/agents/debugger.md +72 -0
  15. package/presets/claude/ios-swift/agents/feature-developer.md +35 -0
  16. package/presets/claude/ios-swift/agents/migration-specialist.md +73 -0
  17. package/presets/claude/ios-swift/agents/performance-auditor.md +72 -0
  18. package/presets/claude/ios-swift/agents/qa-tester.md +65 -0
  19. package/presets/claude/ios-swift/agents/security-reviewer.md +69 -0
  20. package/presets/claude/ios-swift/agents/solution-architect.md +17 -0
  21. package/presets/claude/ios-swift/agents/task-analyst.md +25 -0
  22. package/presets/claude/ios-swift/agents/task-router.md +62 -0
  23. package/presets/claude/ios-swift/agents/tech-writer.md +63 -0
  24. package/presets/claude/ios-swift/agents/unit-test-generator.md +54 -0
  25. package/presets/claude/ios-swift/agents/unit-test-healer.md +53 -0
  26. package/presets/claude/ios-swift/agents/unit-test-planner.md +64 -0
  27. package/presets/claude/ios-swift/agents/xcuitest-test-generator.md +47 -0
  28. package/presets/claude/ios-swift/agents/xcuitest-test-healer.md +47 -0
  29. package/presets/claude/ios-swift/agents/xcuitest-test-planner.md +67 -0
  30. package/presets/claude/ios-swift/commands/README.md +12 -2
  31. package/presets/claude/ios-swift/commands/feature-continue.md +51 -0
  32. package/presets/claude/ios-swift/commands/feature-start.md +30 -0
  33. package/presets/claude/ios-swift/commands/task-continue.md +49 -0
  34. package/presets/claude/ios-swift/commands/task.md +50 -0
  35. package/presets/claude/ios-swift/commands/technical-retro.md +58 -0
  36. package/presets/claude/ios-swift/hooks/README.md +10 -0
  37. package/presets/claude/ios-swift/hooks/chain-team-phases.sh +382 -0
  38. package/presets/claude/ios-swift/hooks/guard-shell-command.sh +79 -0
  39. package/presets/claude/ios-swift/mcp.json +12 -0
  40. package/presets/claude/ios-swift/rules/README.md +25 -14
  41. package/presets/claude/ios-swift/rules/api-and-data/README.md +2 -1
  42. package/presets/claude/ios-swift/rules/api-and-data/networking.md +2 -2
  43. package/presets/claude/ios-swift/rules/api-and-data/persistence.md +30 -0
  44. package/presets/claude/ios-swift/rules/architecture/README.md +3 -1
  45. package/presets/claude/ios-swift/rules/architecture/feature-delivery.md +10 -2
  46. package/presets/claude/ios-swift/rules/architecture/module-public-api.md +25 -0
  47. package/presets/claude/ios-swift/rules/architecture/reference-features.md +50 -0
  48. package/presets/claude/ios-swift/rules/stack/ios-app-core.md +2 -1
  49. package/presets/claude/ios-swift/rules/testing/ui.md +2 -0
  50. package/presets/claude/ios-swift/rules/tooling-and-review/README.md +6 -1
  51. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-intake.md +18 -0
  52. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +47 -0
  53. package/presets/claude/ios-swift/rules/tooling-and-review/code-review.md +5 -0
  54. package/presets/claude/ios-swift/rules/tooling-and-review/post-change-build.md +5 -0
  55. package/presets/claude/ios-swift/rules/tooling-and-review/security-ios.md +36 -0
  56. package/presets/claude/ios-swift/rules/tooling-and-review/technical-retro.md +14 -0
  57. package/presets/claude/ios-swift/rules/tooling-and-review/xcode-tooling.md +24 -0
  58. package/presets/claude/ios-swift/rules/ui-and-accessibility/README.md +2 -1
  59. package/presets/claude/ios-swift/rules/ui-and-accessibility/navigation.md +28 -0
  60. package/presets/claude/ios-swift/skills/README.md +13 -0
  61. package/presets/claude/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  62. package/presets/claude/ios-swift/skills/code-review/SKILL.md +27 -0
  63. package/presets/claude/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  64. package/presets/claude/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  65. package/presets/claude/ios-swift/skills/technical-retro/SKILL.md +10 -0
  66. package/presets/claude/ios-swift/skills/unit-testing/SKILL.md +32 -0
  67. package/presets/claude/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  68. package/presets/claude/ios-swift/team/README.md +27 -0
  69. package/presets/claude/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  70. package/presets/claude/ios-swift/team/fixtures/feature-full.json +48 -0
  71. package/presets/claude/ios-swift/team/fixtures/feature-light.json +36 -0
  72. package/presets/claude/next/CLAUDE.md +29 -5
  73. package/presets/claude/next/MCP.md +16 -0
  74. package/presets/claude/next/README.md +12 -0
  75. package/presets/claude/next/agents/README.md +155 -1
  76. package/presets/claude/next/agents/accessibility-reviewer.md +65 -0
  77. package/presets/claude/next/agents/api-contract-reviewer.md +69 -0
  78. package/presets/claude/next/agents/build-verifier.md +64 -0
  79. package/presets/claude/next/agents/ci-investigator.md +62 -0
  80. package/presets/claude/next/agents/code-reviewer.md +63 -0
  81. package/presets/claude/next/agents/debugger.md +63 -0
  82. package/presets/claude/next/agents/feature-developer.md +27 -0
  83. package/presets/claude/next/agents/migration-specialist.md +69 -0
  84. package/presets/claude/next/agents/performance-auditor.md +68 -0
  85. package/presets/claude/next/agents/qa-tester.md +56 -0
  86. package/presets/claude/next/agents/security-reviewer.md +64 -0
  87. package/presets/claude/next/agents/solution-architect.md +70 -0
  88. package/presets/claude/next/agents/task-analyst.md +111 -0
  89. package/presets/claude/next/agents/task-router.md +94 -0
  90. package/presets/claude/next/agents/tech-writer.md +61 -0
  91. package/presets/claude/next/agents/unit-test-generator.md +37 -0
  92. package/presets/claude/next/agents/unit-test-healer.md +38 -0
  93. package/presets/claude/next/agents/unit-test-planner.md +62 -0
  94. package/presets/claude/next/commands/README.md +10 -2
  95. package/presets/claude/next/commands/feature-continue.md +51 -0
  96. package/presets/claude/next/commands/feature-start.md +30 -0
  97. package/presets/claude/next/commands/task-continue.md +49 -0
  98. package/presets/claude/next/commands/task.md +50 -0
  99. package/presets/claude/next/commands/technical-retro.md +58 -0
  100. package/presets/claude/next/hooks/README.md +5 -2
  101. package/presets/claude/next/hooks/chain-team-phases.sh +380 -0
  102. package/presets/claude/next/hooks/guard-shell-command.sh +77 -0
  103. package/presets/claude/next/mcp.json +20 -0
  104. package/presets/claude/next/rules/README.md +42 -11
  105. package/presets/claude/next/rules/api-and-data/README.md +7 -1
  106. package/presets/claude/next/rules/api-and-data/api-services.md +57 -0
  107. package/presets/claude/next/rules/api-and-data/http-client.md +40 -0
  108. package/presets/claude/next/rules/api-and-data/store-rtk.md +65 -0
  109. package/presets/claude/next/rules/architecture/README.md +11 -2
  110. package/presets/claude/next/rules/architecture/architecture-boundaries-ui.md +15 -0
  111. package/presets/claude/next/rules/architecture/architecture-boundaries.md +75 -0
  112. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +79 -0
  113. package/presets/claude/next/rules/architecture/layer-barrel-exports.md +58 -0
  114. package/presets/claude/next/rules/architecture/public-imports.md +46 -0
  115. package/presets/claude/next/rules/architecture/reference-features.md +37 -0
  116. package/presets/claude/next/rules/stack/README.md +10 -1
  117. package/presets/claude/next/rules/stack/arrow-functions.md +45 -0
  118. package/presets/claude/next/rules/stack/navigation-router-ui.md +15 -0
  119. package/presets/claude/next/rules/stack/navigation-router.md +64 -0
  120. package/presets/claude/next/rules/stack/next-app-core.md +33 -0
  121. package/presets/claude/next/rules/stack/next-app-router.md +36 -0
  122. package/presets/claude/next/rules/stack/no-type-assertion.md +59 -0
  123. package/presets/claude/next/rules/stack/types-jsdoc.md +37 -0
  124. package/presets/claude/next/rules/testing/README.md +9 -1
  125. package/presets/claude/next/rules/testing/playwright-agents.md +74 -0
  126. package/presets/claude/next/rules/testing/tests-e2e-structure.md +52 -0
  127. package/presets/claude/next/rules/testing/tests-unit.md +66 -0
  128. package/presets/claude/next/rules/tooling-and-review/README.md +12 -1
  129. package/presets/claude/next/rules/tooling-and-review/agent-team-intake.md +15 -0
  130. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +145 -0
  131. package/presets/claude/next/rules/tooling-and-review/code-quality.md +42 -0
  132. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +30 -0
  133. package/presets/claude/next/rules/tooling-and-review/package-manager.md +11 -0
  134. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +44 -0
  135. package/presets/claude/next/rules/ui-and-accessibility/README.md +10 -1
  136. package/presets/claude/next/rules/ui-and-accessibility/css-property-order.md +14 -0
  137. package/presets/claude/next/rules/ui-and-accessibility/no-props-spread.md +57 -0
  138. package/presets/claude/next/rules/ui-and-accessibility/react-a11y-coding.md +37 -0
  139. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +91 -0
  140. package/presets/claude/next/skills/README.md +11 -1
  141. package/presets/claude/next/skills/ci-investigation/SKILL.md +36 -0
  142. package/presets/claude/next/skills/code-review/SKILL.md +26 -0
  143. package/presets/claude/next/skills/debug-investigation/SKILL.md +28 -0
  144. package/presets/claude/next/skills/feature-delivery/SKILL.md +15 -0
  145. package/presets/claude/next/skills/playwright-e2e/SKILL.md +31 -0
  146. package/presets/claude/next/skills/technical-retro/SKILL.md +40 -0
  147. package/presets/claude/next/skills/unit-testing/SKILL.md +32 -0
  148. package/presets/claude/next/team/README.md +105 -0
  149. package/presets/claude/next/team/fixtures/bugfix-standard.json +15 -0
  150. package/presets/claude/next/team/fixtures/feature-full.json +16 -0
  151. package/presets/claude/next/team/fixtures/feature-light.json +17 -0
  152. package/presets/claude/next/team/tasks/.gitkeep +1 -0
  153. package/presets/cursor/ios-swift/AGENTS.md +47 -0
  154. package/presets/cursor/ios-swift/BUGBOT.md +15 -0
  155. package/presets/cursor/ios-swift/MCP.md +16 -0
  156. package/presets/cursor/ios-swift/README.md +27 -7
  157. package/presets/cursor/ios-swift/agents/README.md +55 -0
  158. package/presets/cursor/ios-swift/agents/accessibility-reviewer.md +67 -0
  159. package/presets/cursor/ios-swift/agents/api-contract-reviewer.md +72 -0
  160. package/presets/cursor/ios-swift/agents/build-verifier.md +64 -0
  161. package/presets/cursor/ios-swift/agents/ci-investigator.md +73 -0
  162. package/presets/cursor/ios-swift/agents/code-reviewer.md +75 -0
  163. package/presets/cursor/ios-swift/agents/debugger.md +72 -0
  164. package/presets/cursor/ios-swift/agents/feature-developer.md +35 -0
  165. package/presets/cursor/ios-swift/agents/migration-specialist.md +73 -0
  166. package/presets/cursor/ios-swift/agents/performance-auditor.md +72 -0
  167. package/presets/cursor/ios-swift/agents/qa-tester.md +65 -0
  168. package/presets/cursor/ios-swift/agents/security-reviewer.md +69 -0
  169. package/presets/cursor/ios-swift/agents/solution-architect.md +17 -0
  170. package/presets/cursor/ios-swift/agents/task-analyst.md +25 -0
  171. package/presets/cursor/ios-swift/agents/task-router.md +62 -0
  172. package/presets/cursor/ios-swift/agents/tech-writer.md +63 -0
  173. package/presets/cursor/ios-swift/agents/unit-test-generator.md +54 -0
  174. package/presets/cursor/ios-swift/agents/unit-test-healer.md +53 -0
  175. package/presets/cursor/ios-swift/agents/unit-test-planner.md +64 -0
  176. package/presets/cursor/ios-swift/agents/xcuitest-test-generator.md +47 -0
  177. package/presets/cursor/ios-swift/agents/xcuitest-test-healer.md +47 -0
  178. package/presets/cursor/ios-swift/agents/xcuitest-test-planner.md +67 -0
  179. package/presets/cursor/ios-swift/commands/README.md +49 -1
  180. package/presets/cursor/ios-swift/commands/feature-continue.md +19 -0
  181. package/presets/cursor/ios-swift/commands/feature-start.md +33 -0
  182. package/presets/cursor/ios-swift/commands/task-continue.md +49 -0
  183. package/presets/cursor/ios-swift/commands/task.md +50 -0
  184. package/presets/cursor/ios-swift/commands/technical-retro.md +81 -0
  185. package/presets/cursor/ios-swift/hooks/README.md +8 -0
  186. package/presets/cursor/ios-swift/hooks/chain-team-phases.sh +382 -0
  187. package/presets/cursor/ios-swift/hooks/guard-shell-command.sh +79 -0
  188. package/presets/cursor/ios-swift/hooks.json +17 -0
  189. package/presets/cursor/ios-swift/mcp.json +11 -0
  190. package/presets/cursor/ios-swift/rules/README.md +45 -13
  191. package/presets/cursor/ios-swift/rules/agent-team-intake.mdc +16 -0
  192. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +85 -0
  193. package/presets/cursor/ios-swift/rules/code-review-mr.mdc +1 -0
  194. package/presets/cursor/ios-swift/rules/feature-delivery-workflow.mdc +1 -1
  195. package/presets/cursor/ios-swift/rules/ios-app-core.mdc +2 -1
  196. package/presets/cursor/ios-swift/rules/module-public-api.mdc +26 -0
  197. package/presets/cursor/ios-swift/rules/navigation-coordinators.mdc +29 -0
  198. package/presets/cursor/ios-swift/rules/networking-services.mdc +2 -2
  199. package/presets/cursor/ios-swift/rules/persistence-data.mdc +31 -0
  200. package/presets/cursor/ios-swift/rules/reference-features.mdc +53 -0
  201. package/presets/cursor/ios-swift/rules/security-ios.mdc +35 -0
  202. package/presets/cursor/ios-swift/rules/technical-retro.mdc +12 -0
  203. package/presets/cursor/ios-swift/rules/tests-ui.mdc +1 -0
  204. package/presets/cursor/ios-swift/rules/xcode-tooling.mdc +20 -0
  205. package/presets/cursor/ios-swift/skills/README.md +13 -0
  206. package/presets/cursor/ios-swift/skills/ci-investigation/SKILL.md +39 -0
  207. package/presets/cursor/ios-swift/skills/code-review/SKILL.md +27 -0
  208. package/presets/cursor/ios-swift/skills/debug-investigation/SKILL.md +30 -0
  209. package/presets/cursor/ios-swift/skills/feature-delivery/SKILL.md +27 -0
  210. package/presets/cursor/ios-swift/skills/technical-retro/SKILL.md +10 -0
  211. package/presets/cursor/ios-swift/skills/unit-testing/SKILL.md +32 -0
  212. package/presets/cursor/ios-swift/skills/xcuitest-e2e/SKILL.md +33 -0
  213. package/presets/cursor/ios-swift/team/README.md +31 -0
  214. package/presets/cursor/ios-swift/team/fixtures/bugfix-standard.json +33 -0
  215. package/presets/cursor/ios-swift/team/fixtures/feature-full.json +48 -0
  216. package/presets/cursor/ios-swift/team/fixtures/feature-light.json +36 -0
  217. package/presets/cursor/next/AGENTS.md +36 -0
  218. package/presets/cursor/next/BUGBOT.md +14 -0
  219. package/presets/cursor/next/MCP.md +16 -0
  220. package/presets/cursor/next/agents/README.md +165 -0
  221. package/presets/cursor/next/agents/accessibility-reviewer.md +67 -0
  222. package/presets/cursor/next/agents/api-contract-reviewer.md +71 -0
  223. package/presets/cursor/next/agents/build-verifier.md +66 -0
  224. package/presets/cursor/next/agents/ci-investigator.md +64 -0
  225. package/presets/cursor/next/agents/code-reviewer.md +64 -0
  226. package/presets/cursor/next/agents/debugger.md +64 -0
  227. package/presets/cursor/next/agents/feature-developer.md +28 -0
  228. package/presets/cursor/next/agents/migration-specialist.md +71 -0
  229. package/presets/cursor/next/agents/performance-auditor.md +70 -0
  230. package/presets/cursor/next/agents/playwright-test-generator.md +27 -0
  231. package/presets/cursor/next/agents/playwright-test-healer.md +27 -0
  232. package/presets/cursor/next/agents/playwright-test-planner.md +28 -0
  233. package/presets/cursor/next/agents/qa-tester.md +58 -0
  234. package/presets/cursor/next/agents/security-reviewer.md +66 -0
  235. package/presets/cursor/next/agents/solution-architect.md +71 -0
  236. package/presets/cursor/next/agents/task-analyst.md +112 -0
  237. package/presets/cursor/next/agents/task-router.md +95 -0
  238. package/presets/cursor/next/agents/tech-writer.md +62 -0
  239. package/presets/cursor/next/agents/unit-test-generator.md +39 -0
  240. package/presets/cursor/next/agents/unit-test-healer.md +40 -0
  241. package/presets/cursor/next/agents/unit-test-planner.md +64 -0
  242. package/presets/cursor/next/commands/README.md +49 -1
  243. package/presets/cursor/next/commands/feature-continue.md +19 -0
  244. package/presets/cursor/next/commands/feature-start.md +33 -0
  245. package/presets/cursor/next/commands/task-continue.md +49 -0
  246. package/presets/cursor/next/commands/task.md +50 -0
  247. package/presets/cursor/next/commands/technical-retro.md +81 -0
  248. package/presets/cursor/next/hooks/README.md +8 -0
  249. package/presets/cursor/next/hooks/chain-team-phases.sh +380 -0
  250. package/presets/cursor/next/hooks/guard-shell-command.sh +77 -0
  251. package/presets/cursor/next/hooks.json +17 -0
  252. package/presets/cursor/next/mcp.json +19 -0
  253. package/presets/cursor/next/rules/README.md +67 -0
  254. package/presets/cursor/next/rules/agent-team-intake.mdc +14 -0
  255. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +147 -0
  256. package/presets/cursor/next/rules/api-services.mdc +12 -10
  257. package/presets/cursor/next/rules/architecture-boundaries-ui.mdc +15 -0
  258. package/presets/cursor/next/rules/architecture-boundaries.mdc +31 -12
  259. package/presets/cursor/next/rules/arrow-functions.mdc +46 -0
  260. package/presets/cursor/next/rules/code-quality-and-refactoring.mdc +5 -4
  261. package/presets/cursor/next/rules/code-review-mr.mdc +21 -40
  262. package/presets/cursor/next/rules/css-property-order-stylelint.mdc +16 -0
  263. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +76 -0
  264. package/presets/cursor/next/rules/http-client.mdc +42 -0
  265. package/presets/cursor/next/rules/layer-barrel-exports.mdc +59 -0
  266. package/presets/cursor/next/rules/navigation-router-stack.mdc +62 -0
  267. package/presets/cursor/next/rules/navigation-router-ui.mdc +16 -0
  268. package/presets/cursor/next/rules/next-app-core.mdc +18 -61
  269. package/presets/cursor/next/rules/next-app-router.mdc +36 -0
  270. package/presets/cursor/next/rules/no-props-spread.mdc +27 -4
  271. package/presets/cursor/next/rules/no-type-assertion-as-import-export.mdc +60 -0
  272. package/presets/cursor/next/rules/package-manager.mdc +16 -0
  273. package/presets/cursor/next/rules/playwright-agents.mdc +2 -1
  274. package/presets/cursor/next/rules/post-change-lint.mdc +40 -0
  275. package/presets/cursor/next/rules/public-imports.mdc +48 -0
  276. package/presets/cursor/next/rules/react-a11y-coding.mdc +37 -0
  277. package/presets/cursor/next/rules/react-ui.mdc +33 -3
  278. package/presets/cursor/next/rules/reference-features.mdc +39 -0
  279. package/presets/cursor/next/rules/store-rtk.mdc +13 -6
  280. package/presets/cursor/next/rules/technical-retro.mdc +12 -0
  281. package/presets/cursor/next/rules/tests-unit.mdc +30 -10
  282. package/presets/cursor/next/rules/types-jsdoc.mdc +42 -0
  283. package/presets/cursor/next/skills/README.md +15 -0
  284. package/presets/cursor/next/skills/ci-investigation/SKILL.md +36 -0
  285. package/presets/cursor/next/skills/code-review/SKILL.md +26 -0
  286. package/presets/cursor/next/skills/debug-investigation/SKILL.md +28 -0
  287. package/presets/cursor/next/skills/feature-delivery/SKILL.md +15 -0
  288. package/presets/cursor/next/skills/playwright-e2e/SKILL.md +31 -0
  289. package/presets/cursor/next/skills/technical-retro/SKILL.md +40 -0
  290. package/presets/cursor/next/skills/unit-testing/SKILL.md +32 -0
  291. package/presets/cursor/next/team/README.md +109 -0
  292. package/presets/cursor/next/team/fixtures/bugfix-standard.json +15 -0
  293. package/presets/cursor/next/team/fixtures/feature-full.json +16 -0
  294. package/presets/cursor/next/team/fixtures/feature-light.json +17 -0
  295. package/presets/cursor/next/team/tasks/.gitkeep +0 -0
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: xcuitest-test-healer
3
+ description: XCUITest healer. Use when UI tests fail, become flaky, or need identifier/wait/launch-arg fixes while preserving business assertions.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You debug and fix failing **XCUITest** UI tests.
9
+
10
+ ## Inputs
11
+
12
+ 1. Failing test output and `xcodebuild test` command.
13
+ 2. Matching XCUITest sources and `*.cases.md` plans when present.
14
+ 3. Existing screen objects and UITestSupport helpers.
15
+ 4. Recent UI/diff that may have broken selectors or timing.
16
+
17
+ ## Process
18
+
19
+ 1. Reproduce the failure on the same scheme/destination when possible (`tooling-and-review/xcode-tooling.md`).
20
+ 2. Classify: missing/renamed identifier, insufficient wait, launch-state drift, animation timing, or real app regression.
21
+ 3. Fix waits (`waitForExistence`), launch args, and screen-object queries first.
22
+ 4. Preserve business assertions from the plan/AC — do not delete checks to go green.
23
+ 5. If the app UI lost an identifier required by tests, restore it minimally with clear evidence or hand off to `feature-developer`.
24
+
25
+ ## Rules
26
+
27
+ 1. Follow `testing/ui.md`, and the **`debug-investigation`** and **`xcuitest-e2e`** skills.
28
+ 2. Treat `*.cases.md` / AC as the behavior contract.
29
+ 3. Prefer targeted fixes in the affected test/page object over broad harness rewrites.
30
+ 4. Re-run the affected UI test when feasible.
31
+ 5. **Never migrate tests to Playwright.**
32
+
33
+ ## On completion
34
+
35
+ Report root cause, files changed, validation result, and remaining flakiness risk.
36
+
37
+ Update `status.json`:
38
+
39
+ ```json
40
+ {
41
+ "slug": "<slug>",
42
+ "currentAgent": "xcuitest-test-healer",
43
+ "phase": "executing",
44
+ "state": "completed",
45
+ "updatedAt": "<ISO8601>"
46
+ }
47
+ ```
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: xcuitest-test-planner
3
+ description: XCUITest planning specialist. Use when the task is to create or update UI test scenarios, *.cases.md plans, or QA coverage for an iOS user flow.
4
+ readonly: false
5
+ model: inherit
6
+ ---
7
+
8
+ You are an expert UI test planner for an **iOS** app using XCUITest.
9
+
10
+ ## Project structure
11
+
12
+ Follow `testing/ui.md` and the **`xcuitest-e2e` skill**:
13
+
14
+ - UI Test target: `*UITests/` (as in the Xcode project)
15
+ - Optional plans: `*.cases.md` under the UITests area when the repo uses them
16
+ - Screen/Page objects with `accessibilityIdentifier`
17
+ - Launch / seed patterns already present (`-UITesting`, mock base URL, reset state)
18
+
19
+ **Never Playwright**, `app/__tests__/e2e`, or browser MCP.
20
+
21
+ ## Inputs
22
+
23
+ 1. `.claude/team/tasks/<slug>/brief.md` and `decomposition.md`.
24
+ 2. Existing UI plans/specs for the affected flow.
25
+ 3. Presentation Views to inventory stable identifiers (`{screen}__{element}`).
26
+
27
+ ## Work
28
+
29
+ 1. Map AC to user journeys (happy path, validation, empty/error, permission denial if relevant).
30
+ 2. List required `accessibilityIdentifier`s; note missing ones for `feature-developer`.
31
+ 3. Keep scenarios independent — one flow per case; no unrelated assertions bundled.
32
+ 4. Name scenarios in **Russian** with entity prefix when following repo convention (e.g. `OH-001 …`).
33
+ 5. Specify preconditions: launch args, logged-in state, mock data.
34
+
35
+ ## Output
36
+
37
+ Write or update the relevant `*.cases.md` (or equivalent plan). Suggested shape:
38
+
39
+ ```markdown
40
+ # <Flow> UI cases
41
+
42
+ ## <ID> <Russian title>
43
+ ### Preconditions
44
+ ...
45
+ ### Steps
46
+ 1. ...
47
+ ### Expected
48
+ ...
49
+ ```
50
+
51
+ For agent team tasks, summarize planned scenarios and update `.claude/team/tasks/<slug>/status.json`.
52
+
53
+ ## On completion
54
+
55
+ Update `status.json`:
56
+
57
+ ```json
58
+ {
59
+ "slug": "<slug>",
60
+ "currentAgent": "xcuitest-test-planner",
61
+ "phase": "executing",
62
+ "state": "completed",
63
+ "updatedAt": "<ISO8601>"
64
+ }
65
+ ```
66
+
67
+ Do not write XCUITest Swift sources — that is `xcuitest-test-generator`'s job.
@@ -1,3 +1,13 @@
1
- # Claude commands (ios-swift preset)
1
+ # `.claude/commands` (preset ios-swift)
2
2
 
3
- Place command definitions for this preset here. They are copied to `.claude/commands` when you run `ai-rules init claude --preset ios-swift`.
3
+ Определения slash-команд и on-demand сценариев. Копируются в `.claude/commands/` при `ai-rules init claude --preset ios-swift`.
4
+
5
+ | Файл | Назначение |
6
+ |------|------------|
7
+ | `task.md` | Единая точка входа: router → dynamic pipeline → первый agent |
8
+ | `task-continue.md` | Продолжение после human gate / паузы по `pipeline.json` |
9
+ | `feature-start.md` | Legacy analyst-only старт без router |
10
+ | `feature-continue.md` | Legacy продолжение; для `pipeline.json` делегирует смысл `/task-continue` |
11
+ | `technical-retro.md` | Фасилитация технического ретро, включая блок «Работа агентов» |
12
+
13
+ См. также корневой `README.md` пресета — у Claude Code помимо `rules/` и `commands/` используются `skills/`, `agents/`, `hooks/`, `team/`.
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: feature-continue
3
+ description: Legacy alias for /task-continue that resumes a feature pipeline after human approval or pause.
4
+ ---
5
+
6
+ # Feature continue — продолжение после утверждения brief
7
+
8
+ Legacy-команда для продолжения после human gate. Для новых пайплайнов с `pipeline.json` используй те же правила, что в `/task-continue`.
9
+
10
+ ## Аргументы
11
+
12
+ `<slug>` — идентификатор задачи из `.claude/team/tasks/<slug>/`.
13
+
14
+ ## Preconditions
15
+
16
+ 1. Прочитай `.claude/team/tasks/<slug>/brief.md` и `decomposition.md`.
17
+ 2. Если есть `pipeline.json`, делегируй поведение `/task-continue <slug>`.
18
+ 3. Если `pipeline.json` нет, прочитай `status.json`. Продолжай только если:
19
+ - `phase` is `analysis` and `state` is `awaiting_approval` (user explicitly approved via this command), **or**
20
+ - `phase` is `development`/`review`/`testing` and work should resume.
21
+
22
+ ## Legacy алгоритм без `pipeline.json`
23
+
24
+ 1. Обнови `status.json`:
25
+ ```json
26
+ {
27
+ "slug": "<slug>",
28
+ "phase": "development",
29
+ "state": "approved",
30
+ "updatedAt": "<ISO8601>"
31
+ }
32
+ ```
33
+ Затем сразу установи `"state": "in_progress"` перед вызовом developer.
34
+
35
+ 2. Запиши `.claude/team/active-task.json` → `{ "slug": "<slug>" }`.
36
+
37
+ 3. Вызови subagent **feature-developer** с контекстом:
38
+ - пути к `brief.md`, `decomposition.md`, `status.json`;
39
+ - указание следовать `rules/architecture/feature-delivery-workflow.md`.
40
+
41
+ 4. После завершения developer продолжи review → QA по `rules/tooling-and-review/agent-team-orchestrator.md`.
42
+
43
+ ## Если review вернул changes_requested
44
+
45
+ - Верни `phase` в `development`, `state` в `in_progress`.
46
+ - Снова вызови **feature-developer** с списком правок от reviewer.
47
+
48
+ ## Не делать
49
+
50
+ - Не пропускать human gate без явного `/feature-continue`.
51
+ - Не совмещать роли developer и reviewer в одном subagent-вызове.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: feature-start
3
+ description: Legacy analyst-only feature intake. Prefer /task for new work because it uses router and dynamic pipeline.
4
+ ---
5
+
6
+ # Feature start — legacy команда агентов
7
+
8
+ Запуск **фазы анализа** для новой задачи. Для новых задач предпочтительнее `/task`, потому что он сначала строит dynamic pipeline через `task-router`.
9
+
10
+ ## Что делать
11
+
12
+ 1. Извлеки описание задачи из аргументов команды (всё после `/feature-start`).
13
+ 2. Сгенерируй **slug** (kebab-case, до 48 символов) из заголовка задачи.
14
+ 3. Создай `.claude/team/tasks/<slug>/` если его ещё нет — через запись файла (Write / Edit), не через Shell `mkdir`.
15
+ 4. Запиши `.claude/team/active-task.json` → `{ "slug": "<slug>" }`.
16
+ 5. Вызови subagent **task-analyst** с полным описанием задачи и путём к артефактам.
17
+ 6. Дождись завершения аналитика. **Не вызывай developer** на этом этапе.
18
+
19
+ ## Human gate
20
+
21
+ После аналитика:
22
+
23
+ - Покажи пользователю ссылки на `brief.md` и `decomposition.md`.
24
+ - Попроси проверить и утвердить или прислать правки.
25
+ - Для продолжения: `/feature-continue <slug>` или `/task-continue <slug>`.
26
+
27
+ ## Если slug уже существует
28
+
29
+ - Если `status.json` в `awaiting_approval` — предложи ревью или `/feature-continue`.
30
+ - Если задача в работе — спроси, продолжать или начать новый slug.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: task-continue
3
+ description: Continue an agent-team task after a human gate, pause, or review changes request using pipeline.json and status.json.
4
+ ---
5
+
6
+ # Task continue — после human gate или паузы
7
+
8
+ Продолжение пайплайна из `pipeline.json`. Алиас по смыслу: `/feature-continue`.
9
+
10
+ ## Аргументы
11
+
12
+ `<slug>` — идентификатор задачи.
13
+
14
+ ## Preconditions
15
+
16
+ 1. Прочитай `.claude/team/tasks/<slug>/pipeline.json` и `status.json`.
17
+ 2. Продолжай если:
18
+ - `awaitingHumanGate: true` или `state: awaiting_approval`, **или**
19
+ - `state: changes_requested` (после review), **или**
20
+ - задача прервана и нужно возобновить с `pipelineIndex`.
21
+
22
+ ## Алгоритм
23
+
24
+ 1. Запиши `.claude/team/active-task.json` → `{ "slug": "<slug>" }`.
25
+ 2. Сбрось gate: `awaitingHumanGate: false`.
26
+ 3. Определи **следующий шаг**:
27
+ - После approval analyst/architect: `pipelineIndex + 1` → следующий agent в `steps`.
28
+ - После `changes_requested`: снова **feature-developer** (тот же index или найди developer в steps).
29
+ 4. Обнови `status.json`:
30
+ ```json
31
+ {
32
+ "pipelineIndex": <n>,
33
+ "currentAgent": "<steps[n].agent>",
34
+ "phase": "executing",
35
+ "state": "in_progress",
36
+ "awaitingHumanGate": false
37
+ }
38
+ ```
39
+ 5. Вызови subagent для `currentAgent` с контекстом slug и артефактов.
40
+ 6. Если hook `chain-team-phases.sh` включён в проекте и `autoChain: true`, он продолжит цепочку по `pipeline.json`; иначе продолжай следующий шаг вручную.
41
+
42
+ ## Артефакты для handoff
43
+
44
+ | Agent | Прочитать |
45
+ |-------|-----------|
46
+ | feature-developer | brief.md, decomposition.md, validation-report.md (if retry), review.md (if retry), architecture.md |
47
+ | build-verifier | git diff, decomposition.md |
48
+ | code-reviewer | brief.md, validation-report.md, git diff |
49
+ | qa-tester | brief.md, decomposition.md, scope from pipeline step |
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: task
3
+ description: Route a natural-language task through the agent-team pipeline: task-router, pipeline.json, and the first planned specialist.
4
+ ---
5
+
6
+ # Task — единая точка входа
7
+
8
+ Главная команда для постановки задачи в Claude Code. Родительский агент = оркестратор (`rules/tooling-and-review/agent-team-orchestrator.md`). Intake — `rules/tooling-and-review/agent-team-intake.md`.
9
+
10
+ ## Аргументы
11
+
12
+ Всё после `/task` — описание задачи на естественном языке.
13
+
14
+ Примеры:
15
+
16
+ - `/task Добавить фильтр по дате в Order History`
17
+ - `/task Order History падает при пустом списке — пофикси`
18
+ - `/task CI упал на xcodebuild в PR`
19
+ - `/task Миграция сетевого клиента / SPM зависимости`
20
+ - `/task Проверь a11y формы логина`
21
+ - `/task Покрой unit-тестами OrderMapper`
22
+ - `/task Напиши changelog для релиза фильтров`
23
+ - `/task Сделай ревью моих изменений в Features/Orders`
24
+ - `/task Напиши XCUITest для сценария оплаты`
25
+
26
+ ## Алгоритм
27
+
28
+ 1. **Slug** — kebab-case из описания (≤48 символов). Создай `.claude/team/tasks/<slug>/` через запись файла (Write / Edit) — **не** полагайся на Shell `mkdir` как единственный способ создать каталог.
29
+ 2. **Router** — вызови subagent **task-router** с описанием задачи и путём к slug.
30
+ 3. **План** — покажи пользователю таблицу из `pipeline.json`: intent, steps, skipped, humanGates.
31
+ 4. **Intent retro** — если `intent === "retro"`, выполни `/technical-retro` и **остановись**.
32
+ 5. **Старт** — вызови subagent для `pipeline.steps[0].agent`:
33
+ - передай slug, пути к артефактам, scope из step (если есть);
34
+ - обнови `status.json`: `pipelineIndex: 0`, `currentAgent`, `state: in_progress`.
35
+ 6. **Human gate** — если после текущего шага есть gate в `humanGates` (`after:<agent>`), после завершения агента **остановись** и попроси `/task-continue <slug>` (или `/feature-continue <slug>`).
36
+
37
+ ## Не делать
38
+
39
+ - Не вызывать developer до router и (если в pipeline) analyst/architect.
40
+ - Не hardcode порядок ролей — только `pipeline.json`.
41
+ - Не пропускать human gate без явного continue.
42
+
43
+ ## Если slug занят
44
+
45
+ - `awaitingHumanGate` / `state: awaiting_approval` → предложи ревью артефактов или `/task-continue <slug>`.
46
+ - `in_progress` → спроси: продолжить или новый slug.
47
+
48
+ ## Legacy
49
+
50
+ `/feature-start` и `/feature-continue` остаются совместимыми; для новых задач предпочитай `/task`.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: technical-retro
3
+ description: Facilitate a technical retrospective for a period, incident, release, or completed agent-team task slug.
4
+ ---
5
+
6
+ # Техническое ретро — роль агента
7
+
8
+ Агент выступает как **нейтральный фасилитатор технической ретроспективы**, а не как ревьюер кода или оценщик людей. Цель — вынести уроки, согласовать действия и улучшить процесс разработки. Используй skill **`technical-retro`** как основной сценарий.
9
+
10
+ ## Когда включать
11
+
12
+ - Пользователь просит: «ретро», «техническое ретро», «разбор спринта/итерации», «что пошло хорошо / плохо», «action items после релиза».
13
+ - Есть контекст: период (спринт, квартал), тема (релиз, инцидент, миграция), или приложены заметки/линки.
14
+
15
+ ## Входные данные (запросить при нехватке)
16
+
17
+ - **Период и фокус** (например: две недели, релиз X, постмортем).
18
+ - **Участники/роли** (если важно для формулировок): только разработка или весь кросс‑функциональный поток.
19
+ - **Ограничения**: время (15 / 30 / 60 мин), формат (async в чате vs синхронная повестка).
20
+ - По желанию: список deliverables, метрики, ссылки на тикеты/MR — **без выдумывания** фактов, которых нет в сообщении или репозитории.
21
+
22
+ Если контекста мало — задать **1–3 коротких уточняющих вопроса**, затем продолжить с явными допущениями в шапке вывода.
23
+
24
+ ## Принципы фасилитации
25
+
26
+ - **Безопасность и нейтральность**: формулировки про процесс и систему, не про «виноватых»; избегать ярлыков к людям.
27
+ - **Конкретика**: от абстрактного «надо лучше общаться» — к наблюдаемым событиям и договорённостям.
28
+ - **Баланс**: зафиксировать и позитив (что усилить), и зоны роста.
29
+ - **Один владелец и срок** у каждого action item; избегать списка «сделает команда» без имени/роли.
30
+ - **Не смешивать с code review**: ретро не заменяет построчный разбор диффа; при запросе «и ретро, и ревью» — развести два блока в ответе.
31
+
32
+ ## Рекомендуемая структура сессии (по умолчанию)
33
+
34
+ Подстроить под указанное время. Для короткого async‑формата — сжать до шагов 2–4.
35
+
36
+ 1. **Цель и рамки** (1–2 предложения): зачем встреча, что в фокусе / что вне скоупа.
37
+ 2. **Сбор фактов** (молча в чате — списком от пользователя; агент структурирует):
38
+ - что шло хорошо,
39
+ - что мешало / вызывало риски,
40
+ - сюрпризы (технический долг, узкие места, зависимости).
41
+ 3. **Группировка тем**: объединить дубли, выделить 3–7 тем для обсуждения (приоритет — влияние × изменяемость).
42
+ 4. **Корневые причины (легко)**: для 1–2 самых болезненных тем — кратко «5 почему» или «что в процессе/артефактах позволило этому случиться», без морализаторства.
43
+ 5. **Эксперименты на следующий цикл**: не больше 1–3 изменений процесса/инструментов; каждое — измеримое или с явным критерием «успех/не успех».
44
+ 6. **Action items**: таблица или список с **что / владелец / до когда / как поймём, что сработало**.
45
+
46
+ ## Формат ответа агента
47
+
48
+ - Краткая **шапка**: период, фокус, допущения (если были).
49
+ - **Повестка** или итог по этапам выше.
50
+ - **Темы** — буллеты; по спорным местам — **вопросы команде**, а не окончательные выводы без данных.
51
+ - **Решения и эксперименты** отдельным блоком.
52
+ - **Action items** — в конце, каждый пункт с владельцем и дедлайном (или пометка «нужно назначить на встрече»).
53
+
54
+ ## Ограничения
55
+
56
+ - Не приписывать команде цитаты или факты, которых не было во входе.
57
+ - Не выдавать юридические/HR‑рекомендации; при явных конфликтах или токсичности — мягко предложить эскалацию человеку, ответственному за команду, без детализации «наказаний».
58
+ - Если пользователь просит только шаблон — выдать **шаблон повестки и доски** (колонки, таймбоксы) без выдуманного контента.
@@ -0,0 +1,10 @@
1
+ # `.claude/hooks` (preset ios-swift)
2
+
3
+ | File | Purpose |
4
+ |------|---------|
5
+ | `chain-team-phases.sh` | Pipeline chaining after subagent stop (`TEAM_ROOT=.claude/team`) |
6
+ | `guard-shell-command.sh` | Destructive git / package-manager guard; **allows** `xcodebuild` / `simctl` / `xcrun` |
7
+
8
+ Claude Code may not use Cursor `hooks.json`. Wire scripts per project docs when enabling agent-team auto-chain.
9
+
10
+ **No `hooks.json` in Claude preset** (platform limit — same as next Claude).