@cregis-dev/cckit 0.2.0 → 0.4.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 (316) hide show
  1. package/README.md +15 -3
  2. package/package.json +1 -1
  3. package/registry.json +234 -194
  4. package/src/commands/init.js +19 -15
  5. package/src/commands/update.js +9 -4
  6. package/src/core/plugin-installer.js +64 -23
  7. package/src/utils/fs.js +6 -1
  8. package/templates/bmad/_config/bmad-help.csv +2 -1
  9. package/templates/bmad/_config/files-manifest.csv +437 -431
  10. package/templates/bmad/_config/ides/claude-code.yaml +5 -5
  11. package/templates/bmad/_config/ides/trae.yaml +5 -5
  12. package/templates/bmad/_config/task-manifest.csv +7 -6
  13. package/templates/bmad/_config/workflow-manifest.csv +34 -34
  14. package/templates/bmad/bmm/agents/qa.md +1 -1
  15. package/templates/bmad/bmm/config.yaml +1 -1
  16. package/templates/bmad/bmm/module-help.csv +1 -1
  17. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +1 -1
  18. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +1 -1
  19. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +1 -1
  20. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +1 -1
  21. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +1 -1
  22. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +1 -1
  23. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
  24. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +1 -1
  25. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +1 -1
  26. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +1 -1
  27. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -1
  28. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +1 -1
  29. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
  30. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +1 -1
  31. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +1 -1
  32. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +1 -1
  33. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
  34. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +1 -1
  35. package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +1 -1
  36. package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +1 -1
  37. package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +1 -1
  38. package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +1 -1
  39. package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +1 -1
  40. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +1 -1
  41. package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +1 -1
  42. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
  43. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
  44. package/templates/bmad/bmm/workflows/document-project/workflow.yaml +1 -1
  45. package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +1 -1
  46. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +2 -2
  47. package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +2 -2
  48. package/templates/bmad/commands/bmad-bmm-code-review.md +4 -4
  49. package/templates/bmad/commands/bmad-bmm-correct-course.md +4 -4
  50. package/templates/bmad/commands/bmad-bmm-create-architecture.md +2 -2
  51. package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +2 -2
  52. package/templates/bmad/commands/bmad-bmm-create-prd.md +2 -2
  53. package/templates/bmad/commands/bmad-bmm-create-product-brief.md +2 -2
  54. package/templates/bmad/commands/bmad-bmm-create-story.md +4 -4
  55. package/templates/bmad/commands/bmad-bmm-create-ux-design.md +2 -2
  56. package/templates/bmad/commands/bmad-bmm-dev-story.md +4 -4
  57. package/templates/bmad/commands/bmad-bmm-document-project.md +4 -4
  58. package/templates/bmad/commands/bmad-bmm-domain-research.md +2 -2
  59. package/templates/bmad/commands/bmad-bmm-edit-prd.md +2 -2
  60. package/templates/bmad/commands/bmad-bmm-generate-project-context.md +2 -2
  61. package/templates/bmad/commands/bmad-bmm-market-research.md +2 -2
  62. package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +4 -4
  63. package/templates/bmad/commands/bmad-bmm-quick-dev.md +2 -2
  64. package/templates/bmad/commands/bmad-bmm-quick-spec.md +2 -2
  65. package/templates/bmad/commands/bmad-bmm-retrospective.md +4 -4
  66. package/templates/bmad/commands/bmad-bmm-sprint-planning.md +4 -4
  67. package/templates/bmad/commands/bmad-bmm-sprint-status.md +4 -4
  68. package/templates/bmad/commands/bmad-bmm-technical-research.md +2 -2
  69. package/templates/bmad/commands/bmad-bmm-validate-prd.md +2 -2
  70. package/templates/bmad/commands/bmad-brainstorming.md +2 -2
  71. package/templates/bmad/commands/bmad-editorial-review-prose.md +1 -1
  72. package/templates/bmad/commands/bmad-editorial-review-structure.md +1 -1
  73. package/templates/bmad/commands/bmad-help.md +1 -1
  74. package/templates/bmad/commands/bmad-index-docs.md +1 -1
  75. package/templates/bmad/commands/bmad-party-mode.md +2 -2
  76. package/templates/bmad/commands/bmad-review-adversarial-general.md +1 -1
  77. package/templates/bmad/commands/bmad-review-edge-case-hunter.md +10 -0
  78. package/templates/bmad/commands/bmad-shard-doc.md +1 -1
  79. package/templates/bmad/commands/bmad-tea-teach-me-testing.md +2 -2
  80. package/templates/bmad/commands/bmad-tea-testarch-atdd.md +4 -4
  81. package/templates/bmad/commands/bmad-tea-testarch-automate.md +4 -4
  82. package/templates/bmad/commands/bmad-tea-testarch-ci.md +4 -4
  83. package/templates/bmad/commands/bmad-tea-testarch-framework.md +4 -4
  84. package/templates/bmad/commands/bmad-tea-testarch-nfr.md +4 -4
  85. package/templates/bmad/commands/bmad-tea-testarch-test-design.md +4 -4
  86. package/templates/bmad/commands/bmad-tea-testarch-test-review.md +4 -4
  87. package/templates/bmad/commands/bmad-tea-testarch-trace.md +4 -4
  88. package/templates/bmad/core/config.yaml +1 -1
  89. package/templates/bmad/core/module-help.csv +1 -0
  90. package/templates/bmad/core/tasks/editorial-review-prose.xml +1 -1
  91. package/templates/bmad/core/tasks/editorial-review-structure.xml +1 -1
  92. package/templates/bmad/core/tasks/help.md +1 -1
  93. package/templates/bmad/core/tasks/index-docs.xml +1 -1
  94. package/templates/bmad/core/tasks/review-adversarial-general.xml +1 -1
  95. package/templates/bmad/core/tasks/review-edge-case-hunter.xml +63 -0
  96. package/templates/bmad/core/tasks/shard-doc.xml +1 -1
  97. package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +1 -1
  98. package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +31 -18
  99. package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +1 -1
  100. package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +2 -2
  101. package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +2 -2
  102. package/templates/bmad/core/workflows/brainstorming/workflow.md +4 -2
  103. package/templates/bmad/core/workflows/party-mode/workflow.md +1 -1
  104. package/templates/bmad/tea/config.yaml +5 -1
  105. package/templates/bmad/tea/testarch/knowledge/contract-testing.md +24 -2
  106. package/templates/bmad/tea/testarch/knowledge/pact-mcp.md +204 -0
  107. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-consumer-helpers.md +211 -0
  108. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-overview.md +210 -0
  109. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
  110. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
  111. package/templates/bmad/tea/testarch/tea-index.csv +5 -0
  112. package/templates/bmad/tea/workflows/testarch/README.md +1 -1
  113. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +30 -0
  114. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +159 -57
  115. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md +215 -0
  116. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
  117. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +31 -15
  118. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +1 -1
  119. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +3 -3
  120. package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +2 -2
  121. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +32 -0
  122. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +215 -101
  123. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md +193 -0
  124. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md +246 -0
  125. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md +213 -0
  126. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +38 -22
  127. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +1 -1
  128. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +3 -3
  129. package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +2 -2
  130. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +124 -1
  131. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +7 -0
  132. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +1 -1
  133. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +3 -3
  134. package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +2 -2
  135. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +126 -3
  136. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +1 -1
  137. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +3 -3
  138. package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +2 -2
  139. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +150 -36
  140. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md +138 -0
  141. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md +84 -0
  142. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md +85 -0
  143. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md +88 -0
  144. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +27 -10
  145. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +1 -1
  146. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +3 -3
  147. package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +2 -2
  148. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +3 -3
  149. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +6 -6
  150. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +1 -1
  151. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +30 -0
  152. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +72 -1
  153. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +1 -1
  154. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +3 -3
  155. package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +2 -2
  156. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +29 -1
  157. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +147 -46
  158. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md +214 -0
  159. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md +125 -0
  160. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
  161. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md +117 -0
  162. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +10 -10
  163. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +1 -1
  164. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +3 -3
  165. package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +2 -2
  166. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +92 -1
  167. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +1 -1
  168. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +3 -3
  169. package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +2 -2
  170. package/templates/ecc/agents/chief-of-staff.md +151 -0
  171. package/templates/ecc/commands/claw.md +79 -0
  172. package/templates/ecc/rules/README.md +23 -2
  173. package/templates/ecc/rules/common/development-workflow.md +37 -0
  174. package/templates/ecc/rules/common/git-workflow.md +2 -23
  175. package/templates/ecc/rules/swift/coding-style.md +47 -0
  176. package/templates/ecc/rules/swift/hooks.md +20 -0
  177. package/templates/ecc/rules/swift/patterns.md +66 -0
  178. package/templates/ecc/rules/swift/security.md +33 -0
  179. package/templates/ecc/rules/swift/testing.md +45 -0
  180. package/templates/ecc/skills/api-design/SKILL.md +1 -0
  181. package/templates/ecc/skills/article-writing/SKILL.md +85 -0
  182. package/templates/ecc/skills/backend-patterns/SKILL.md +1 -0
  183. package/templates/ecc/skills/clickhouse-io/SKILL.md +1 -0
  184. package/templates/ecc/skills/coding-standards/SKILL.md +1 -0
  185. package/templates/ecc/skills/configure-ecc/SKILL.md +32 -4
  186. package/templates/ecc/skills/content-engine/SKILL.md +88 -0
  187. package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +1 -0
  188. package/templates/ecc/skills/continuous-learning/SKILL.md +2 -1
  189. package/templates/ecc/skills/continuous-learning-v2/SKILL.md +4 -1
  190. package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +14 -7
  191. package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +1 -0
  192. package/templates/ecc/skills/cpp-coding-standards/SKILL.md +1 -0
  193. package/templates/ecc/skills/cpp-testing/SKILL.md +1 -0
  194. package/templates/ecc/skills/database-migrations/SKILL.md +1 -0
  195. package/templates/ecc/skills/deployment-patterns/SKILL.md +1 -0
  196. package/templates/ecc/skills/django-patterns/SKILL.md +1 -0
  197. package/templates/ecc/skills/django-security/SKILL.md +1 -0
  198. package/templates/ecc/skills/django-tdd/SKILL.md +1 -0
  199. package/templates/ecc/skills/django-verification/SKILL.md +1 -0
  200. package/templates/ecc/skills/docker-patterns/SKILL.md +1 -0
  201. package/templates/ecc/skills/e2e-testing/SKILL.md +1 -0
  202. package/templates/ecc/skills/eval-harness/SKILL.md +1 -0
  203. package/templates/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  204. package/templates/ecc/skills/frontend-patterns/SKILL.md +1 -0
  205. package/templates/ecc/skills/frontend-slides/SKILL.md +184 -0
  206. package/templates/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  207. package/templates/ecc/skills/golang-patterns/SKILL.md +1 -0
  208. package/templates/ecc/skills/golang-testing/SKILL.md +1 -0
  209. package/templates/ecc/skills/investor-materials/SKILL.md +96 -0
  210. package/templates/ecc/skills/investor-outreach/SKILL.md +76 -0
  211. package/templates/ecc/skills/iterative-retrieval/SKILL.md +1 -0
  212. package/templates/ecc/skills/java-coding-standards/SKILL.md +1 -0
  213. package/templates/ecc/skills/jpa-patterns/SKILL.md +1 -0
  214. package/templates/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  215. package/templates/ecc/skills/market-research/SKILL.md +75 -0
  216. package/templates/ecc/skills/nutrient-document-processing/SKILL.md +1 -1
  217. package/templates/ecc/skills/postgres-patterns/SKILL.md +1 -0
  218. package/templates/ecc/skills/project-guidelines-example/SKILL.md +1 -0
  219. package/templates/ecc/skills/python-patterns/SKILL.md +1 -0
  220. package/templates/ecc/skills/python-testing/SKILL.md +1 -0
  221. package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +1 -0
  222. package/templates/ecc/skills/search-first/SKILL.md +3 -1
  223. package/templates/ecc/skills/security-review/SKILL.md +1 -0
  224. package/templates/ecc/skills/security-scan/SKILL.md +1 -0
  225. package/templates/ecc/skills/skill-stocktake/SKILL.md +176 -0
  226. package/templates/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  227. package/templates/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  228. package/templates/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  229. package/templates/ecc/skills/springboot-patterns/SKILL.md +1 -0
  230. package/templates/ecc/skills/springboot-security/SKILL.md +1 -0
  231. package/templates/ecc/skills/springboot-tdd/SKILL.md +1 -0
  232. package/templates/ecc/skills/springboot-verification/SKILL.md +1 -0
  233. package/templates/ecc/skills/strategic-compact/SKILL.md +1 -0
  234. package/templates/ecc/skills/swift-actor-persistence/SKILL.md +1 -0
  235. package/templates/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  236. package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +1 -0
  237. package/templates/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  238. package/templates/ecc/skills/tdd-workflow/SKILL.md +1 -0
  239. package/templates/ecc/skills/verification-loop/SKILL.md +1 -0
  240. package/templates/ecc/skills/visa-doc-translate/README.md +86 -0
  241. package/templates/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  242. package/templates/ext-skills/pinchtab/SKILL.md +89 -486
  243. package/templates/ext-skills/pinchtab/TRUST.md +69 -0
  244. package/templates/ext-skills/pinchtab/references/api.md +297 -0
  245. package/templates/ext-skills/pinchtab/references/env.md +45 -0
  246. package/templates/ext-skills/pinchtab/references/profiles.md +107 -0
  247. package/templates/plugins/claude-code-setup/.claude-plugin/plugin.json +9 -0
  248. package/templates/plugins/claude-code-setup/LICENSE +202 -0
  249. package/templates/plugins/claude-code-setup/README.md +29 -0
  250. package/templates/plugins/claude-code-setup/automation-recommender-example.png +0 -0
  251. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +288 -0
  252. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +226 -0
  253. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +263 -0
  254. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +98 -0
  255. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +408 -0
  256. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +181 -0
  257. package/templates/plugins/claude-md-management/.claude-plugin/plugin.json +9 -0
  258. package/templates/plugins/claude-md-management/LICENSE +202 -0
  259. package/templates/plugins/claude-md-management/README.md +40 -0
  260. package/templates/plugins/claude-md-management/claude-md-improver-example.png +0 -0
  261. package/templates/plugins/claude-md-management/commands/revise-claude-md.md +54 -0
  262. package/templates/plugins/claude-md-management/revise-claude-md-example.png +0 -0
  263. package/templates/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +179 -0
  264. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +109 -0
  265. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +253 -0
  266. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +150 -0
  267. package/templates/plugins/code-simplifier/.claude-plugin/plugin.json +9 -0
  268. package/templates/plugins/code-simplifier/LICENSE +202 -0
  269. package/templates/plugins/code-simplifier/agents/code-simplifier.md +52 -0
  270. package/templates/plugins/commit-commands/.claude-plugin/plugin.json +9 -0
  271. package/templates/plugins/commit-commands/LICENSE +202 -0
  272. package/templates/plugins/commit-commands/README.md +225 -0
  273. package/templates/plugins/commit-commands/commands/clean_gone.md +53 -0
  274. package/templates/plugins/commit-commands/commands/commit-push-pr.md +20 -0
  275. package/templates/plugins/commit-commands/commands/commit.md +17 -0
  276. package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +2 -2
  277. package/templates/trae-bmad/rules/bmad-bmm-code-review.md +4 -4
  278. package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +4 -4
  279. package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +2 -2
  280. package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +2 -2
  281. package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +2 -2
  282. package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +2 -2
  283. package/templates/trae-bmad/rules/bmad-bmm-create-story.md +4 -4
  284. package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +2 -2
  285. package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +4 -4
  286. package/templates/trae-bmad/rules/bmad-bmm-document-project.md +4 -4
  287. package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +2 -2
  288. package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +2 -2
  289. package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +2 -2
  290. package/templates/trae-bmad/rules/bmad-bmm-market-research.md +2 -2
  291. package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +4 -4
  292. package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +2 -2
  293. package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +2 -2
  294. package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +4 -4
  295. package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +4 -4
  296. package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +4 -4
  297. package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +2 -2
  298. package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +2 -2
  299. package/templates/trae-bmad/rules/bmad-brainstorming.md +2 -2
  300. package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +1 -1
  301. package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +1 -1
  302. package/templates/trae-bmad/rules/bmad-help.md +1 -1
  303. package/templates/trae-bmad/rules/bmad-index-docs.md +1 -1
  304. package/templates/trae-bmad/rules/bmad-party-mode.md +2 -2
  305. package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +1 -1
  306. package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +10 -0
  307. package/templates/trae-bmad/rules/bmad-shard-doc.md +1 -1
  308. package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +2 -2
  309. package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +4 -4
  310. package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +4 -4
  311. package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +4 -4
  312. package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +4 -4
  313. package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +4 -4
  314. package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +4 -4
  315. package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +4 -4
  316. package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +4 -4
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  name: 'step-03-quality-evaluation'
3
- description: 'Orchestrate parallel quality dimension checks (4 subprocesses)'
3
+ description: 'Orchestrate adaptive quality dimension checks (agent-team, subagent, or sequential)'
4
4
  nextStepFile: './step-03f-aggregate-scores.md'
5
5
  ---
6
6
 
7
- # Step 3: Orchestrate Parallel Quality Evaluation
7
+ # Step 3: Orchestrate Adaptive Quality Evaluation
8
8
 
9
9
  ## STEP GOAL
10
10
 
11
- Launch 4 parallel subprocesses to evaluate test quality dimensions:
11
+ Select execution mode deterministically, then evaluate quality dimensions using agent-team, subagent, or sequential execution while preserving output contracts:
12
12
 
13
13
  - Determinism
14
14
  - Isolation
@@ -21,30 +21,31 @@ Coverage is intentionally excluded from this workflow and handled by `trace`.
21
21
 
22
22
  - 📖 Read the entire step file before acting
23
23
  - ✅ Speak in `{communication_language}`
24
- - ✅ Launch four subprocesses in PARALLEL
25
- - ✅ Wait for all subprocesses to complete
26
- - Do NOT evaluate quality sequentially (use subprocesses)
27
- - ❌ Do NOT proceed until all subprocesses finish
24
+ - ✅ Resolve execution mode from config (`tea_execution_mode`, `tea_capability_probe`)
25
+ - ✅ Apply fallback rules deterministically when requested mode is unsupported
26
+ - Wait for required worker steps to complete
27
+ - ❌ Do NOT skip capability checks when probing is enabled
28
+ - ❌ Do NOT proceed until required worker steps finish
28
29
 
29
30
  ---
30
31
 
31
32
  ## EXECUTION PROTOCOLS:
32
33
 
33
34
  - 🎯 Follow the MANDATORY SEQUENCE exactly
34
- - 💾 Wait for subprocess outputs
35
+ - 💾 Wait for subagent outputs
35
36
  - 📖 Load the next step only when instructed
36
37
 
37
38
  ## CONTEXT BOUNDARIES:
38
39
 
39
40
  - Available context: test files from Step 2, knowledge fragments
40
- - Focus: subprocess orchestration only
41
- - Limits: do not evaluate quality directly (delegate to subprocesses)
41
+ - Focus: orchestration only (mode selection + worker dispatch)
42
+ - Limits: do not evaluate quality directly (delegate to worker steps)
42
43
 
43
44
  ---
44
45
 
45
46
  ## MANDATORY SEQUENCE
46
47
 
47
- ### 1. Prepare Subprocess Inputs
48
+ ### 1. Prepare Execution Context
48
49
 
49
50
  **Generate unique timestamp:**
50
51
 
@@ -52,56 +53,156 @@ Coverage is intentionally excluded from this workflow and handled by `trace`.
52
53
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
53
54
  ```
54
55
 
55
- **Prepare context for all subprocesses:**
56
+ **Prepare context for all subagents:**
56
57
 
57
58
  ```javascript
58
- const subprocessContext = {
59
+ const parseBooleanFlag = (value, defaultValue = true) => {
60
+ if (typeof value === 'string') {
61
+ const normalized = value.trim().toLowerCase();
62
+ if (['false', '0', 'off', 'no'].includes(normalized)) return false;
63
+ if (['true', '1', 'on', 'yes'].includes(normalized)) return true;
64
+ }
65
+ if (value === undefined || value === null) return defaultValue;
66
+ return Boolean(value);
67
+ };
68
+
69
+ const subagentContext = {
59
70
  test_files: /* from Step 2 */,
60
71
  knowledge_fragments_loaded: ['test-quality'],
72
+ config: {
73
+ execution_mode: config.tea_execution_mode || 'auto', // "auto" | "subagent" | "agent-team" | "sequential"
74
+ capability_probe: parseBooleanFlag(config.tea_capability_probe, true), // supports booleans and "false"/"true" strings
75
+ },
61
76
  timestamp: timestamp
62
77
  };
63
78
  ```
64
79
 
65
80
  ---
66
81
 
67
- ### 2. Launch 4 Parallel Quality Subprocesses
82
+ ### 2. Resolve Execution Mode with Capability Probe
83
+
84
+ ```javascript
85
+ const normalizeUserExecutionMode = (mode) => {
86
+ if (typeof mode !== 'string') return null;
87
+ const normalized = mode.trim().toLowerCase().replace(/[-_]/g, ' ').replace(/\s+/g, ' ');
88
+
89
+ if (normalized === 'auto') return 'auto';
90
+ if (normalized === 'sequential') return 'sequential';
91
+ if (normalized === 'subagent' || normalized === 'sub agent' || normalized === 'subagents' || normalized === 'sub agents') {
92
+ return 'subagent';
93
+ }
94
+ if (normalized === 'agent team' || normalized === 'agent teams' || normalized === 'agentteam') {
95
+ return 'agent-team';
96
+ }
97
+
98
+ return null;
99
+ };
100
+
101
+ const normalizeConfigExecutionMode = (mode) => {
102
+ if (mode === 'subagent') return 'subagent';
103
+ if (mode === 'auto' || mode === 'sequential' || mode === 'subagent' || mode === 'agent-team') {
104
+ return mode;
105
+ }
106
+ return null;
107
+ };
68
108
 
69
- **Subprocess A: Determinism**
109
+ // Explicit user instruction in the active run takes priority over config.
110
+ const explicitModeFromUser = normalizeUserExecutionMode(runtime.getExplicitExecutionModeHint?.() || null);
70
111
 
71
- - File: `./step-03a-subprocess-determinism.md`
112
+ const requestedMode = explicitModeFromUser || normalizeConfigExecutionMode(subagentContext.config.execution_mode) || 'auto';
113
+ const probeEnabled = subagentContext.config.capability_probe;
114
+
115
+ const supports = {
116
+ subagent: false,
117
+ agentTeam: false,
118
+ };
119
+
120
+ if (probeEnabled) {
121
+ supports.subagent = runtime.canLaunchSubagents?.() === true;
122
+ supports.agentTeam = runtime.canLaunchAgentTeams?.() === true;
123
+ }
124
+
125
+ let resolvedMode = requestedMode;
126
+
127
+ if (requestedMode === 'auto') {
128
+ if (supports.agentTeam) resolvedMode = 'agent-team';
129
+ else if (supports.subagent) resolvedMode = 'subagent';
130
+ else resolvedMode = 'sequential';
131
+ } else if (probeEnabled && requestedMode === 'agent-team' && !supports.agentTeam) {
132
+ resolvedMode = supports.subagent ? 'subagent' : 'sequential';
133
+ } else if (probeEnabled && requestedMode === 'subagent' && !supports.subagent) {
134
+ resolvedMode = 'sequential';
135
+ }
136
+
137
+ subagentContext.execution = {
138
+ requestedMode,
139
+ resolvedMode,
140
+ probeEnabled,
141
+ supports,
142
+ };
143
+ ```
144
+
145
+ Resolution precedence:
146
+
147
+ 1. Explicit user request in this run (`agent team` => `agent-team`; `subagent` => `subagent`; `sequential`; `auto`)
148
+ 2. `tea_execution_mode` from config
149
+ 3. Runtime capability fallback (when probing enabled)
150
+
151
+ If probing is disabled, honor the requested mode strictly. If that mode cannot be executed at runtime, fail with explicit error instead of silent fallback.
152
+
153
+ ---
154
+
155
+ ### 3. Dispatch 4 Quality Workers
156
+
157
+ **Subagent A: Determinism**
158
+
159
+ - File: `./step-03a-subagent-determinism.md`
72
160
  - Output: `/tmp/tea-test-review-determinism-${timestamp}.json`
73
- - Status: Running in parallel... ⟳
161
+ - Execution:
162
+ - `agent-team` or `subagent`: launch non-blocking
163
+ - `sequential`: run blocking and wait
164
+ - Status: Running... ⟳
74
165
 
75
- **Subprocess B: Isolation**
166
+ **Subagent B: Isolation**
76
167
 
77
- - File: `./step-03b-subprocess-isolation.md`
168
+ - File: `./step-03b-subagent-isolation.md`
78
169
  - Output: `/tmp/tea-test-review-isolation-${timestamp}.json`
79
- - Status: Running in parallel... ⟳
170
+ - Status: Running... ⟳
80
171
 
81
- **Subprocess C: Maintainability**
172
+ **Subagent C: Maintainability**
82
173
 
83
- - File: `./step-03c-subprocess-maintainability.md`
174
+ - File: `./step-03c-subagent-maintainability.md`
84
175
  - Output: `/tmp/tea-test-review-maintainability-${timestamp}.json`
85
- - Status: Running in parallel... ⟳
176
+ - Status: Running... ⟳
86
177
 
87
- **Subprocess D: Performance**
178
+ **Subagent D: Performance**
88
179
 
89
- - File: `./step-03e-subprocess-performance.md`
180
+ - File: `./step-03e-subagent-performance.md`
90
181
  - Output: `/tmp/tea-test-review-performance-${timestamp}.json`
91
- - Status: Running in parallel... ⟳
182
+ - Status: Running... ⟳
183
+
184
+ In `agent-team` and `subagent` modes, runtime decides worker scheduling and concurrency.
92
185
 
93
186
  ---
94
187
 
95
- ### 3. Wait for All Subprocesses
188
+ ### 4. Wait for Expected Worker Completion
189
+
190
+ **If `resolvedMode` is `agent-team` or `subagent`:**
191
+
192
+ ```
193
+ ⏳ Waiting for 4 quality subagents to complete...
194
+ ✅ All 4 quality subagents completed successfully!
195
+ ```
196
+
197
+ **If `resolvedMode` is `sequential`:**
96
198
 
97
199
  ```
98
- Waiting for 4 quality subprocesses to complete...
99
- ✅ All 4 quality subprocesses completed successfully!
200
+ Sequential mode: each worker already completed during dispatch.
100
201
  ```
101
202
 
102
203
  ---
103
204
 
104
- ### 4. Verify All Outputs Exist
205
+ ### 5. Verify All Outputs Exist
105
206
 
106
207
  ```javascript
107
208
  const outputs = ['determinism', 'isolation', 'maintainability', 'performance'].map(
@@ -110,26 +211,25 @@ const outputs = ['determinism', 'isolation', 'maintainability', 'performance'].m
110
211
 
111
212
  outputs.forEach((output) => {
112
213
  if (!fs.existsSync(output)) {
113
- throw new Error(`Subprocess output missing: ${output}`);
214
+ throw new Error(`Subagent output missing: ${output}`);
114
215
  }
115
216
  });
116
217
  ```
117
218
 
118
219
  ---
119
220
 
120
- ### 5. Performance Report
221
+ ### 6. Execution Report
121
222
 
122
223
  ```
123
224
  🚀 Performance Report:
124
- - Execution Mode: PARALLEL (4 subprocesses)
125
- - Total Elapsed: ~max(all subprocesses) minutes
126
- - Sequential Would Take: ~sum(all subprocesses) minutes
127
- - Performance Gain: ~60-70% faster!
225
+ - Execution Mode: {resolvedMode}
226
+ - Total Elapsed: ~mode-dependent
227
+ - Parallel Gain: ~60-70% faster when mode is subagent/agent-team
128
228
  ```
129
229
 
130
230
  ---
131
231
 
132
- ### 6. Proceed to Aggregation
232
+ ### 7. Proceed to Aggregation
133
233
 
134
234
  Pass the same `timestamp` value to Step 3F (do not regenerate it). Step 3F must read the exact temp files written in this step.
135
235
 
@@ -137,7 +237,7 @@ Load next step: `{nextStepFile}`
137
237
 
138
238
  The aggregation step (3F) will:
139
239
 
140
- - Read all 4 subprocess outputs
240
+ - Read all 4 subagent outputs
141
241
  - Calculate weighted overall score (0-100)
142
242
  - Aggregate violations by severity
143
243
  - Generate review report with top suggestions
@@ -148,11 +248,11 @@ The aggregation step (3F) will:
148
248
 
149
249
  Proceed to Step 3F when:
150
250
 
151
- - ✅ All 4 subprocesses completed successfully
251
+ - ✅ All 4 subagents completed successfully
152
252
  - ✅ All output files exist and are valid JSON
153
- - ✅ Performance metrics displayed
253
+ - ✅ Execution metrics displayed
154
254
 
155
- **Do NOT proceed if any subprocess failed.**
255
+ **Do NOT proceed if any subagent failed.**
156
256
 
157
257
  ---
158
258
 
@@ -160,14 +260,15 @@ Proceed to Step 3F when:
160
260
 
161
261
  ### ✅ SUCCESS:
162
262
 
163
- - All 4 subprocesses launched and completed
263
+ - All 4 subagents launched and completed
264
+ - All required worker steps completed
164
265
  - Output files generated and valid
165
- - Parallel execution achieved ~60% performance gain
266
+ - Fallback behavior respected configuration and capability probe rules
166
267
 
167
268
  ### ❌ FAILURE:
168
269
 
169
- - One or more subprocesses failed
270
+ - One or more subagents failed
170
271
  - Output files missing or invalid
171
- - Sequential evaluation instead of parallel
272
+ - Unsupported requested mode with probing disabled
172
273
 
173
- **Master Rule:** Parallel subprocess execution is MANDATORY for performance.
274
+ **Master Rule:** Deterministic mode selection + stable output contract. Use the best supported mode, then aggregate normally.
@@ -0,0 +1,214 @@
1
+ ---
2
+ name: 'step-03a-subagent-determinism'
3
+ description: 'Subagent: Check test determinism (no random/time dependencies)'
4
+ subagent: true
5
+ outputFile: '/tmp/tea-test-review-determinism-{{timestamp}}.json'
6
+ ---
7
+
8
+ # Subagent 3A: Determinism Quality Check
9
+
10
+ ## SUBAGENT CONTEXT
11
+
12
+ This is an **isolated subagent** running in parallel with other quality dimension checks.
13
+
14
+ **What you have from parent workflow:**
15
+
16
+ - Test files discovered in Step 2
17
+ - Knowledge fragment: test-quality (determinism criteria)
18
+ - Config: test framework
19
+
20
+ **Your task:** Analyze test files for DETERMINISM violations only.
21
+
22
+ ---
23
+
24
+ ## MANDATORY EXECUTION RULES
25
+
26
+ - 📖 Read this entire subagent file before acting
27
+ - ✅ Check DETERMINISM only (not other quality dimensions)
28
+ - ✅ Output structured JSON to temp file
29
+ - ❌ Do NOT check isolation, maintainability, coverage, or performance (other subagents)
30
+ - ❌ Do NOT modify test files (read-only analysis)
31
+ - ❌ Do NOT run tests (just analyze code)
32
+
33
+ ---
34
+
35
+ ## SUBAGENT TASK
36
+
37
+ ### 1. Identify Determinism Violations
38
+
39
+ **Scan test files for non-deterministic patterns:**
40
+
41
+ **HIGH SEVERITY Violations**:
42
+
43
+ - `Math.random()` - Random number generation
44
+ - `Date.now()` or `new Date()` without mocking
45
+ - `setTimeout` / `setInterval` without proper waits
46
+ - External API calls without mocking
47
+ - File system operations on random paths
48
+ - Database queries with non-deterministic ordering
49
+
50
+ **MEDIUM SEVERITY Violations**:
51
+
52
+ - `page.waitForTimeout(N)` - Hard waits instead of conditions
53
+ - Flaky selectors (CSS classes that may change)
54
+ - Race conditions (missing proper synchronization)
55
+ - Test order dependencies (test A must run before test B)
56
+
57
+ **LOW SEVERITY Violations**:
58
+
59
+ - Missing test isolation (shared state between tests)
60
+ - Console timestamps without fixed timezone
61
+
62
+ ### 2. Analyze Each Test File
63
+
64
+ For each test file from Step 2:
65
+
66
+ ```javascript
67
+ const violations = [];
68
+
69
+ // Check for Math.random()
70
+ if (testFileContent.includes('Math.random()')) {
71
+ violations.push({
72
+ file: testFile,
73
+ line: findLineNumber('Math.random()'),
74
+ severity: 'HIGH',
75
+ category: 'random-generation',
76
+ description: 'Test uses Math.random() - non-deterministic',
77
+ suggestion: 'Use faker.seed(12345) for deterministic random data',
78
+ });
79
+ }
80
+
81
+ // Check for Date.now()
82
+ if (testFileContent.includes('Date.now()') || testFileContent.includes('new Date()')) {
83
+ violations.push({
84
+ file: testFile,
85
+ line: findLineNumber('Date.now()'),
86
+ severity: 'HIGH',
87
+ category: 'time-dependency',
88
+ description: 'Test uses Date.now() or new Date() without mocking',
89
+ suggestion: 'Mock system time with test.useFakeTimers() or use fixed timestamps',
90
+ });
91
+ }
92
+
93
+ // Check for hard waits
94
+ if (testFileContent.includes('waitForTimeout')) {
95
+ violations.push({
96
+ file: testFile,
97
+ line: findLineNumber('waitForTimeout'),
98
+ severity: 'MEDIUM',
99
+ category: 'hard-wait',
100
+ description: 'Test uses waitForTimeout - creates flakiness',
101
+ suggestion: 'Replace with expect(locator).toBeVisible() or waitForResponse',
102
+ });
103
+ }
104
+
105
+ // ... check other patterns
106
+ ```
107
+
108
+ ### 3. Calculate Determinism Score
109
+
110
+ **Scoring Logic**:
111
+
112
+ ```javascript
113
+ const totalChecks = testFiles.length * checksPerFile;
114
+ const failedChecks = violations.length;
115
+ const passedChecks = totalChecks - failedChecks;
116
+
117
+ // Weight violations by severity
118
+ const severityWeights = { HIGH: 10, MEDIUM: 5, LOW: 2 };
119
+ const totalPenalty = violations.reduce((sum, v) => sum + severityWeights[v.severity], 0);
120
+
121
+ // Score: 100 - (penalty points)
122
+ const score = Math.max(0, 100 - totalPenalty);
123
+ ```
124
+
125
+ ---
126
+
127
+ ## OUTPUT FORMAT
128
+
129
+ Write JSON to temp file: `/tmp/tea-test-review-determinism-{{timestamp}}.json`
130
+
131
+ ```json
132
+ {
133
+ "dimension": "determinism",
134
+ "score": 85,
135
+ "max_score": 100,
136
+ "grade": "B",
137
+ "violations": [
138
+ {
139
+ "file": "tests/api/user.spec.ts",
140
+ "line": 42,
141
+ "severity": "HIGH",
142
+ "category": "random-generation",
143
+ "description": "Test uses Math.random() - non-deterministic",
144
+ "suggestion": "Use faker.seed(12345) for deterministic random data",
145
+ "code_snippet": "const userId = Math.random() * 1000;"
146
+ },
147
+ {
148
+ "file": "tests/e2e/checkout.spec.ts",
149
+ "line": 78,
150
+ "severity": "MEDIUM",
151
+ "category": "hard-wait",
152
+ "description": "Test uses waitForTimeout - creates flakiness",
153
+ "suggestion": "Replace with expect(locator).toBeVisible()",
154
+ "code_snippet": "await page.waitForTimeout(5000);"
155
+ }
156
+ ],
157
+ "passed_checks": 12,
158
+ "failed_checks": 3,
159
+ "total_checks": 15,
160
+ "violation_summary": {
161
+ "HIGH": 1,
162
+ "MEDIUM": 1,
163
+ "LOW": 1
164
+ },
165
+ "recommendations": [
166
+ "Use faker with fixed seed for all random data",
167
+ "Replace all waitForTimeout with conditional waits",
168
+ "Mock Date.now() in tests that use current time"
169
+ ],
170
+ "summary": "Tests are mostly deterministic with 3 violations (1 HIGH, 1 MEDIUM, 1 LOW)"
171
+ }
172
+ ```
173
+
174
+ **On Error:**
175
+
176
+ ```json
177
+ {
178
+ "dimension": "determinism",
179
+ "success": false,
180
+ "error": "Error message describing what went wrong"
181
+ }
182
+ ```
183
+
184
+ ---
185
+
186
+ ## EXIT CONDITION
187
+
188
+ Subagent completes when:
189
+
190
+ - ✅ All test files analyzed for determinism violations
191
+ - ✅ Score calculated (0-100)
192
+ - ✅ Violations categorized by severity
193
+ - ✅ Recommendations generated
194
+ - ✅ JSON output written to temp file
195
+
196
+ **Subagent terminates here.** Parent workflow will read output and aggregate with other quality dimensions.
197
+
198
+ ---
199
+
200
+ ## 🚨 SUBAGENT SUCCESS METRICS
201
+
202
+ ### ✅ SUCCESS:
203
+
204
+ - All test files scanned for determinism violations
205
+ - Score calculated with proper severity weighting
206
+ - JSON output valid and complete
207
+ - Only determinism checked (not other dimensions)
208
+
209
+ ### ❌ FAILURE:
210
+
211
+ - Checked quality dimensions other than determinism
212
+ - Invalid or missing JSON output
213
+ - Score calculation incorrect
214
+ - Modified test files (should be read-only)
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: 'step-03b-subagent-isolation'
3
+ description: 'Subagent: Check test isolation (no shared state/dependencies)'
4
+ subagent: true
5
+ outputFile: '/tmp/tea-test-review-isolation-{{timestamp}}.json'
6
+ ---
7
+
8
+ # Subagent 3B: Isolation Quality Check
9
+
10
+ ## SUBAGENT CONTEXT
11
+
12
+ This is an **isolated subagent** running in parallel with other quality dimension checks.
13
+
14
+ **Your task:** Analyze test files for ISOLATION violations only.
15
+
16
+ ---
17
+
18
+ ## MANDATORY EXECUTION RULES
19
+
20
+ - ✅ Check ISOLATION only (not other quality dimensions)
21
+ - ✅ Output structured JSON to temp file
22
+ - ❌ Do NOT check determinism, maintainability, coverage, or performance
23
+ - ❌ Do NOT modify test files (read-only analysis)
24
+
25
+ ---
26
+
27
+ ## SUBAGENT TASK
28
+
29
+ ### 1. Identify Isolation Violations
30
+
31
+ **Scan test files for isolation issues:**
32
+
33
+ **HIGH SEVERITY Violations**:
34
+
35
+ - Global state mutations (global variables modified)
36
+ - Test order dependencies (test B depends on test A running first)
37
+ - Shared database records without cleanup
38
+ - beforeAll/afterAll with side effects leaking to other tests
39
+
40
+ **MEDIUM SEVERITY Violations**:
41
+
42
+ - Missing test cleanup (created data not deleted)
43
+ - Shared fixtures that mutate state
44
+ - Tests that assume specific execution order
45
+ - Environment variables modified without restoration
46
+
47
+ **LOW SEVERITY Violations**:
48
+
49
+ - Tests sharing test data (but not mutating)
50
+ - Missing test.describe grouping
51
+ - Tests that could be more isolated
52
+
53
+ ### 2. Calculate Isolation Score
54
+
55
+ ```javascript
56
+ const totalChecks = testFiles.length * checksPerFile;
57
+ const failedChecks = violations.length;
58
+ const severityWeights = { HIGH: 10, MEDIUM: 5, LOW: 2 };
59
+ const totalPenalty = violations.reduce((sum, v) => sum + severityWeights[v.severity], 0);
60
+ const score = Math.max(0, 100 - totalPenalty);
61
+ ```
62
+
63
+ ---
64
+
65
+ ## OUTPUT FORMAT
66
+
67
+ ```json
68
+ {
69
+ "dimension": "isolation",
70
+ "score": 90,
71
+ "max_score": 100,
72
+ "grade": "A-",
73
+ "violations": [
74
+ {
75
+ "file": "tests/api/integration.spec.ts",
76
+ "line": 15,
77
+ "severity": "HIGH",
78
+ "category": "test-order-dependency",
79
+ "description": "Test depends on previous test creating user record",
80
+ "suggestion": "Each test should create its own test data in beforeEach",
81
+ "code_snippet": "test('should update user', async () => { /* assumes user exists */ });"
82
+ }
83
+ ],
84
+ "passed_checks": 14,
85
+ "failed_checks": 1,
86
+ "total_checks": 15,
87
+ "violation_summary": {
88
+ "HIGH": 1,
89
+ "MEDIUM": 0,
90
+ "LOW": 0
91
+ },
92
+ "recommendations": [
93
+ "Add beforeEach hooks to create test data",
94
+ "Add afterEach hooks to cleanup created records",
95
+ "Use test.describe.configure({ mode: 'parallel' }) to enforce isolation"
96
+ ],
97
+ "summary": "Tests are well isolated with 1 HIGH severity violation"
98
+ }
99
+ ```
100
+
101
+ ---
102
+
103
+ ## EXIT CONDITION
104
+
105
+ Subagent completes when:
106
+
107
+ - ✅ All test files analyzed for isolation violations
108
+ - ✅ Score calculated
109
+ - ✅ JSON output written to temp file
110
+
111
+ **Subagent terminates here.**
112
+
113
+ ---
114
+
115
+ ## 🚨 SUBAGENT SUCCESS METRICS
116
+
117
+ ### ✅ SUCCESS:
118
+
119
+ - Only isolation checked (not other dimensions)
120
+ - JSON output valid and complete
121
+
122
+ ### ❌ FAILURE:
123
+
124
+ - Checked quality dimensions other than isolation
125
+ - Invalid or missing JSON output