@relipa/ai-flow-kit 0.1.4-beta.0 → 0.1.5-beta.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 (325) hide show
  1. package/README.md +185 -136
  2. package/bin/aiflow.js +0 -0
  3. package/bin/ak.js +0 -0
  4. package/custom/harness/playwright/.env.example +0 -0
  5. package/custom/harness/playwright/playwright.config.ts +0 -0
  6. package/custom/harness/playwright/tests/e2e/auth.setup.ts +0 -0
  7. package/custom/harness/playwright/tests/e2e/fixtures/test.ts +0 -0
  8. package/custom/harness/playwright/tests/e2e/pages/BasePage.ts +0 -0
  9. package/custom/harness/playwright/tests/e2e/support/auth.ts +0 -0
  10. package/custom/mcp-presets/README.md +0 -0
  11. package/custom/mcp-presets/backlog.json +0 -0
  12. package/custom/mcp-presets/figma-desktop.json +0 -0
  13. package/custom/mcp-presets/figma.json +0 -0
  14. package/custom/mcp-presets/gitnexus.json +0 -0
  15. package/custom/mcp-presets/google-sheets.json +0 -0
  16. package/custom/mcp-presets/jira.json +0 -0
  17. package/custom/mcp-presets/playwright.json +0 -0
  18. package/custom/prompts/bug-fix.md +0 -0
  19. package/custom/prompts/feature.md +0 -0
  20. package/custom/prompts/investigation.md +0 -0
  21. package/custom/rules/code-style.md +0 -0
  22. package/custom/rules/java/code-style.md +0 -0
  23. package/custom/rules/java/naming.md +0 -0
  24. package/custom/rules/java/review-checklist.md +0 -0
  25. package/custom/rules/java/spring-boot-examples.md +0 -0
  26. package/custom/rules/javascript/code-style.md +0 -0
  27. package/custom/rules/javascript/naming.md +0 -0
  28. package/custom/rules/ml-conventions.md +0 -0
  29. package/custom/rules/ml-review-checklist.md +0 -0
  30. package/custom/rules/naming.md +0 -0
  31. package/custom/rules/php/code-style.md +0 -0
  32. package/custom/rules/php/naming.md +0 -0
  33. package/custom/rules/project-conventions.md +0 -0
  34. package/custom/rules/review-checklist.md +0 -0
  35. package/custom/rules/test-patterns.md +0 -0
  36. package/custom/skills/automation-testing/SKILL.md +0 -0
  37. package/custom/skills/automation-testing/templates/BasePage.ts +0 -0
  38. package/custom/skills/automation-testing/templates/PageObject.example.ts +0 -0
  39. package/custom/skills/automation-testing/templates/playwright.config.ts +0 -0
  40. package/custom/skills/automation-testing/templates/spec.example.ts +0 -0
  41. package/custom/skills/ba-skills/{skill-ba-xay-dung-business-rules-v1.md → skill-ba-build-business-rules-v1.md} +0 -0
  42. package/custom/skills/ba-skills/{skill-ba-template-phan-tich-ban-dau-v1.md → skill-ba-initial-analysis-template-v1.md} +0 -0
  43. package/custom/skills/ba-skills/{skill-ba-phan-tich-ban-dau-v1.md → skill-ba-initial-analysis-v1.md} +2 -2
  44. package/custom/skills/ba-skills/{skill-ba-ve-luong-mermaid-v1.md → skill-ba-mermaid-flowchart-v1.md} +0 -0
  45. package/custom/skills/ba-skills/{skill-ba-qa-template-v1.md → skill-ba-qna-template-v1.md} +0 -0
  46. package/custom/skills/ba-skills/{skill-ba-qa-v1.md → skill-ba-qna-v1.md} +2 -2
  47. package/custom/skills/ba-skills/{skill-ba-template-uc-v1.md → skill-ba-uc-template-v1.md} +0 -0
  48. package/custom/skills/ba-skills/{skill-ba-prototype-v1.md → skill-ba-ui-prototype-v1.md} +2 -2
  49. package/custom/skills/ba-skills/{skill-ba-viet-spec-uc-v1.md → skill-ba-write-uc-spec-v1.md} +4 -4
  50. package/custom/skills/coverage-check/SKILL.md +0 -0
  51. package/custom/skills/deploy-model/SKILL.md +0 -0
  52. package/custom/skills/design-experiment/SKILL.md +0 -0
  53. package/custom/skills/evaluate-model/SKILL.md +0 -0
  54. package/custom/skills/evidence-aggregation/SKILL.md +0 -0
  55. package/custom/skills/execute-flow/SKILL.md +5 -34
  56. package/custom/skills/execute-flow/templates/playwright.config.ts +0 -0
  57. package/custom/skills/explore-data/SKILL.md +0 -0
  58. package/custom/skills/figma-to-component/SKILL.md +0 -0
  59. package/custom/skills/frame-ml-problem/SKILL.md +0 -0
  60. package/custom/skills/gate-review/SKILL.md +29 -105
  61. package/custom/skills/generate-spec/SKILL.md +0 -0
  62. package/custom/skills/generate-test-report/SKILL.md +0 -0
  63. package/custom/skills/generate-test-report/templates/test-report.md +0 -0
  64. package/custom/skills/generate-testcase/SKILL.md +0 -8
  65. package/custom/skills/generate-testcase/templates/testcase.md +50 -59
  66. package/custom/skills/impact-analysis/SKILL.md +0 -0
  67. package/custom/skills/improve-algorithm/SKILL.md +0 -0
  68. package/custom/skills/investigate-bug/SKILL.md +0 -0
  69. package/custom/skills/log-bug/SKILL.md +0 -0
  70. package/custom/skills/pr-impact-analysis/SKILL.md +0 -0
  71. package/custom/skills/report-customer/SKILL.md +0 -0
  72. package/custom/skills/retest-orchestration/SKILL.md +0 -0
  73. package/custom/skills/review-plan/SKILL.md +0 -0
  74. package/custom/skills/script-sync/SKILL.md +0 -0
  75. package/custom/skills/test-analysis/SKILL.md +0 -4
  76. package/custom/skills/test-skills/categories/00-core/00.01.requirement-analysis.md +0 -0
  77. package/custom/skills/test-skills/categories/00-core/00.02.risk-analysis.md +0 -0
  78. package/custom/skills/test-skills/categories/00-core/00.03.test-scenario-builder.md +0 -0
  79. package/custom/skills/test-skills/categories/00-core/00.04.testcase-review.md +0 -0
  80. package/custom/skills/test-skills/categories/01-test-design/01.01.boundary-value-analysis.md +0 -0
  81. package/custom/skills/test-skills/categories/01-test-design/01.02.equivalence.partitioning.md +0 -0
  82. package/custom/skills/test-skills/categories/01-test-design/01.03.decision-table.md +0 -0
  83. package/custom/skills/test-skills/categories/01-test-design/01.04.state.transition.md +0 -0
  84. package/custom/skills/test-skills/categories/01-test-design/01.05.pairwise.md +0 -0
  85. package/custom/skills/test-skills/categories/01-test-design/01.06.error-guessing.md +0 -0
  86. package/custom/skills/test-skills/categories/02-ui-testing/02.01.UI-layout.md +0 -0
  87. package/custom/skills/test-skills/categories/02-ui-testing/02.02.form-validation.md +0 -0
  88. package/custom/skills/test-skills/categories/02-ui-testing/02.03.navigation.md +0 -0
  89. package/custom/skills/test-skills/categories/02-ui-testing/02.04.localization.md +0 -0
  90. package/custom/skills/test-skills/categories/02-ui-testing/02.05.accessibility.md +0 -0
  91. package/custom/skills/test-skills/categories/03-business-testing/03.01.CRUD-testing.md +0 -0
  92. package/custom/skills/test-skills/categories/03-business-testing/03.02.workflow-testing.md +0 -0
  93. package/custom/skills/test-skills/categories/03-business-testing/03.03.permission-testing.md +0 -0
  94. package/custom/skills/test-skills/categories/03-business-testing/03.04.dependency-validation.md +0 -0
  95. package/custom/skills/test-skills/categories/03-business-testing/03.05.notification-testing.md +0 -0
  96. package/custom/skills/test-skills/categories/03-business-testing/03.06.calculation.testing.md +0 -0
  97. package/custom/skills/test-skills/categories/04-data-testing/04.01.database-testing.md +0 -0
  98. package/custom/skills/test-skills/categories/04-data-testing/04.02.import-export-testing.md +0 -0
  99. package/custom/skills/test-skills/categories/04-data-testing/04.03.data-mapping.md +0 -0
  100. package/custom/skills/test-skills/categories/04-data-testing/04.04.duplicate-handling.md +0 -0
  101. package/custom/skills/test-skills/categories/04-data-testing/04.05.migration.md +0 -0
  102. package/custom/skills/test-skills/categories/05-integration/05.01.API-testing.md +0 -0
  103. package/custom/skills/test-skills/categories/05-integration/05.02.third-party-integration.md +0 -0
  104. package/custom/skills/test-skills/categories/05-integration/05.03.batch-processing.md +0 -0
  105. package/custom/skills/test-skills/categories/05-integration/05.04.file-upload-download.md +0 -0
  106. package/custom/skills/test-skills/categories/08-domain-skills/CMS.md +0 -0
  107. package/custom/skills/test-skills/categories/08-domain-skills/Ecommerce.md +0 -0
  108. package/custom/skills/test-skills/categories/99-review/99.01.coverage-review.md +0 -0
  109. package/custom/skills/test-skills/categories/99-review/99.02.knowledge-learning.md +0 -0
  110. package/custom/skills/test-skills/categories/99-review/99.03.repository-update.md +0 -0
  111. package/custom/skills/test-skills/categories/99-review/99.04.change-history.md +0 -0
  112. package/custom/skills/test-skills/rules/directory-and-naming-convention.md +158 -0
  113. package/custom/skills/test-skills/rules/{QA_Writing_Standards.md → qa-writing-standards.md} +0 -0
  114. package/custom/skills/test-skills/template/{template_testcase.md → testcase-template.md} +50 -59
  115. package/custom/skills/train-model/SKILL.md +0 -0
  116. package/custom/templates/laravel.md +0 -0
  117. package/custom/templates/nestjs.md +0 -0
  118. package/custom/templates/nextjs.md +0 -0
  119. package/custom/templates/nodejs-express.md +0 -0
  120. package/custom/templates/php-plain.md +0 -0
  121. package/custom/templates/php.md +0 -0
  122. package/custom/templates/python-django.md +0 -0
  123. package/custom/templates/python-fastapi.md +0 -0
  124. package/custom/templates/python-ml.md +0 -0
  125. package/custom/templates/python.md +0 -0
  126. package/custom/templates/reactjs.md +0 -0
  127. package/custom/templates/shared/coding-workflow.md +15 -0
  128. package/custom/templates/shared/create-spec-workflow.md +80 -95
  129. package/custom/templates/shared/create-testcase-workflow.md +65 -75
  130. package/custom/templates/shared/gate-workflow.md +3 -3
  131. package/custom/templates/shared/ml-gate-workflow.md +0 -0
  132. package/custom/templates/spring-boot.md +0 -0
  133. package/custom/templates/tools/claude.md +0 -0
  134. package/custom/templates/tools/copilot.md +0 -0
  135. package/custom/templates/tools/cursor.md +0 -0
  136. package/custom/templates/tools/gemini.md +0 -0
  137. package/custom/templates/tools/generic.md +0 -0
  138. package/custom/templates/vue-nuxt.md +0 -0
  139. package/docs/common/AIFLOW.md +0 -0
  140. package/docs/common/CHANGELOG.md +75 -9
  141. package/docs/common/QUICK_START.md +0 -0
  142. package/docs/common/ai-integration.md +0 -0
  143. package/docs/common/cli-reference.md +0 -0
  144. package/docs/common/configuration.md +0 -0
  145. package/docs/common/getting-started.md +0 -0
  146. package/docs/common/troubleshooting.md +0 -0
  147. package/docs/common/workflows/bug-fix.md +0 -0
  148. package/docs/common/workflows/feature.md +0 -0
  149. package/docs/common/workflows/figma.md +0 -0
  150. package/docs/common/workflows/impact-analysis.md +0 -0
  151. package/docs/common/workflows/investigation.md +0 -0
  152. package/docs/common/workflows/refactor.md +0 -0
  153. package/docs/project/ARCHITECTURE.md +0 -0
  154. package/index.js +0 -0
  155. package/package.json +1 -1
  156. package/scripts/checkpoint.js +0 -0
  157. package/scripts/config.js +0 -0
  158. package/scripts/context.js +0 -0
  159. package/scripts/create-score-excel.js +41 -47
  160. package/scripts/detect.js +0 -0
  161. package/scripts/doctor.js +0 -0
  162. package/scripts/gitnexus-worker.js +0 -0
  163. package/scripts/guide.js +0 -0
  164. package/scripts/hooks/block-git-write.js +0 -0
  165. package/scripts/hooks/session-start.js +1 -0
  166. package/scripts/hooks/session-stop.js +0 -0
  167. package/scripts/init.js +5 -0
  168. package/scripts/memory.js +0 -0
  169. package/scripts/prompt.js +0 -0
  170. package/scripts/remove.js +0 -0
  171. package/scripts/review.js +83 -46
  172. package/scripts/scaffold-playwright.js +0 -0
  173. package/scripts/task.js +0 -0
  174. package/scripts/telemetry/cli.js +0 -0
  175. package/scripts/telemetry/config.js +0 -0
  176. package/scripts/telemetry/crypto.js +0 -0
  177. package/scripts/telemetry/flush.js +0 -0
  178. package/scripts/telemetry/record.js +0 -0
  179. package/scripts/update.js +0 -0
  180. package/scripts/use.js +3 -2
  181. package/scripts/validate.js +0 -0
  182. package/upstream/.claude-plugin/marketplace.json +0 -0
  183. package/upstream/.claude-plugin/plugin.json +0 -0
  184. package/upstream/.codex/INSTALL.md +0 -0
  185. package/upstream/.cursor-plugin/plugin.json +0 -0
  186. package/upstream/.gitattributes +0 -0
  187. package/upstream/.github/FUNDING.yml +0 -0
  188. package/upstream/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  189. package/upstream/.github/ISSUE_TEMPLATE/config.yml +0 -0
  190. package/upstream/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  191. package/upstream/.github/ISSUE_TEMPLATE/platform_support.md +0 -0
  192. package/upstream/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  193. package/upstream/.opencode/INSTALL.md +0 -0
  194. package/upstream/.opencode/plugins/superpowers.js +0 -0
  195. package/upstream/.version-bump.json +0 -0
  196. package/upstream/AGENTS.md +0 -0
  197. package/upstream/CHANGELOG.md +0 -0
  198. package/upstream/CLAUDE.md +0 -0
  199. package/upstream/CODE_OF_CONDUCT.md +0 -0
  200. package/upstream/GEMINI.md +0 -0
  201. package/upstream/LICENSE +0 -0
  202. package/upstream/README.md +0 -0
  203. package/upstream/RELEASE-NOTES.md +0 -0
  204. package/upstream/agents/code-reviewer.md +0 -0
  205. package/upstream/commands/brainstorm.md +0 -0
  206. package/upstream/commands/execute-plan.md +0 -0
  207. package/upstream/commands/write-plan.md +0 -0
  208. package/upstream/docs/README.codex.md +0 -0
  209. package/upstream/docs/README.opencode.md +0 -0
  210. package/upstream/docs/plans/2025-11-22-opencode-support-design.md +0 -0
  211. package/upstream/docs/plans/2025-11-22-opencode-support-implementation.md +0 -0
  212. package/upstream/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +0 -0
  213. package/upstream/docs/plans/2026-01-17-visual-brainstorming.md +0 -0
  214. package/upstream/docs/superpowers/plans/2026-01-22-document-review-system.md +0 -0
  215. package/upstream/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +0 -0
  216. package/upstream/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +0 -0
  217. package/upstream/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +0 -0
  218. package/upstream/docs/superpowers/specs/2026-01-22-document-review-system-design.md +0 -0
  219. package/upstream/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +0 -0
  220. package/upstream/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +0 -0
  221. package/upstream/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +0 -0
  222. package/upstream/docs/testing.md +0 -0
  223. package/upstream/docs/windows/polyglot-hooks.md +0 -0
  224. package/upstream/gemini-extension.json +0 -0
  225. package/upstream/hooks/hooks-cursor.json +0 -0
  226. package/upstream/hooks/hooks.json +0 -0
  227. package/upstream/hooks/run-hook.cmd +0 -0
  228. package/upstream/hooks/session-start +0 -0
  229. package/upstream/package.json +0 -0
  230. package/upstream/scripts/bump-version.sh +0 -0
  231. package/upstream/skills/brainstorming/SKILL.md +0 -0
  232. package/upstream/skills/brainstorming/scripts/frame-template.html +0 -0
  233. package/upstream/skills/brainstorming/scripts/helper.js +0 -0
  234. package/upstream/skills/brainstorming/scripts/server.cjs +0 -0
  235. package/upstream/skills/brainstorming/scripts/start-server.sh +0 -0
  236. package/upstream/skills/brainstorming/scripts/stop-server.sh +0 -0
  237. package/upstream/skills/brainstorming/spec-document-reviewer-prompt.md +0 -0
  238. package/upstream/skills/brainstorming/visual-companion.md +0 -0
  239. package/upstream/skills/dispatching-parallel-agents/SKILL.md +0 -0
  240. package/upstream/skills/executing-plans/SKILL.md +0 -0
  241. package/upstream/skills/finishing-a-development-branch/SKILL.md +0 -0
  242. package/upstream/skills/receiving-code-review/SKILL.md +0 -0
  243. package/upstream/skills/requesting-code-review/SKILL.md +0 -0
  244. package/upstream/skills/requesting-code-review/code-reviewer.md +0 -0
  245. package/upstream/skills/subagent-driven-development/SKILL.md +0 -0
  246. package/upstream/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -0
  247. package/upstream/skills/subagent-driven-development/implementer-prompt.md +0 -0
  248. package/upstream/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -0
  249. package/upstream/skills/systematic-debugging/CREATION-LOG.md +0 -0
  250. package/upstream/skills/systematic-debugging/SKILL.md +0 -0
  251. package/upstream/skills/systematic-debugging/condition-based-waiting-example.ts +0 -0
  252. package/upstream/skills/systematic-debugging/condition-based-waiting.md +0 -0
  253. package/upstream/skills/systematic-debugging/defense-in-depth.md +0 -0
  254. package/upstream/skills/systematic-debugging/find-polluter.sh +0 -0
  255. package/upstream/skills/systematic-debugging/root-cause-tracing.md +0 -0
  256. package/upstream/skills/systematic-debugging/test-academic.md +0 -0
  257. package/upstream/skills/systematic-debugging/test-pressure-1.md +0 -0
  258. package/upstream/skills/systematic-debugging/test-pressure-2.md +0 -0
  259. package/upstream/skills/systematic-debugging/test-pressure-3.md +0 -0
  260. package/upstream/skills/tdd-lean/SKILL.md +0 -0
  261. package/upstream/skills/test-driven-development/SKILL.md +0 -0
  262. package/upstream/skills/test-driven-development/testing-anti-patterns.md +0 -0
  263. package/upstream/skills/using-git-worktrees/SKILL.md +0 -0
  264. package/upstream/skills/using-superpowers/SKILL.md +0 -0
  265. package/upstream/skills/using-superpowers/references/codex-tools.md +0 -0
  266. package/upstream/skills/using-superpowers/references/copilot-tools.md +0 -0
  267. package/upstream/skills/using-superpowers/references/gemini-tools.md +0 -0
  268. package/upstream/skills/verification-before-completion/SKILL.md +0 -0
  269. package/upstream/skills/writing-plans/SKILL.md +0 -0
  270. package/upstream/skills/writing-plans/plan-document-reviewer-prompt.md +0 -0
  271. package/upstream/skills/writing-skills/SKILL.md +0 -0
  272. package/upstream/skills/writing-skills/anthropic-best-practices.md +0 -0
  273. package/upstream/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -0
  274. package/upstream/skills/writing-skills/graphviz-conventions.dot +0 -0
  275. package/upstream/skills/writing-skills/persuasion-principles.md +0 -0
  276. package/upstream/skills/writing-skills/render-graphs.js +0 -0
  277. package/upstream/skills/writing-skills/testing-skills-with-subagents.md +0 -0
  278. package/upstream/tests/brainstorm-server/package-lock.json +0 -0
  279. package/upstream/tests/brainstorm-server/package.json +0 -0
  280. package/upstream/tests/brainstorm-server/server.test.js +0 -0
  281. package/upstream/tests/brainstorm-server/windows-lifecycle.test.sh +0 -0
  282. package/upstream/tests/brainstorm-server/ws-protocol.test.js +0 -0
  283. package/upstream/tests/claude-code/README.md +0 -0
  284. package/upstream/tests/claude-code/analyze-token-usage.py +0 -0
  285. package/upstream/tests/claude-code/run-skill-tests.sh +0 -0
  286. package/upstream/tests/claude-code/test-document-review-system.sh +0 -0
  287. package/upstream/tests/claude-code/test-helpers.sh +0 -0
  288. package/upstream/tests/claude-code/test-subagent-driven-development-integration.sh +0 -0
  289. package/upstream/tests/claude-code/test-subagent-driven-development.sh +0 -0
  290. package/upstream/tests/explicit-skill-requests/prompts/action-oriented.txt +0 -0
  291. package/upstream/tests/explicit-skill-requests/prompts/after-planning-flow.txt +0 -0
  292. package/upstream/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +0 -0
  293. package/upstream/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +0 -0
  294. package/upstream/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +0 -0
  295. package/upstream/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +0 -0
  296. package/upstream/tests/explicit-skill-requests/prompts/skip-formalities.txt +0 -0
  297. package/upstream/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +0 -0
  298. package/upstream/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +0 -0
  299. package/upstream/tests/explicit-skill-requests/run-all.sh +0 -0
  300. package/upstream/tests/explicit-skill-requests/run-claude-describes-sdd.sh +0 -0
  301. package/upstream/tests/explicit-skill-requests/run-extended-multiturn-test.sh +0 -0
  302. package/upstream/tests/explicit-skill-requests/run-haiku-test.sh +0 -0
  303. package/upstream/tests/explicit-skill-requests/run-multiturn-test.sh +0 -0
  304. package/upstream/tests/explicit-skill-requests/run-test.sh +0 -0
  305. package/upstream/tests/opencode/run-tests.sh +0 -0
  306. package/upstream/tests/opencode/setup.sh +0 -0
  307. package/upstream/tests/opencode/test-plugin-loading.sh +0 -0
  308. package/upstream/tests/opencode/test-priority.sh +0 -0
  309. package/upstream/tests/opencode/test-tools.sh +0 -0
  310. package/upstream/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +0 -0
  311. package/upstream/tests/skill-triggering/prompts/executing-plans.txt +0 -0
  312. package/upstream/tests/skill-triggering/prompts/requesting-code-review.txt +0 -0
  313. package/upstream/tests/skill-triggering/prompts/systematic-debugging.txt +0 -0
  314. package/upstream/tests/skill-triggering/prompts/test-driven-development.txt +0 -0
  315. package/upstream/tests/skill-triggering/prompts/writing-plans.txt +0 -0
  316. package/upstream/tests/skill-triggering/run-all.sh +0 -0
  317. package/upstream/tests/skill-triggering/run-test.sh +0 -0
  318. package/upstream/tests/subagent-driven-dev/go-fractals/design.md +0 -0
  319. package/upstream/tests/subagent-driven-dev/go-fractals/plan.md +0 -0
  320. package/upstream/tests/subagent-driven-dev/go-fractals/scaffold.sh +0 -0
  321. package/upstream/tests/subagent-driven-dev/run-test.sh +0 -0
  322. package/upstream/tests/subagent-driven-dev/svelte-todo/design.md +0 -0
  323. package/upstream/tests/subagent-driven-dev/svelte-todo/plan.md +0 -0
  324. package/upstream/tests/subagent-driven-dev/svelte-todo/scaffold.sh +0 -0
  325. package/custom/skills/test-skills/rules/Directory_and_Naming_Convention.md +0 -257
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -31,7 +31,7 @@ Kỹ năng này giúp Business Analyst (hoặc Agent) quét, đọc hiểu và c
31
31
  - Có quy tắc nghiệp vụ (Business rules) ngầm định nào không?
32
32
  - Luồng thay thế (Alternative flows) hoặc luồng lỗi (Exception flows) là gì?
33
33
  - **Bước 4: Soạn dự thảo Kết quả phân tích ban đầu:**
34
- Áp dụng template phân tích ban đầu (`skill-ba-template-phan-tich-ban-dau-v1.md`) để điền thông tin và lập bảng Gap/Assumption.
34
+ Áp dụng template phân tích ban đầu (`skill-ba-initial-analysis-template-v1.md`) để điền thông tin và lập bảng Gap/Assumption.
35
35
 
36
36
  ## 4. Checklist kiểm tra (Checklist for Verification)
37
37
  - [ ] Đã xác định rõ Mục tiêu hệ thống/chức năng chưa? (Hệ thống giải quyết bài toán gì?)
@@ -41,4 +41,4 @@ Kỹ năng này giúp Business Analyst (hoặc Agent) quét, đọc hiểu và c
41
41
  - [ ] Không tự tiện bổ sung các tính năng ngoài phạm vi yêu cầu của khách hàng khi chưa có thảo luận/Q&A.
42
42
 
43
43
  ## 5. Output mong đợi (Expected Output)
44
- - File tài liệu phân tích ban đầu định dạng markdown, cấu trúc thống nhất dựa theo `@skill-ba-template-phan-tich-ban-dau-v1.md`, đặt tên theo chuẩn: `Tên chức năng_Kết quả phân tích(n).md` trong thư mục `TÀI LIỆU/output/Kết quả phân tích/`.
44
+ - File tài liệu phân tích ban đầu định dạng markdown, cấu trúc thống nhất dựa theo `@skill-ba-initial-analysis-template-v1.md`, đặt tên theo chuẩn: `Analysis_v(n).md` trong thư mục `02.BA-Specs/01.Analysis/[functionId]/`.
@@ -13,7 +13,7 @@ Kỹ năng này giúp BA thiết kế các câu hỏi rõ ràng, khách quan và
13
13
  ## 3. Quy trình thực hiện (Step-by-step Process)
14
14
  - **Bước 1: Chuyển đổi Gap thành câu hỏi Q&A:**
15
15
  Từ danh sách khoảng trống phát hiện ở bước Phân tích ban đầu, chuyển mỗi dòng thành một câu hỏi Q&A cụ thể.
16
- - **Bước 2: Chuẩn hóa câu hỏi theo mẫu `@skill-ba-qa-template-v1.md`:**
16
+ - **Bước 2: Chuẩn hóa câu hỏi theo mẫu `@skill-ba-qna-template-v1.md`:**
17
17
  - Xác định phân vùng nghiệp vụ (Module/Screen).
18
18
  - Trích dẫn yêu cầu hiện tại (Current Status/Requirement).
19
19
  - Nêu rõ vấn đề mơ hồ.
@@ -31,5 +31,5 @@ Kỹ năng này giúp BA thiết kế các câu hỏi rõ ràng, khách quan và
31
31
  - [ ] Đã cập nhật đúng và đầy đủ tất cả câu trả lời của khách hàng vào tài liệu phân tích chưa? (Không bỏ sót bất kỳ điểm chốt nào).
32
32
 
33
33
  ## 5. Output mong đợi (Expected Output)
34
- - File danh sách câu hỏi Q&A định dạng markdown, cấu trúc thống nhất dựa theo `@skill-ba-qa-template-v1.md`, đặt tên theo chuẩn: `Tên chức năng_Q&A(m).md` trong thư mục `TÀI LIỆU/output/QA/`.
34
+ - File danh sách câu hỏi Q&A định dạng markdown, cấu trúc thống nhất dựa theo `@skill-ba-qna-template-v1.md`, đặt tên theo chuẩn: `QnA-Log_v(m).md` trong thư mục `02.BA-Specs/02.QnA/[functionId]/`.
35
35
  - Tài liệu phân tích được cập nhật tương ứng với phiên bản mới tăng dần `(n+1)`.
@@ -22,7 +22,7 @@ Kỹ năng này hướng dẫn BA thiết kế và hiện thực hóa giao diệ
22
22
  - Sử dụng bảng màu hiện đại (tránh màu đỏ/xanh lá gốc, dùng các màu trung tính, dịu mắt phối hợp hiệu ứng hover cho các nút bấm).
23
23
  - Đảm bảo thiết kế responsive cơ bản bằng media queries nếu cần.
24
24
  - **Bước 4: Kiểm tra và lưu trữ:**
25
- Mở file HTML trên trình duyệt để kiểm tra trực quan. Lưu vào thư mục `TÀI LIỆU/output/design/`.
25
+ Mở file HTML trên trình duyệt để kiểm tra trực quan. Lưu vào thư mục `02.BA-Specs/03.UI-Prototypes/[functionId]/`.
26
26
 
27
27
  ## 4. Checklist kiểm tra (Checklist for Verification)
28
28
  - [ ] File HTML có tự chứa toàn bộ CSS không? (Không liên kết tới file CSS bên ngoài trừ font chữ hệ thống).
@@ -32,4 +32,4 @@ Kỹ năng này hướng dẫn BA thiết kế và hiện thực hóa giao diệ
32
32
  - [ ] Các phần tử tương tác (Button, Link, Input) có hiệu ứng trực quan khi hover hoặc focus không?
33
33
 
34
34
  ## 5. Output mong đợi (Expected Output)
35
- - Một file HTML độc lập chứa đầy đủ code HTML và CSS nội bộ, đặt tên theo chuẩn: `Tên chức năng_design.html` trong thư mục `TÀI LIỆU/output/design/`.
35
+ - Một file HTML độc lập chứa đầy đủ code HTML và CSS nội bộ, đặt tên theo chuẩn: `UI-Prototype_v1.html` trong thư mục `02.BA-Specs/03.UI-Prototypes/[functionId]/`.
@@ -23,16 +23,16 @@ Kỹ năng này giúp BA chuyển hóa toàn bộ các thông tin yêu cầu ngh
23
23
  - Giá trị mặc định (Default Value).
24
24
  - Mô tả hành vi (Description).
25
25
  - **Bước 4: Thiết kế sơ đồ Mermaid (Activity Flow):**
26
- Áp dụng kỹ năng `@skill-ba-ve-luong-mermaid-v1.md` để vẽ và nhúng biểu đồ Mermaid.
26
+ Áp dụng kỹ năng `@skill-ba-mermaid-flowchart-v1.md` để vẽ và nhúng biểu đồ Mermaid.
27
27
  - **Bước 5: Đặc tả Business Rules (Quy tắc nghiệp vụ):**
28
- Áp dụng kỹ năng `@skill-ba-xay-dung-business-rules-v1.md` để viết chi tiết các điều kiện kiểm tra, validation logic và câu thông báo lỗi đi kèm.
28
+ Áp dụng kỹ năng `@skill-ba-build-business-rules-v1.md` để viết chi tiết các điều kiện kiểm tra, validation logic và câu thông báo lỗi đi kèm.
29
29
 
30
30
  ## 4. Checklist kiểm tra (Checklist for Verification)
31
31
  - [ ] Luồng đi (Flow) có mô tả rõ ràng sự tương tác qua lại giữa Actor và System chưa?
32
32
  - [ ] Bảng mô tả UI Components có bị bỏ sót bất kỳ thành phần nào trên prototype HTML không?
33
33
  - [ ] Các Business Rules (BR) đã được đánh mã số rõ ràng (BR1, BR2, BR3...) để dễ tham chiếu chưa?
34
34
  - [ ] Mọi trường hợp báo lỗi đều có câu thông báo lỗi (Error message) đi kèm chi tiết chưa?
35
- - [ ] Tài liệu có sử dụng định dạng markdown chuẩn và cấu trúc thống nhất theo mẫu `@skill-ba-template-uc-v1.md` chưa?
35
+ - [ ] Tài liệu có sử dụng định dạng markdown chuẩn và cấu trúc thống nhất theo mẫu `@skill-ba-uc-template-v1.md` chưa?
36
36
 
37
37
  ## 5. Output mong đợi (Expected Output)
38
- - Một tài liệu đặc tả Use Case hoàn chỉnh định dạng markdown, đặt tên theo chuẩn: `Tên chức năng_UC.md` trong thư mục `TÀI LIỆU/output/UC/`.
38
+ - Một tài liệu đặc tả Use Case hoàn chỉnh định dạng markdown, đặt tên theo chuẩn: `UC-Spec_v1.md` trong thư mục `02.BA-Specs/04.UC-Specs/[functionId]/`.
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -159,7 +159,6 @@ Nhận về: danh sách kết quả per TC.
159
159
 
160
160
  ### Hiển thị kết quả
161
161
 
162
- ```
163
162
  ⏸️ GATE 2: SCRIPT SYNC COMPLETE
164
163
 
165
164
  Gen mới: {N} | Updated: {N} | Skipped: {N}
@@ -170,7 +169,6 @@ Blocked: {N} TCs — xem lý do bên trên
170
169
  → Type APPROVED to run tests
171
170
  → Type SKIP: {TC_ID} để đánh dấu Pending và tiếp tục
172
171
  → Or provide feedback to fix scripts
173
- ```
174
172
 
175
173
  Dừng. Chờ APPROVED.
176
174
 
@@ -307,26 +305,7 @@ Với mỗi TC failed, tạo `ak-test/{repo}/results/{screenId}/run-{N}/bugs/BUG
307
305
 
308
306
  BUG số: đếm file trong `bugs/` folder, +1. Format: `001`, `002`,...
309
307
 
310
- ### Bước 6: Cập nhật TC file gốc
311
-
312
- Ghi kết quả vào các cột R1/R2 trong TC file:
313
-
314
- - R1 = lần chạy đầu tiên (run-1). Nếu R1 đã có giá trị → ghi vào R2.
315
- - R1 Tester = `AI-R1`, R2 Tester = `AI-R2`
316
-
317
- ```markdown
318
- | AD10_001 | ... | ✅ Pass | {YYYY-MM-DD} | AI-R1 | | | |
319
- | AD10_005 | ... | ❌ Fail | {YYYY-MM-DD} | AI-R1 | | | |
320
- | AD10_023 | ... | ⏭️ Untest | - | - | | | |
321
- ```
322
-
323
- Cập nhật Section 2 — Test Execution Summary table:
324
-
325
- ```markdown
326
- | Round {N} | {passed} | {failed} | {untest} | {pending} | {total} | {passed/total*100}% |
327
- ```
328
-
329
- ### Bước 7: Hiển thị Gate 3
308
+ ### Bước 6: Hiển thị Gate 3
330
309
 
331
310
  ```
332
311
  ⏸️ GATE 3: EXECUTION COMPLETE
@@ -361,8 +340,7 @@ Khi tester gõ `RETEST: AD10_005, AD10_008`:
361
340
  ```
362
341
  3. Xác định run number mới (run-{N+1})
363
342
  4. Tổ chức evidence vào `run-{N+1}/` (không xóa run cũ)
364
- 5. Cập nhật R2 columns trong TC file
365
- 6. Cập nhật bug status:
343
+ 5. Cập nhật bug status:
366
344
  - TC pass sau retest → ghi `RESOLVED` vào bug file: `**Status:** ✅ Resolved`
367
345
  - TC vẫn fail → ghi `**Retest {N}:** Still OPEN` vào bug file
368
346
 
@@ -382,11 +360,7 @@ Chỉ chạy sau Gate 3 APPROVED.
382
360
 
383
361
  Đọc `bugs/BUG-*.md` trong run folder: phân loại severity + status (Open/Resolved).
384
362
 
385
- ### Bước 2: Cập nhật Section 2 trong TC file
386
-
387
- Cập nhật bảng Test Execution Summary với số liệu từ R1 và R2.
388
-
389
- ### Bước 3: Sinh testreport.md
363
+ ### Bước 2: Sinh testreport.md
390
364
 
391
365
  Tạo `ak-test/{repo}/results/{screenId}/run-{N}/testreport.md` theo template chuẩn:
392
366
 
@@ -422,7 +396,7 @@ Tạo `ak-test/{repo}/results/{screenId}/run-{N}/testreport.md` theo template ch
422
396
  - Còn Critical hoặc High Open → No-go
423
397
  - Chỉ còn Medium/Low Open → Conditional go
424
398
 
425
- ### Bước 4: Bug logging flow
399
+ ### Bước 3: Bug logging flow
426
400
 
427
401
  Hỏi từng bug theo thứ tự severity (Critical → High → Medium → Low):
428
402
 
@@ -443,9 +417,8 @@ Nếu tester gõ `Y`:
443
417
 
444
418
  Nếu `n` hoặc `SKIP-BUG`: ghi `Not logged` trong testreport.md Bug Summary.
445
419
 
446
- ### Bước 5: Hiển thị Gate 4
420
+ ### Bước 4: Hiển thị Gate 4
447
421
 
448
- ```
449
422
  ⏸️ GATE 4: REPORT READY
450
423
 
451
424
  Overall: {Pass / Fail / Conditional}
@@ -456,7 +429,6 @@ Recommendation: {Go / No-go / Conditional go}
456
429
  → Review: [ak-test/{repo}/results/{screenId}/run-{N}/testreport.md](ak-test/{repo}/results/{screenId}/run-{N}/testreport.md)
457
430
  → Type APPROVED to sign off
458
431
  → Type NO-GO: {reason} to reject release
459
- ```
460
432
 
461
433
  Dừng. Chờ APPROVED hoặc NO-GO.
462
434
 
@@ -493,7 +465,6 @@ SKIP-BUG: BUG-{NNN} # bỏ qua không log bug này
493
465
 
494
466
  - ✅ Dừng ở mỗi gate, chờ APPROVED trước khi proceed
495
467
  - ✅ `run-{N}` không bao giờ bị xóa hay overwrite — luôn tạo folder mới
496
- - ✅ R1/R2 trong TC file gốc được cập nhật sau mỗi lần chạy
497
468
  - ✅ Hỏi từng bug một — không auto-log toàn bộ
498
469
  - ❌ Không lấy expected result từ PR/code — chỉ từ TC file
499
470
  - ❌ Không skip gate kể cả khi "chỉ có 1 TC"
File without changes
File without changes
File without changes
@@ -44,93 +44,45 @@ Tester Gate 2 produces multiple review files — one per sub-phase. Use a letter
44
44
 
45
45
  ---
46
46
 
47
- ## Mode 1: GENERATE — Write Review File
47
+ ## Mode 1: GENERATE — Prepare Inline Review & Output Document
48
48
 
49
- ### Step 1: Extract checklist items from gate output
49
+ When generating the output for a gate (e.g. `requirement.md` or `plan.md`), follow these steps:
50
50
 
51
- Read the output you just created. For each **top-level section** in the output, create one checklist item — a one-line summary of what that section contains. The summary must be specific enough to identify the content without opening the output file.
51
+ ### Step 1: Ensure review directories and comments database exist
52
52
 
53
- **Extraction rules:**
54
- - One item per top-level section (H2 heading or named block)
55
- - Format: `**[Section name]**: [one-line summary of actual content]`
56
- - Maximum 12 items per gate. If more than 12 sections, group related ones.
57
- - The summary is the actual content, not a description of the category. ✅ "Scope: Auth module + User management (payment OUT of scope)" not ❌ "Scope: the scope section"
53
+ 1. Always create the directory `.aiflow/review/` if it doesn't exist.
54
+ 2. Check if `.aiflow/review/comments-[ticket-id].json` exists (where `[ticket-id]` comes from `.aiflow/context/current.json` → `ticketId` field).
55
+ 3. If the JSON file does not exist, initialize it by writing an empty array `[]` (or `{ "comments": [] }`) to it. This ensures that the CLI verification commands do not fail due to a missing file when there are no comments.
58
56
 
59
- **Examples by gate:**
60
-
61
- Dev Gate 1 (requirement.md has 4 sections → 4 items):
62
- ```
63
- - [ ] **Requirements Summary**: Add batch export endpoint returning signed S3 URL, triggered by POST /exports
64
- - [ ] **Proposed Solution**: New ExportService + S3Adapter; reuse existing AuthMiddleware for permissions
65
- - [ ] **Impact Analysis**: Medium — touches ExportController, UserService (permission check added)
66
- - [ ] **Effort Estimate**: M (3–4 days)
67
- ```
68
-
69
- Tester Gate 1 (test-analysis.md):
70
- ```
71
- - [ ] **Scope**: Auth module + User management only; payment and notifications OUT of scope
72
- - [ ] **Functional Analysis**: Login, logout, session management, password reset, role-based access (3 roles)
73
- - [ ] **Risk Areas**: High — session token handling; Medium — email format validation
74
- - [ ] **Test Approach**: 60% automation (Playwright), 40% manual; ~18 TCs estimated
75
- - [ ] **Effort Estimate**: M (2–3 days)
76
- ```
77
-
78
- ### Step 2: Write the review file
79
-
80
- **File path:** `.aiflow/review/gate-[N]-[ticket-id].md`
81
-
82
- For Tester Gate 2 sub-phases, use the lettered form: `.aiflow/review/gate-2a-[ticket-id].md`, `.aiflow/review/gate-2b-[ticket-id].md`, etc.
83
-
84
- Where `[ticket-id]` comes from `.aiflow/context/current.json` → `ticketId` field. If ticketId is unavailable, use `unknown`.
85
-
86
- **File template:**
87
-
88
- ```markdown
89
- # Gate [N] Review — [TICKET-ID]
90
- > Status: PENDING | Generated: YYYY-MM-DD
91
-
92
- ## How to review
93
- - Toggle `[ ]` → `[x]` for each item you have read and agree with
94
- - Add a comment under any item you want changed: `<!-- your comment here -->`
95
- - Type `APPROVED` in chat when done
96
-
97
- ---
98
-
99
- ## Checklist
100
-
101
- - [ ] **[Section]**: [one-line summary]
102
- - [ ] **[Section]**: [one-line summary]
103
- (... one per section, max 12)
104
-
105
- ---
106
-
107
- ## Review Notes
108
- <!-- Optional: overall notes -->
109
- ```
57
+ ### Step 2: Write the gate output file
58
+ Write the gate output file (e.g. `plan/[ticket-id]/requirement.md`, `plan/[ticket-id]/plan.md`, or `docs/ak-[project]/...`) as specified by the gate instructions.
110
59
 
111
60
  ### Step 3: Display gate pause message
112
61
 
113
- After writing the file, display in chat:
62
+ Instruct the user to review the generated document. Tell them that they can hover over any line and add inline comments in VS Code using the native commenting UI, or edit the file to add standard HTML comments `<!-- comment -->` if they are not using the VS Code extension.
63
+
64
+ Display in chat:
114
65
 
115
66
  ```
116
67
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
117
68
  ⏸️ GATE [N] PAUSED — REVIEW REQUIRED
118
69
 
119
- 📋 Open in VSCode: [.aiflow/review/gate-[N]-[ticket-id].md](.aiflow/review/gate-[N]-[ticket-id].md)
70
+ 📋 Open in VS Code: [path/to/generated/file.md](path/to/generated/file.md)
120
71
 
121
- Toggle [ ] [x] for each item you agree with
122
- Add <!-- comment --> under any item needing changes
123
- Type APPROVED when all items are addressed
72
+ Review the generated document content directly.
73
+ Hover over any line to add specific comments (inline review).
74
+ Mark comments as "Resolved" in VS Code once addressed.
75
+ • Type APPROVED when done.
124
76
 
125
- ⚠️ APPROVED will not be accepted until all checkboxes are checked.
77
+ ⚠️ APPROVED will not be accepted until all inline comments are resolved.
126
78
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
127
79
  ```
128
80
 
129
81
  ---
130
82
 
131
- ## Mode 2: VERIFY — Check Review File on APPROVED
83
+ ## Mode 2: VERIFY — Check Comments and Checklist on APPROVED
132
84
 
133
- When the developer types `APPROVED`, run this before accepting:
85
+ When the developer types `APPROVED`, run this check:
134
86
 
135
87
  ### Step 1: Run CLI check
136
88
 
@@ -138,58 +90,30 @@ When the developer types `APPROVED`, run this before accepting:
138
90
  ak review check --gate [N] --ticket [ticket-id]
139
91
  ```
140
92
 
141
- For Tester Gate 2 sub-phases, pass the lettered gate identifier:
142
-
143
- ```bash
144
- ak review check --gate 2a --ticket [ticket-id]
145
- ak review check --gate 2b --ticket [ticket-id]
146
- ```
147
-
148
93
  ### Step 2: Interpret result
149
94
 
150
- **Exit code 0 — all checked:**
95
+ **Exit code 0 — all checked & resolved:**
151
96
  - Gate proceeds normally
152
97
  - Run telemetry: `ak gate [N] approved --ticket [ticket-id]`
153
98
  - Continue to next gate
154
99
 
155
100
  **Exit code 1 — file missing:**
156
- ```
157
- Review file not found for gate N, ticket PROJ-33
158
- ```
159
- AI response:
160
- > "The review file wasn't found. Let me regenerate it."
161
- Then re-run Mode 1 (generate) and display the gate pause message again.
101
+ - AI response: "The review session files weren't found. Let me prepare them."
102
+ - Re-run Mode 1 (initialize `comments-[ticket-id].json` and output file) and display pause message.
162
103
 
163
104
  **Exit code 1 — items with comments (need revision):**
164
- ```
165
- Items with comments (need AI revision):
166
- **Risk Areas**: High session token handling
167
- Comment: "Missing: SQL injection risk on login form"
168
- ```
169
- AI response:
170
- 1. Read each comment
171
- 2. Update the specific section in the gate output file
172
- 3. Rewrite only the flagged items in the review file (keep already-checked `[x]` items as-is)
173
- 4. Display updated gate pause message
174
-
175
- **Exit code 1 — unchecked items, no comment:**
176
- ```
177
- Items unchecked (no comment):
178
- • **Scope**: Auth module only
179
- ```
180
- AI response:
181
- > "Item(s) are unchecked without a comment. Please either:
182
- > - Check `[x]` if you agree with the content, or
183
- > - Add `<!-- your comment -->` on the next line if you want changes."
184
- Do NOT re-generate. Wait for developer to update the file.
105
+ If the CLI reports unresolved comments, the AI must:
106
+ 1. Read the unresolved comments returned by the CLI (which include file path, line number, and comment text).
107
+ 2. Read the source file at those line numbers to understand the context.
108
+ 3. Update the specific sections of the document to address the comments.
109
+ 4. Tell the user what was updated, ask them to mark the comment thread as resolved in VS Code, and type `APPROVED`.
185
110
 
186
111
  ---
187
112
 
188
113
  ## Mandatory Rules
189
114
 
190
115
  - ❌ **NEVER** accept `APPROVED` without first running `ak review check`
191
- - **NEVER** re-generate already-checked `[x]` items when doing a partial revision
192
- - ✅ **ALWAYS** create `.aiflow/review/` directory if it doesn't exist (use `mkdir -p`)
116
+ - **ALWAYS** ensure `.aiflow/review/` directory exists (use `mkdir -p`)
117
+ - ✅ **ALWAYS** initialize `.aiflow/review/comments-[ticket-id].json` with `[]` if not present when starting a gate pause.
193
118
  - ✅ **ALWAYS** use the ticket ID from `.aiflow/context/current.json` in the file name
194
- - ✅ **ALWAYS** keep review items specific to the actual content — not generic category names
195
119
  - ✅ **ALWAYS** use lettered suffixes (`gate-2a`, `gate-2b`, …) for Tester Gate 2 sub-phases — never plain `gate-2`
File without changes
File without changes
@@ -99,13 +99,11 @@ Liệt kê scenarios theo nhóm, output vào `test-plan/checklist.md`:
99
99
  📙 **Regression** _(nếu Dev Artifacts Check Bước 2 tìm thấy impacted areas)_
100
100
  - Mỗi item ghi rõ: "Regression — [vùng ảnh hưởng] — [lý do từ PR diff]"
101
101
 
102
- ```
103
102
  ⏸️ GATE 2 — PHASE 2a: SCENARIOS READY
104
103
  Scenarios: [N] total
105
104
  - Functional: [N] | Non-functional: [N] | Integration: [N] | Exploratory: [N] | Regression: [N]
106
105
  → Review: [test-plan/checklist.md](test-plan/checklist.md)
107
106
  → Type APPROVED to proceed to Phase 2b
108
- ```
109
107
 
110
108
  ---
111
109
 
@@ -178,14 +176,12 @@ Output testcases: `test-plan/test-cases/[ScreenID]-testcases.md`
178
176
  | **Total** | **[S/M/L/XL]** |
179
177
  ```
180
178
 
181
- ```
182
179
  ⏸️ GATE 2 — PHASE 2b: TESTCASES GENERATED
183
180
  Test cases: [N] total ([N] positive / [N] negative / [N] edge)
184
181
  Test plan: [test-plan/test-plan.md](test-plan/test-plan.md)
185
182
  → Review: [test-plan/test-cases/](test-plan/test-cases/)
186
183
  → Type APPROVED to proceed to Phase 2c (Review & Optimize)
187
184
  → Or provide feedback to update
188
- ```
189
185
 
190
186
  ---
191
187
 
@@ -229,18 +225,15 @@ Kiểm tra theo thứ tự, output vào `test-plan/review-report.md`:
229
225
  Priority: High (phải fix trước Phase 2d) / Medium / Low (có thể defer)
230
226
  ```
231
227
 
232
- ```
233
228
  ⏸️ GATE 2 — PHASE 2c: REVIEW COMPLETE
234
229
  Issues: [N] duplicate | [N] problematic | [N] to optimize | [N] missing
235
230
  High priority chưa xử lý: [N]
236
231
  → Review: [test-plan/review-report.md](test-plan/review-report.md)
237
232
  → Type APPROVED to proceed to Phase 2d (chỉ khi High priority = 0)
238
233
  → Or provide specific fixes to apply
239
- ```
240
234
 
241
235
  **Nếu nhận được APPROVED mà còn issues Priority High chưa xử lý → từ chối ngay:**
242
236
 
243
- ```
244
237
  ⛔ PHASE 2c BLOCKED — Còn [N] issues Priority HIGH chưa được xử lý:
245
238
 
246
239
  | TC_ID | Vấn đề | Đề xuất sửa |
@@ -250,7 +243,6 @@ High priority chưa xử lý: [N]
250
243
  → Cung cấp fixes cho các issues trên, sau đó gõ APPROVED.
251
244
  ❌ APPROVED chỉ được chấp nhận khi không còn issues Priority High.
252
245
  Medium và Low có thể defer — không block APPROVED.
253
- ```
254
246
 
255
247
  ---
256
248