@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.
- package/README.md +185 -136
- package/bin/aiflow.js +0 -0
- package/bin/ak.js +0 -0
- package/custom/harness/playwright/.env.example +0 -0
- package/custom/harness/playwright/playwright.config.ts +0 -0
- package/custom/harness/playwright/tests/e2e/auth.setup.ts +0 -0
- package/custom/harness/playwright/tests/e2e/fixtures/test.ts +0 -0
- package/custom/harness/playwright/tests/e2e/pages/BasePage.ts +0 -0
- package/custom/harness/playwright/tests/e2e/support/auth.ts +0 -0
- package/custom/mcp-presets/README.md +0 -0
- package/custom/mcp-presets/backlog.json +0 -0
- package/custom/mcp-presets/figma-desktop.json +0 -0
- package/custom/mcp-presets/figma.json +0 -0
- package/custom/mcp-presets/gitnexus.json +0 -0
- package/custom/mcp-presets/google-sheets.json +0 -0
- package/custom/mcp-presets/jira.json +0 -0
- package/custom/mcp-presets/playwright.json +0 -0
- package/custom/prompts/bug-fix.md +0 -0
- package/custom/prompts/feature.md +0 -0
- package/custom/prompts/investigation.md +0 -0
- package/custom/rules/code-style.md +0 -0
- package/custom/rules/java/code-style.md +0 -0
- package/custom/rules/java/naming.md +0 -0
- package/custom/rules/java/review-checklist.md +0 -0
- package/custom/rules/java/spring-boot-examples.md +0 -0
- package/custom/rules/javascript/code-style.md +0 -0
- package/custom/rules/javascript/naming.md +0 -0
- package/custom/rules/ml-conventions.md +0 -0
- package/custom/rules/ml-review-checklist.md +0 -0
- package/custom/rules/naming.md +0 -0
- package/custom/rules/php/code-style.md +0 -0
- package/custom/rules/php/naming.md +0 -0
- package/custom/rules/project-conventions.md +0 -0
- package/custom/rules/review-checklist.md +0 -0
- package/custom/rules/test-patterns.md +0 -0
- package/custom/skills/automation-testing/SKILL.md +0 -0
- package/custom/skills/automation-testing/templates/BasePage.ts +0 -0
- package/custom/skills/automation-testing/templates/PageObject.example.ts +0 -0
- package/custom/skills/automation-testing/templates/playwright.config.ts +0 -0
- package/custom/skills/automation-testing/templates/spec.example.ts +0 -0
- package/custom/skills/ba-skills/{skill-ba-xay-dung-business-rules-v1.md → skill-ba-build-business-rules-v1.md} +0 -0
- package/custom/skills/ba-skills/{skill-ba-template-phan-tich-ban-dau-v1.md → skill-ba-initial-analysis-template-v1.md} +0 -0
- package/custom/skills/ba-skills/{skill-ba-phan-tich-ban-dau-v1.md → skill-ba-initial-analysis-v1.md} +2 -2
- package/custom/skills/ba-skills/{skill-ba-ve-luong-mermaid-v1.md → skill-ba-mermaid-flowchart-v1.md} +0 -0
- package/custom/skills/ba-skills/{skill-ba-qa-template-v1.md → skill-ba-qna-template-v1.md} +0 -0
- package/custom/skills/ba-skills/{skill-ba-qa-v1.md → skill-ba-qna-v1.md} +2 -2
- package/custom/skills/ba-skills/{skill-ba-template-uc-v1.md → skill-ba-uc-template-v1.md} +0 -0
- package/custom/skills/ba-skills/{skill-ba-prototype-v1.md → skill-ba-ui-prototype-v1.md} +2 -2
- package/custom/skills/ba-skills/{skill-ba-viet-spec-uc-v1.md → skill-ba-write-uc-spec-v1.md} +4 -4
- package/custom/skills/coverage-check/SKILL.md +0 -0
- package/custom/skills/deploy-model/SKILL.md +0 -0
- package/custom/skills/design-experiment/SKILL.md +0 -0
- package/custom/skills/evaluate-model/SKILL.md +0 -0
- package/custom/skills/evidence-aggregation/SKILL.md +0 -0
- package/custom/skills/execute-flow/SKILL.md +5 -34
- package/custom/skills/execute-flow/templates/playwright.config.ts +0 -0
- package/custom/skills/explore-data/SKILL.md +0 -0
- package/custom/skills/figma-to-component/SKILL.md +0 -0
- package/custom/skills/frame-ml-problem/SKILL.md +0 -0
- package/custom/skills/gate-review/SKILL.md +29 -105
- package/custom/skills/generate-spec/SKILL.md +0 -0
- package/custom/skills/generate-test-report/SKILL.md +0 -0
- package/custom/skills/generate-test-report/templates/test-report.md +0 -0
- package/custom/skills/generate-testcase/SKILL.md +0 -8
- package/custom/skills/generate-testcase/templates/testcase.md +50 -59
- package/custom/skills/impact-analysis/SKILL.md +0 -0
- package/custom/skills/improve-algorithm/SKILL.md +0 -0
- package/custom/skills/investigate-bug/SKILL.md +0 -0
- package/custom/skills/log-bug/SKILL.md +0 -0
- package/custom/skills/pr-impact-analysis/SKILL.md +0 -0
- package/custom/skills/report-customer/SKILL.md +0 -0
- package/custom/skills/retest-orchestration/SKILL.md +0 -0
- package/custom/skills/review-plan/SKILL.md +0 -0
- package/custom/skills/script-sync/SKILL.md +0 -0
- package/custom/skills/test-analysis/SKILL.md +0 -4
- package/custom/skills/test-skills/categories/00-core/00.01.requirement-analysis.md +0 -0
- package/custom/skills/test-skills/categories/00-core/00.02.risk-analysis.md +0 -0
- package/custom/skills/test-skills/categories/00-core/00.03.test-scenario-builder.md +0 -0
- package/custom/skills/test-skills/categories/00-core/00.04.testcase-review.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.01.boundary-value-analysis.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.02.equivalence.partitioning.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.03.decision-table.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.04.state.transition.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.05.pairwise.md +0 -0
- package/custom/skills/test-skills/categories/01-test-design/01.06.error-guessing.md +0 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.01.UI-layout.md +0 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.02.form-validation.md +0 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.03.navigation.md +0 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.04.localization.md +0 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.05.accessibility.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.01.CRUD-testing.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.02.workflow-testing.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.03.permission-testing.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.04.dependency-validation.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.05.notification-testing.md +0 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.06.calculation.testing.md +0 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.01.database-testing.md +0 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.02.import-export-testing.md +0 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.03.data-mapping.md +0 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.04.duplicate-handling.md +0 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.05.migration.md +0 -0
- package/custom/skills/test-skills/categories/05-integration/05.01.API-testing.md +0 -0
- package/custom/skills/test-skills/categories/05-integration/05.02.third-party-integration.md +0 -0
- package/custom/skills/test-skills/categories/05-integration/05.03.batch-processing.md +0 -0
- package/custom/skills/test-skills/categories/05-integration/05.04.file-upload-download.md +0 -0
- package/custom/skills/test-skills/categories/08-domain-skills/CMS.md +0 -0
- package/custom/skills/test-skills/categories/08-domain-skills/Ecommerce.md +0 -0
- package/custom/skills/test-skills/categories/99-review/99.01.coverage-review.md +0 -0
- package/custom/skills/test-skills/categories/99-review/99.02.knowledge-learning.md +0 -0
- package/custom/skills/test-skills/categories/99-review/99.03.repository-update.md +0 -0
- package/custom/skills/test-skills/categories/99-review/99.04.change-history.md +0 -0
- package/custom/skills/test-skills/rules/directory-and-naming-convention.md +158 -0
- package/custom/skills/test-skills/rules/{QA_Writing_Standards.md → qa-writing-standards.md} +0 -0
- package/custom/skills/test-skills/template/{template_testcase.md → testcase-template.md} +50 -59
- package/custom/skills/train-model/SKILL.md +0 -0
- package/custom/templates/laravel.md +0 -0
- package/custom/templates/nestjs.md +0 -0
- package/custom/templates/nextjs.md +0 -0
- package/custom/templates/nodejs-express.md +0 -0
- package/custom/templates/php-plain.md +0 -0
- package/custom/templates/php.md +0 -0
- package/custom/templates/python-django.md +0 -0
- package/custom/templates/python-fastapi.md +0 -0
- package/custom/templates/python-ml.md +0 -0
- package/custom/templates/python.md +0 -0
- package/custom/templates/reactjs.md +0 -0
- package/custom/templates/shared/coding-workflow.md +15 -0
- package/custom/templates/shared/create-spec-workflow.md +80 -95
- package/custom/templates/shared/create-testcase-workflow.md +65 -75
- package/custom/templates/shared/gate-workflow.md +3 -3
- package/custom/templates/shared/ml-gate-workflow.md +0 -0
- package/custom/templates/spring-boot.md +0 -0
- package/custom/templates/tools/claude.md +0 -0
- package/custom/templates/tools/copilot.md +0 -0
- package/custom/templates/tools/cursor.md +0 -0
- package/custom/templates/tools/gemini.md +0 -0
- package/custom/templates/tools/generic.md +0 -0
- package/custom/templates/vue-nuxt.md +0 -0
- package/docs/common/AIFLOW.md +0 -0
- package/docs/common/CHANGELOG.md +75 -9
- package/docs/common/QUICK_START.md +0 -0
- package/docs/common/ai-integration.md +0 -0
- package/docs/common/cli-reference.md +0 -0
- package/docs/common/configuration.md +0 -0
- package/docs/common/getting-started.md +0 -0
- package/docs/common/troubleshooting.md +0 -0
- package/docs/common/workflows/bug-fix.md +0 -0
- package/docs/common/workflows/feature.md +0 -0
- package/docs/common/workflows/figma.md +0 -0
- package/docs/common/workflows/impact-analysis.md +0 -0
- package/docs/common/workflows/investigation.md +0 -0
- package/docs/common/workflows/refactor.md +0 -0
- package/docs/project/ARCHITECTURE.md +0 -0
- package/index.js +0 -0
- package/package.json +1 -1
- package/scripts/checkpoint.js +0 -0
- package/scripts/config.js +0 -0
- package/scripts/context.js +0 -0
- package/scripts/create-score-excel.js +41 -47
- package/scripts/detect.js +0 -0
- package/scripts/doctor.js +0 -0
- package/scripts/gitnexus-worker.js +0 -0
- package/scripts/guide.js +0 -0
- package/scripts/hooks/block-git-write.js +0 -0
- package/scripts/hooks/session-start.js +1 -0
- package/scripts/hooks/session-stop.js +0 -0
- package/scripts/init.js +5 -0
- package/scripts/memory.js +0 -0
- package/scripts/prompt.js +0 -0
- package/scripts/remove.js +0 -0
- package/scripts/review.js +83 -46
- package/scripts/scaffold-playwright.js +0 -0
- package/scripts/task.js +0 -0
- package/scripts/telemetry/cli.js +0 -0
- package/scripts/telemetry/config.js +0 -0
- package/scripts/telemetry/crypto.js +0 -0
- package/scripts/telemetry/flush.js +0 -0
- package/scripts/telemetry/record.js +0 -0
- package/scripts/update.js +0 -0
- package/scripts/use.js +3 -2
- package/scripts/validate.js +0 -0
- package/upstream/.claude-plugin/marketplace.json +0 -0
- package/upstream/.claude-plugin/plugin.json +0 -0
- package/upstream/.codex/INSTALL.md +0 -0
- package/upstream/.cursor-plugin/plugin.json +0 -0
- package/upstream/.gitattributes +0 -0
- package/upstream/.github/FUNDING.yml +0 -0
- package/upstream/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- package/upstream/.github/ISSUE_TEMPLATE/config.yml +0 -0
- package/upstream/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- package/upstream/.github/ISSUE_TEMPLATE/platform_support.md +0 -0
- package/upstream/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- package/upstream/.opencode/INSTALL.md +0 -0
- package/upstream/.opencode/plugins/superpowers.js +0 -0
- package/upstream/.version-bump.json +0 -0
- package/upstream/AGENTS.md +0 -0
- package/upstream/CHANGELOG.md +0 -0
- package/upstream/CLAUDE.md +0 -0
- package/upstream/CODE_OF_CONDUCT.md +0 -0
- package/upstream/GEMINI.md +0 -0
- package/upstream/LICENSE +0 -0
- package/upstream/README.md +0 -0
- package/upstream/RELEASE-NOTES.md +0 -0
- package/upstream/agents/code-reviewer.md +0 -0
- package/upstream/commands/brainstorm.md +0 -0
- package/upstream/commands/execute-plan.md +0 -0
- package/upstream/commands/write-plan.md +0 -0
- package/upstream/docs/README.codex.md +0 -0
- package/upstream/docs/README.opencode.md +0 -0
- package/upstream/docs/plans/2025-11-22-opencode-support-design.md +0 -0
- package/upstream/docs/plans/2025-11-22-opencode-support-implementation.md +0 -0
- package/upstream/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +0 -0
- package/upstream/docs/plans/2026-01-17-visual-brainstorming.md +0 -0
- package/upstream/docs/superpowers/plans/2026-01-22-document-review-system.md +0 -0
- package/upstream/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +0 -0
- package/upstream/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +0 -0
- package/upstream/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +0 -0
- package/upstream/docs/superpowers/specs/2026-01-22-document-review-system-design.md +0 -0
- package/upstream/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +0 -0
- package/upstream/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +0 -0
- package/upstream/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +0 -0
- package/upstream/docs/testing.md +0 -0
- package/upstream/docs/windows/polyglot-hooks.md +0 -0
- package/upstream/gemini-extension.json +0 -0
- package/upstream/hooks/hooks-cursor.json +0 -0
- package/upstream/hooks/hooks.json +0 -0
- package/upstream/hooks/run-hook.cmd +0 -0
- package/upstream/hooks/session-start +0 -0
- package/upstream/package.json +0 -0
- package/upstream/scripts/bump-version.sh +0 -0
- package/upstream/skills/brainstorming/SKILL.md +0 -0
- package/upstream/skills/brainstorming/scripts/frame-template.html +0 -0
- package/upstream/skills/brainstorming/scripts/helper.js +0 -0
- package/upstream/skills/brainstorming/scripts/server.cjs +0 -0
- package/upstream/skills/brainstorming/scripts/start-server.sh +0 -0
- package/upstream/skills/brainstorming/scripts/stop-server.sh +0 -0
- package/upstream/skills/brainstorming/spec-document-reviewer-prompt.md +0 -0
- package/upstream/skills/brainstorming/visual-companion.md +0 -0
- package/upstream/skills/dispatching-parallel-agents/SKILL.md +0 -0
- package/upstream/skills/executing-plans/SKILL.md +0 -0
- package/upstream/skills/finishing-a-development-branch/SKILL.md +0 -0
- package/upstream/skills/receiving-code-review/SKILL.md +0 -0
- package/upstream/skills/requesting-code-review/SKILL.md +0 -0
- package/upstream/skills/requesting-code-review/code-reviewer.md +0 -0
- package/upstream/skills/subagent-driven-development/SKILL.md +0 -0
- package/upstream/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -0
- package/upstream/skills/subagent-driven-development/implementer-prompt.md +0 -0
- package/upstream/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -0
- package/upstream/skills/systematic-debugging/CREATION-LOG.md +0 -0
- package/upstream/skills/systematic-debugging/SKILL.md +0 -0
- package/upstream/skills/systematic-debugging/condition-based-waiting-example.ts +0 -0
- package/upstream/skills/systematic-debugging/condition-based-waiting.md +0 -0
- package/upstream/skills/systematic-debugging/defense-in-depth.md +0 -0
- package/upstream/skills/systematic-debugging/find-polluter.sh +0 -0
- package/upstream/skills/systematic-debugging/root-cause-tracing.md +0 -0
- package/upstream/skills/systematic-debugging/test-academic.md +0 -0
- package/upstream/skills/systematic-debugging/test-pressure-1.md +0 -0
- package/upstream/skills/systematic-debugging/test-pressure-2.md +0 -0
- package/upstream/skills/systematic-debugging/test-pressure-3.md +0 -0
- package/upstream/skills/tdd-lean/SKILL.md +0 -0
- package/upstream/skills/test-driven-development/SKILL.md +0 -0
- package/upstream/skills/test-driven-development/testing-anti-patterns.md +0 -0
- package/upstream/skills/using-git-worktrees/SKILL.md +0 -0
- package/upstream/skills/using-superpowers/SKILL.md +0 -0
- package/upstream/skills/using-superpowers/references/codex-tools.md +0 -0
- package/upstream/skills/using-superpowers/references/copilot-tools.md +0 -0
- package/upstream/skills/using-superpowers/references/gemini-tools.md +0 -0
- package/upstream/skills/verification-before-completion/SKILL.md +0 -0
- package/upstream/skills/writing-plans/SKILL.md +0 -0
- package/upstream/skills/writing-plans/plan-document-reviewer-prompt.md +0 -0
- package/upstream/skills/writing-skills/SKILL.md +0 -0
- package/upstream/skills/writing-skills/anthropic-best-practices.md +0 -0
- package/upstream/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -0
- package/upstream/skills/writing-skills/graphviz-conventions.dot +0 -0
- package/upstream/skills/writing-skills/persuasion-principles.md +0 -0
- package/upstream/skills/writing-skills/render-graphs.js +0 -0
- package/upstream/skills/writing-skills/testing-skills-with-subagents.md +0 -0
- package/upstream/tests/brainstorm-server/package-lock.json +0 -0
- package/upstream/tests/brainstorm-server/package.json +0 -0
- package/upstream/tests/brainstorm-server/server.test.js +0 -0
- package/upstream/tests/brainstorm-server/windows-lifecycle.test.sh +0 -0
- package/upstream/tests/brainstorm-server/ws-protocol.test.js +0 -0
- package/upstream/tests/claude-code/README.md +0 -0
- package/upstream/tests/claude-code/analyze-token-usage.py +0 -0
- package/upstream/tests/claude-code/run-skill-tests.sh +0 -0
- package/upstream/tests/claude-code/test-document-review-system.sh +0 -0
- package/upstream/tests/claude-code/test-helpers.sh +0 -0
- package/upstream/tests/claude-code/test-subagent-driven-development-integration.sh +0 -0
- package/upstream/tests/claude-code/test-subagent-driven-development.sh +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/action-oriented.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/after-planning-flow.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/skip-formalities.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +0 -0
- package/upstream/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +0 -0
- package/upstream/tests/explicit-skill-requests/run-all.sh +0 -0
- package/upstream/tests/explicit-skill-requests/run-claude-describes-sdd.sh +0 -0
- package/upstream/tests/explicit-skill-requests/run-extended-multiturn-test.sh +0 -0
- package/upstream/tests/explicit-skill-requests/run-haiku-test.sh +0 -0
- package/upstream/tests/explicit-skill-requests/run-multiturn-test.sh +0 -0
- package/upstream/tests/explicit-skill-requests/run-test.sh +0 -0
- package/upstream/tests/opencode/run-tests.sh +0 -0
- package/upstream/tests/opencode/setup.sh +0 -0
- package/upstream/tests/opencode/test-plugin-loading.sh +0 -0
- package/upstream/tests/opencode/test-priority.sh +0 -0
- package/upstream/tests/opencode/test-tools.sh +0 -0
- package/upstream/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +0 -0
- package/upstream/tests/skill-triggering/prompts/executing-plans.txt +0 -0
- package/upstream/tests/skill-triggering/prompts/requesting-code-review.txt +0 -0
- package/upstream/tests/skill-triggering/prompts/systematic-debugging.txt +0 -0
- package/upstream/tests/skill-triggering/prompts/test-driven-development.txt +0 -0
- package/upstream/tests/skill-triggering/prompts/writing-plans.txt +0 -0
- package/upstream/tests/skill-triggering/run-all.sh +0 -0
- package/upstream/tests/skill-triggering/run-test.sh +0 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/design.md +0 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/plan.md +0 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/scaffold.sh +0 -0
- package/upstream/tests/subagent-driven-dev/run-test.sh +0 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/design.md +0 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/plan.md +0 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/scaffold.sh +0 -0
- package/custom/skills/test-skills/rules/Directory_and_Naming_Convention.md +0 -257
|
@@ -13,9 +13,9 @@ Các skill sau đây được cài tự động vào `.claude/skills/test-skills
|
|
|
13
13
|
|
|
14
14
|
| Skill | File |
|
|
15
15
|
|---|---|
|
|
16
|
-
| `QA Writing Standards` | `.claude/skills/test-skills/rules/
|
|
17
|
-
| `Directory & Naming Convention` | `.claude/skills/test-skills/rules/
|
|
18
|
-
| `Template TestCase` | `.claude/skills/test-skills/template/
|
|
16
|
+
| `QA Writing Standards` | `.claude/skills/test-skills/rules/qa-writing-standards.md` |
|
|
17
|
+
| `Directory & Naming Convention` | `.claude/skills/test-skills/rules/directory-and-naming-convention.md` |
|
|
18
|
+
| `Template TestCase` | `.claude/skills/test-skills/template/testcase-template.md` |
|
|
19
19
|
| `00.01 Requirement Analysis` | `.claude/skills/test-skills/categories/00-core/00.01.requirement-analysis.md` |
|
|
20
20
|
| `00.02 Risk Analysis` | `.claude/skills/test-skills/categories/00-core/00.02.risk-analysis.md` |
|
|
21
21
|
| `00.03 Test Scenario Builder` | `.claude/skills/test-skills/categories/00-core/00.03.test-scenario-builder.md` |
|
|
@@ -46,40 +46,40 @@ Các skill sau đây được cài tự động vào `.claude/skills/test-skills
|
|
|
46
46
|
### Cấu trúc thư mục đầu ra
|
|
47
47
|
|
|
48
48
|
```
|
|
49
|
-
|
|
50
|
-
├──
|
|
51
|
-
│
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
├──
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
03.Testing/
|
|
50
|
+
├── 01.Testcases/
|
|
51
|
+
│ └── [functionId]/[functionId]_TestCase.md ← Gate 4 tạo
|
|
52
|
+
└── 07.AI-Artifacts/
|
|
53
|
+
└── [functionId]/
|
|
54
|
+
├── [functionId]_01_Requirement_Analysis_Result.md ← Gate 1 tạo
|
|
55
|
+
├── [functionId]_01_Requirement_Analysis_QA.md ← Gate 1 tạo (nếu có issue)
|
|
56
|
+
├── [functionId]_02_Test_Scenarios_Result.md ← Gate 2 tạo
|
|
57
|
+
├── [functionId]_02_Scenario_Building_QA.md ← Gate 2 tạo (nếu có issue)
|
|
58
|
+
├── [functionId]_03_Test_Cases_Draft_Result.md ← Gate 3 tạo
|
|
59
|
+
├── [functionId]_03_Test_Design_QA.md ← Gate 3 tạo (nếu có issue)
|
|
60
|
+
├── [functionId]_04_Test_Cases_Final_Result.md ← Gate 4 tạo (cùng TestCase)
|
|
61
|
+
└── [functionId]_04_Test_Review_QA.md ← Gate 4 tạo
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
Ví dụ: `functionId = AD06
|
|
64
|
+
Ví dụ: `functionId = AD06` → thư mục gốc là `03.Testing/`
|
|
65
65
|
|
|
66
66
|
---
|
|
67
67
|
|
|
68
68
|
### Quy trình tổng quan 4 Gates
|
|
69
69
|
|
|
70
70
|
```
|
|
71
|
-
(
|
|
71
|
+
(AI-Artifacts/ = 03.Testing/07.AI-Artifacts/ — viết tắt cho ngắn gọn)
|
|
72
72
|
|
|
73
|
-
[Input: SRS / Jira / Backlog / Spec file] → Pre-flight: xác định functionId
|
|
73
|
+
[Input: SRS / Jira / Backlog / Spec file] → Pre-flight: BẮT BUỘC xác định functionId
|
|
74
74
|
↓
|
|
75
|
-
Gate 1: Phân tích yêu cầu & Đánh giá rủi ro →
|
|
75
|
+
Gate 1: Phân tích yêu cầu & Đánh giá rủi ro → AI-Artifacts/[functionId]/
|
|
76
76
|
↓ APPROVED
|
|
77
|
-
Gate 2: Xây dựng Kịch bản (Scenario Building) →
|
|
77
|
+
Gate 2: Xây dựng Kịch bản (Scenario Building) → AI-Artifacts/[functionId]/
|
|
78
78
|
↓ APPROVED
|
|
79
|
-
Gate 3: Thiết kế Test Case chi tiết →
|
|
79
|
+
Gate 3: Thiết kế Test Case chi tiết → AI-Artifacts/[functionId]/
|
|
80
80
|
↓ APPROVED
|
|
81
|
-
Gate 4: Review & Tối ưu hóa →
|
|
82
|
-
+
|
|
81
|
+
Gate 4: Review & Tối ưu hóa → AI-Artifacts/[functionId]/
|
|
82
|
+
+ 03.Testing/01.Testcases/[functionId]/[functionId]_TestCase.md
|
|
83
83
|
↓ APPROVED (Fully / Conditionally)
|
|
84
84
|
Sẵn sàng thực thi kiểm thử
|
|
85
85
|
```
|
|
@@ -91,54 +91,44 @@ Sẵn sàng thực thi kiểm thử
|
|
|
91
91
|
**Mục tiêu:** Tiếp nhận đầu vào, hiểu nghiệp vụ, xác định phạm vi kiểm thử, nhận diện rủi ro và phát hiện vấn đề cần làm rõ trước khi xây dựng kịch bản.
|
|
92
92
|
|
|
93
93
|
**Đầu ra (Outputs):**
|
|
94
|
-
- `
|
|
95
|
-
- `
|
|
94
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_Result.md`
|
|
95
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_QA.md` (nếu có issue)
|
|
96
96
|
|
|
97
97
|
**Bước thực hiện:**
|
|
98
98
|
|
|
99
99
|
#### Bước 0: Pre-flight — Xác định functionId và thư mục đầu ra
|
|
100
100
|
|
|
101
|
-
**Xác định `functionId
|
|
101
|
+
**Xác định `functionId` (BẮT BUỘC):**
|
|
102
102
|
|
|
103
103
|
Kiểm tra theo thứ tự ưu tiên:
|
|
104
104
|
1. Trường `functionId` hoặc `screenId` trong `.aiflow/context/current.json`
|
|
105
105
|
2. Rút gọn từ `ticketId` — bỏ dấu gạch, giữ ký hiệu (ví dụ: `AD-06` → `AD06`)
|
|
106
|
-
3. Nếu không tìm thấy → **hỏi QA ngay**:
|
|
106
|
+
3. Nếu không tìm thấy → **BẮT BUỘC hỏi QA ngay**:
|
|
107
107
|
|
|
108
108
|
```
|
|
109
109
|
Không tìm thấy functionId trong context.
|
|
110
110
|
Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-LOGIN, PM-003):
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
→ Đợi QA trả lời, ghi nhận giá trị, dùng cho toàn bộ workflow.
|
|
113
|
+
→ Đợi QA trả lời, ghi nhận giá trị, dùng cho toàn bộ workflow. KHÔNG ĐƯỢC TIẾP TỤC NẾU CHƯA CÓ functionId.
|
|
114
114
|
|
|
115
|
-
**Xác định
|
|
115
|
+
**Xác định thư mục đầu ra:**
|
|
116
116
|
|
|
117
|
-
1.
|
|
118
|
-
- Trường `project` trong `.aiflow/context/current.json`
|
|
119
|
-
- Tên thư mục gốc workspace (chuyển lowercase, thay space bằng `-`)
|
|
120
|
-
|
|
121
|
-
2. Kiểm tra tồn tại thư mục `docs/ak-{project}/testcase/` trong root dự án:
|
|
117
|
+
1. Kiểm tra tồn tại thư mục `03.Testing/` trong root dự án:
|
|
122
118
|
- **Tìm thấy** → thông báo xác nhận:
|
|
123
119
|
```
|
|
124
|
-
✓ Thư mục đầu ra:
|
|
120
|
+
✓ Thư mục đầu ra: 03.Testing/
|
|
125
121
|
✓ functionId: [functionId]
|
|
126
122
|
→ Bắt đầu Gate 1...
|
|
127
123
|
```
|
|
128
|
-
- **Không tìm thấy** →
|
|
129
|
-
```
|
|
130
|
-
Không tìm thấy thư mục docs/ak-{project}/testcase/.
|
|
131
|
-
Tên project là gì? (ví dụ: kcandy, crm-app)
|
|
132
|
-
```
|
|
133
|
-
→ Nhận tên project từ QA → chuyển lowercase → tạo toàn bộ cây thư mục:
|
|
124
|
+
- **Không tìm thấy** → tạo toàn bộ cây thư mục:
|
|
134
125
|
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
docs/ak-{project}/testcase/TestCase/
|
|
126
|
+
03.Testing/01.Testcases/[functionId]/
|
|
127
|
+
03.Testing/07.AI-Artifacts/[functionId]/
|
|
138
128
|
```
|
|
139
129
|
→ Thông báo:
|
|
140
130
|
```
|
|
141
|
-
✓ Đã tạo thư mục:
|
|
131
|
+
✓ Đã tạo thư mục: 03.Testing/
|
|
142
132
|
✓ functionId: [functionId]
|
|
143
133
|
→ Bắt đầu Gate 1...
|
|
144
134
|
```
|
|
@@ -150,7 +140,7 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
150
140
|
- Nếu có file yêu cầu thô được chỉ định → đọc file đó
|
|
151
141
|
|
|
152
142
|
#### Bước 2: Phân tích yêu cầu và đánh giá rủi ro
|
|
153
|
-
- **READ skill:** `.claude/skills/test-skills/rules/
|
|
143
|
+
- **READ skill:** `.claude/skills/test-skills/rules/qa-writing-standards.md` — đọc trước để nắm quy ước chung
|
|
154
144
|
- **READ skill:** `.claude/skills/test-skills/categories/00-core/00.01.requirement-analysis.md`
|
|
155
145
|
- **READ skill:** `.claude/skills/test-skills/categories/00-core/00.02.risk-analysis.md`
|
|
156
146
|
- Phân tích đầy đủ **16 mục** theo skill 00.01:
|
|
@@ -177,11 +167,11 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
177
167
|
|
|
178
168
|
#### Bước 3: Soạn thảo kết quả phân tích yêu cầu
|
|
179
169
|
- Artifact đầu ra phải có: Feature Summary, Actor & Persona, Business Rules (16 mục), Risk Matrix, Test Scope
|
|
180
|
-
- Lưu: `
|
|
170
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_Result.md`
|
|
181
171
|
|
|
182
172
|
#### Bước 4: Soạn thảo QA Artifact (nếu có issue)
|
|
183
173
|
- Cấu trúc: Metadata, Detected Issues (Severity), Clarification Questions, Assumptions, Resolution Tracking
|
|
184
|
-
- Lưu: `
|
|
174
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_QA.md`
|
|
185
175
|
|
|
186
176
|
#### Bước 5: Gate Review & Pause
|
|
187
177
|
- **INVOKE** `gate-review` skill (generate mode) — ghi `.aiflow/review/gate-1-[functionId].md`
|
|
@@ -193,7 +183,7 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
193
183
|
→ Nếu blocked: làm theo gate-review skill response protocol
|
|
194
184
|
|
|
195
185
|
**Definition of Done:**
|
|
196
|
-
- [ ] `functionId`
|
|
186
|
+
- [ ] `functionId` đã được xác định, thư mục đầu ra đã sẵn sàng
|
|
197
187
|
- [ ] File `01_Requirement_Analysis_Result.md` có đủ 16 mục + Risk Matrix + Test Scope
|
|
198
188
|
- [ ] File `01_Requirement_Analysis_QA.md` đã tạo nếu có issue (Critical/Major đã giải quyết)
|
|
199
189
|
- [ ] Không có giả định nào được tự ý chốt thành fact mà không đưa vào QA
|
|
@@ -210,11 +200,11 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
210
200
|
**Điều kiện vào Gate 2:** Gate 1 đã **APPROVED** và `01_Requirement_Analysis_Result.md` đã hoàn chỉnh.
|
|
211
201
|
|
|
212
202
|
**Đầu vào (Inputs):**
|
|
213
|
-
- `
|
|
203
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_Result.md`
|
|
214
204
|
|
|
215
205
|
**Đầu ra (Outputs):**
|
|
216
|
-
- `
|
|
217
|
-
- `
|
|
206
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_02_Test_Scenarios_Result.md`
|
|
207
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_02_Scenario_Building_QA.md` (nếu có issue)
|
|
218
208
|
|
|
219
209
|
**Bước thực hiện:**
|
|
220
210
|
|
|
@@ -245,10 +235,10 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
245
235
|
- Cột: Scenario ID, Feature/Module, Check List, Scenario Type, Target Req ID, Priority, Test Data
|
|
246
236
|
- Business Flow Mapping (E2E diagram dạng text)
|
|
247
237
|
- Draft RTM (Scenario ID → Requirement ID từ `01_Requirement_Analysis_Result.md`)
|
|
248
|
-
- Lưu: `
|
|
238
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_02_Test_Scenarios_Result.md`
|
|
249
239
|
|
|
250
240
|
#### Bước 5: Soạn thảo QA Artifact (nếu có issue)
|
|
251
|
-
- Lưu: `
|
|
241
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_02_Scenario_Building_QA.md`
|
|
252
242
|
- Minor issues → TBD marker + carry-forward, tiếp tục workflow
|
|
253
243
|
|
|
254
244
|
#### Bước 6: Gate Review & Pause
|
|
@@ -279,18 +269,18 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
279
269
|
**Điều kiện vào Gate 3:** Gate 2 đã **APPROVED** và `02_Test_Scenarios_Result.md` đã hoàn chỉnh.
|
|
280
270
|
|
|
281
271
|
**Đầu vào (Inputs):**
|
|
282
|
-
- `
|
|
283
|
-
- `
|
|
272
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_Result.md`
|
|
273
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_02_Test_Scenarios_Result.md`
|
|
284
274
|
|
|
285
275
|
**Đầu ra (Outputs):**
|
|
286
|
-
- `
|
|
287
|
-
- `
|
|
276
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_03_Test_Cases_Draft_Result.md`
|
|
277
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_03_Test_Design_QA.md` (nếu có issue)
|
|
288
278
|
|
|
289
279
|
**Bước thực hiện:**
|
|
290
280
|
|
|
291
281
|
#### Bước 1: Đọc template và quy ước bắt buộc
|
|
292
|
-
- **READ template:** `.claude/skills/test-skills/template/
|
|
293
|
-
- **READ skill:** `.claude/skills/test-skills/rules/
|
|
282
|
+
- **READ template:** `.claude/skills/test-skills/template/testcase-template.md` — **BẮT BUỘC** tuân thủ 100%
|
|
283
|
+
- **READ skill:** `.claude/skills/test-skills/rules/qa-writing-standards.md`
|
|
294
284
|
|
|
295
285
|
#### Bước 2: Áp dụng kỹ thuật thiết kế TC cơ bản (luôn áp dụng)
|
|
296
286
|
- **READ:** `.claude/skills/test-skills/categories/01-test-design/01.01.boundary-value-analysis.md` — BVA cho tất cả trường số/text có giới hạn
|
|
@@ -329,10 +319,10 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
329
319
|
- **Section 3.5**: Exceptions & Systems (Error Guessing cases)
|
|
330
320
|
- Bổ sung: Coverage Matrix (Scenario ID → TC ID), Test Data tổng hợp
|
|
331
321
|
- Ghi TBD marker khi thiếu thông tin: `[TBD — <issue-id>: mô tả ngắn]`
|
|
332
|
-
- Lưu: `
|
|
322
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_03_Test_Cases_Draft_Result.md`
|
|
333
323
|
|
|
334
324
|
#### Bước 7: Soạn thảo QA Artifact (nếu có issue)
|
|
335
|
-
- Lưu: `
|
|
325
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_03_Test_Design_QA.md`
|
|
336
326
|
- Cấu trúc: Metadata, Detected Issues, Clarification Questions, Assumptions, Resolution Tracking
|
|
337
327
|
|
|
338
328
|
#### Bước 8: Gate Review & Pause
|
|
@@ -345,7 +335,7 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
345
335
|
→ Nếu blocked: làm theo gate-review skill response protocol
|
|
346
336
|
|
|
347
337
|
**Definition of Done:**
|
|
348
|
-
- [ ] 100% tuân thủ `
|
|
338
|
+
- [ ] 100% tuân thủ `testcase-template.md` — không tự định nghĩa cấu trúc mới
|
|
349
339
|
- [ ] Mọi trường input (cả Required và Optional) đã qua ma trận skill 02.02
|
|
350
340
|
- [ ] TC Name section 3.3 bắt đầu bằng `"Kiểm tra trường [Tên Trường]..."`
|
|
351
341
|
- [ ] Coverage Matrix mapping Scenario ID → TC ID đầy đủ
|
|
@@ -364,13 +354,13 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
364
354
|
**Điều kiện vào Gate 4:** Gate 3 đã **APPROVED** và `03_Test_Cases_Draft_Result.md` đã hoàn chỉnh.
|
|
365
355
|
|
|
366
356
|
**Đầu vào (Inputs):**
|
|
367
|
-
- `
|
|
368
|
-
- `
|
|
357
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_01_Requirement_Analysis_Result.md`
|
|
358
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_03_Test_Cases_Draft_Result.md`
|
|
369
359
|
|
|
370
360
|
**Đầu ra (Outputs) — sinh ĐỒNG THỜI:**
|
|
371
|
-
- `
|
|
372
|
-
- `
|
|
373
|
-
- `
|
|
361
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_04_Test_Cases_Final_Result.md`
|
|
362
|
+
- `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_04_Test_Review_QA.md`
|
|
363
|
+
- `03.Testing/01.Testcases/[functionId]/[functionId]_TestCase.md`
|
|
374
364
|
|
|
375
365
|
> **Quy tắc Gate 4:** Ba artifact trên phải được sinh ĐỒNG THỜI. Không tạo một file mà thiếu file kia.
|
|
376
366
|
|
|
@@ -401,19 +391,19 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
401
391
|
- Final Test Cases (Approved, đã loại trùng và out-of-scope)
|
|
402
392
|
- RTM Final (Req ID → Scenario ID → TC ID)
|
|
403
393
|
- Sign-off Status (xem bảng bên dưới)
|
|
404
|
-
- Lưu: `
|
|
394
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_04_Test_Cases_Final_Result.md`
|
|
405
395
|
|
|
406
396
|
#### Bước 4: Soạn thảo QA Artifact
|
|
407
397
|
- Artifact `[functionId]_04_Test_Review_QA.md` gồm: Metadata, Findings, Issues, Sign-off Status
|
|
408
|
-
- Lưu: `
|
|
398
|
+
- Lưu: `03.Testing/07.AI-Artifacts/[functionId]/[functionId]_04_Test_Review_QA.md`
|
|
409
399
|
|
|
410
400
|
#### Bước 5: Sinh TestCase Artifact — BẮT BUỘC đồng thời với Bước 3 & 4
|
|
411
|
-
- Artifact `[functionId]_TestCase.md` theo `
|
|
401
|
+
- Artifact `[functionId]_TestCase.md` theo `testcase-template.md` — **chỉ gồm:**
|
|
412
402
|
- **Mục 1**: Thông tin chung (điền functionId, ngày tạo)
|
|
413
403
|
- **Mục 2**: Kết quả kiểm thử tổng hợp (reset về 0 chờ execution)
|
|
414
404
|
- **Mục 3**: Danh sách Test Cases Chi Tiết (toàn bộ 5 sections đã Approved)
|
|
415
405
|
- **KHÔNG chứa:** Review Summary, Findings, RTM, Coverage Matrix, Sign-off (thuộc `04_Final_Result.md`)
|
|
416
|
-
- Lưu: `
|
|
406
|
+
- Lưu: `03.Testing/01.Testcases/[functionId]/[functionId]_TestCase.md`
|
|
417
407
|
|
|
418
408
|
#### Bước 6: Xác nhận Sign-off Status
|
|
419
409
|
|
|
@@ -451,7 +441,7 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
451
441
|
|---|---|---|
|
|
452
442
|
| Gate 1 | `QA_Writing_Standards`, `00.01 Requirement Analysis`, `00.02 Risk Analysis` | `01_Requirement_Analysis_Result.md`, `01_QA.md` |
|
|
453
443
|
| Gate 2 | `00.03 Scenario Builder`, `01.06 Error Guessing`, `03.02 Workflow Testing`, Domain skills | `02_Test_Scenarios_Result.md`, `02_QA.md` |
|
|
454
|
-
| Gate 3 | `
|
|
444
|
+
| Gate 3 | `testcase-template`, `01.01 BVA`, `01.02 EP`, `01.03 Decision Table`, `01.06 Error Guessing`, `02.01`–`02.04`, `03.01`, `03.03`, `04.01`, `04.04` | `03_Test_Cases_Draft_Result.md`, `03_QA.md` |
|
|
455
445
|
| Gate 4 | `00.04 TC Review`, `99.01 Coverage Review` | `04_Final_Result.md`, `04_QA.md`, `[functionId]_TestCase.md` |
|
|
456
446
|
|
|
457
447
|
---
|
|
@@ -465,6 +455,6 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD06, TC-
|
|
|
465
455
|
- ✅ **BẮT BUỘC** chạy Bước 0 ở Gate 1 — xác nhận `functionId` và thư mục đầu ra trước khi làm bất cứ điều gì
|
|
466
456
|
- ✅ **BẮT BUỘC** đọc skill từ `.claude/skills/test-skills/` — không suy luận từ bộ nhớ
|
|
467
457
|
- ✅ **BẮT BUỘC** invoke `gate-review` cuối mỗi gate và chờ APPROVED
|
|
468
|
-
- ✅ **BẮT BUỘC** tuân thủ 100% `
|
|
458
|
+
- ✅ **BẮT BUỘC** tuân thủ 100% `testcase-template.md` ở Gate 3 và Gate 4
|
|
469
459
|
- ✅ **BẮT BUỘC** ba artifact Gate 4 sinh ĐỒNG THỜI
|
|
470
460
|
- ✅ **BẮT BUỘC** Issue Critical/Major phải giải quyết xong trước khi sinh Result artifact
|
|
@@ -50,7 +50,7 @@ AI actively reads ticket + source code to understand the requirement:
|
|
|
50
50
|
→ If passed: run `ak gate 1 approved --ticket [ticket-id]` → proceed to Gate 2
|
|
51
51
|
→ If blocked: follow gate-review skill response protocol
|
|
52
52
|
|
|
53
|
-
> **Tip:** If auto-start doesn't trigger, the developer can start this gate by typing: **"start"**, **"Gate 1"** or **"Analyze ticket"**.
|
|
53
|
+
> **Tip:** If auto-start doesn't trigger, the developer can start this gate by typing: **"start"**, **"Gate 1"** or **"Analyze ticket"**. If this chat session was already open when the ticket was loaded (`ak use`), those phrases won't mean anything to the AI yet since the `SessionStart` hook did not re-run — run **`/coding`** instead to load the ticket context manually.
|
|
54
54
|
|
|
55
55
|
DO NOT just check format — **understand the content and propose solutions**.
|
|
56
56
|
|
|
@@ -357,7 +357,7 @@ Coverage: [N]% acceptance criteria
|
|
|
357
357
|
|
|
358
358
|
### GATE 1 — Pre-flight & Work Plan (auto-start)
|
|
359
359
|
|
|
360
|
-
**INVOKE:** `execute-flow` skill (from `custom/skills/execute-flow/SKILL.md`)
|
|
360
|
+
**INVOKE:** `execute-flow` skill (from `custom/skills/test-skills/execute-flow/SKILL.md`)
|
|
361
361
|
|
|
362
362
|
Pre-flight checks (stop and report if any fail):
|
|
363
363
|
0. **MCP Playwright is configured** — check `~/.claude/settings.json` (global user-level) for a `playwright` key in `mcpServers`. This is global — set once, works across all repos.
|
|
@@ -396,7 +396,7 @@ BASE_URL: [url]
|
|
|
396
396
|
|
|
397
397
|
Only runs after Gate 1 APPROVED.
|
|
398
398
|
|
|
399
|
-
**INVOKE:** `script-sync` skill (from `custom/skills/script-sync/SKILL.md`)
|
|
399
|
+
**INVOKE:** `script-sync` skill (from `custom/skills/test-skills/script-sync/SKILL.md`)
|
|
400
400
|
|
|
401
401
|
Hash-based TC↔script sync — for each TC in the file:
|
|
402
402
|
- **New TC** (no matching `@tc-hash` in spec): generate Playwright test using MCP (`browser_navigate` → `browser_snapshot` → `browser_generate_locator`). Never fabricate selectors.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/docs/common/AIFLOW.md
CHANGED
|
File without changes
|
package/docs/common/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,72 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.1.5] - 2026-07-01
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Brainstorming Skill Integration** — Injected `superpowers:brainstorming` into Gate 1 of the BA Create Spec workflow, allowing the AI to actively clarify and brainstorm raw requirements from the backlog.
|
|
15
|
+
- **Mandatory `functionId` Check** — Enforced mandatory `functionId` checks at Gate 1 of all BA and QA workflows (e.g., `create-spec-workflow.md`, `create-testcase-workflow.md`). If missing in the ticket or backlog description, the AI stops and prompts the user to input the ID.
|
|
16
|
+
- **`/coding` slash command** — New `.claude/commands/coding.md`, installed alongside `/create-spec` and `/create-testcase`. Manually loads `.aiflow/context/current.json` and starts (or resumes) the `[DEV] 5-Gate Development Workflow` for `bug-fix` / `feature` / `refactor` / `investigation` / `documentation` tickets. Fixes a gap where those task types had no slash-command fallback: they relied solely on the `SessionStart` hook's auto-start message, which does not re-fire if a ticket is loaded with `ak use` while a Claude Code chat session is already open — leaving phrases like `"start"` with no effect since the AI was never given the ticket context. `ak use`'s "Next Steps" hint and the `gate-workflow.md` / `session-start.js` auto-start tips now also mention `/coding` as the manual fallback.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- **Testing Skills Consolidation** — Consolidated all 11 testing/QA skills (previously at the root of `custom/skills/`) into the dedicated subfolder `custom/skills/test-skills/`. The skills moved are: `automation-testing`, `coverage-check`, `evidence-aggregation`, `execute-flow`, `generate-test-report`, `generate-testcase`, `log-bug`, `retest-orchestration`, `script-sync`, `test-analysis`, and `pr-impact-analysis`.
|
|
21
|
+
- **English Kebab-Case Naming Standard** — Standardized all skill filenames in `custom/skills/ba-skills/` and `custom/skills/test-skills/` to use English kebab-case naming conventions.
|
|
22
|
+
- **Output Directory Structure Migration** — Standardized output file templates, specs, and generated artifacts to use the new numbered directory architecture: `02.BA-Specs/`, `03.Testing/`, and `04.Coding/`.
|
|
23
|
+
- **Removed Generic Testing Task Type** — Deprecated and removed the generic "Testing" task type from the CLI task selector (`scripts/use.js`) to enforce usage of the more specialized `testcase` and `execute` workflows.
|
|
24
|
+
- **Reference Resolution** — Updated all hardcoded paths referencing relocated skills and output directories across `AIFLOW.md`, `CHANGELOG.md`, release notes, implementation plans, and gate workflow templates (`custom/templates/shared/gate-workflow.md`).
|
|
25
|
+
- **Test Alignment** — Updated mock directory paths in the Jest test suite (`tests/review.test.js`) to align with the new `02.BA-Specs` directory structure.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## [0.1.4] - 2026-06-29
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- **`spec` task type — 4-Gate BA Workflow (Create Spec)** — New end-to-end spec creation workflow for Business Analysts. Activated when `taskType: "spec"` in context. Orchestrated by the `create-spec` skill across 4 gates:
|
|
34
|
+
- **Gate 1 — Phân tích Yêu cầu Ban đầu**: AI reads ticket, classifies Facts vs Assumptions, identifies Gaps, generates a Q&A list for clarification. BA reviews → `APPROVED`.
|
|
35
|
+
- **Gate 2 — Q&A Loop & Confirm**: AI iterates through each Q&A answer, updates analysis until all items are Confirmed. BA approves full Q&A → `APPROVED`.
|
|
36
|
+
- **Gate 3 — Prototype Design**: AI generates HTML/CSS prototype for the main screens. BA reviews UI flow → `APPROVED`.
|
|
37
|
+
- **Gate 4 — UC Spec hoàn chỉnh**: AI produces a complete UC Spec document (flows, business rules, validations, edge cases). BA reviews → `APPROVED`.
|
|
38
|
+
|
|
39
|
+
- **`testcase` task type — 4-Gate QA Workflow (Create Testcase)** — New structured test case creation workflow for QA engineers. Activated when `taskType: "testcase"` in context. Orchestrated by the `create-testcase` skill across 4 gates:
|
|
40
|
+
- **Gate 1 — Phân tích Yêu cầu & Rủi ro**: AI reads ticket/spec, analyzes scope and risk, reads source code to discover hidden validation rules and business logic. QA reviews → `APPROVED`.
|
|
41
|
+
- **Gate 2 — Xây dựng Scenarios & Checklist**: AI generates checklist grouped by Functional, Non-functional, Data & Integration, Regression. Checks Dev Artifacts (PR diff) via `pr-impact-analysis` skill to add regression TCs. Output: `test-plan/checklist.md`. QA reviews → `APPROVED`.
|
|
42
|
+
- **Gate 3 — Thiết kế Test Case chi tiết**: AI generates full TC table (TC_ID, Steps, Expected Result) using BVA, Equivalence Partitioning, Decision Table, State Transition techniques. Output: `test-plan/test-cases/`. QA reviews → `APPROVED`.
|
|
43
|
+
- **Gate 4 — Review & Tối ưu**: AI reviews coverage, removes duplicates, adds missing edge cases, exports final set to `test-plan/test-cases/final-testcases.md`. QA reviews → `APPROVED`.
|
|
44
|
+
|
|
45
|
+
- **BA Skills Library** (`custom/skills/ba-skills/`) — New collection of BA-specific sub-skills:
|
|
46
|
+
- `skill-ba-phan-tich-ban-dau-v1` — Initial requirement analysis (Facts vs Assumptions, Gap Analysis)
|
|
47
|
+
- `skill-ba-qa-v1` — Q&A generation and confirmation loop
|
|
48
|
+
- `skill-ba-viet-spec-uc-v1` — UC Spec writing with flows, business rules, validations
|
|
49
|
+
- `skill-ba-prototype-v1` — HTML/CSS prototype generation for UI screens
|
|
50
|
+
- `skill-ba-ve-luong-mermaid-v1` — Mermaid flow diagram generation
|
|
51
|
+
- `skill-ba-xay-dung-business-rules-v1` — Business rules extraction and structuring
|
|
52
|
+
|
|
53
|
+
- **Test Skills Library** (`custom/skills/test-skills/`) — New collection of 20+ QA sub-skills organized by category:
|
|
54
|
+
- **Core**: `requirement-analysis`, `risk-analysis`, `test-scenario-builder`, `testcase-review`
|
|
55
|
+
- **Test Design**: `boundary-value-analysis`, `equivalence-partitioning`, `decision-table`, `state-transition`, `pairwise`, `error-guessing`
|
|
56
|
+
- **UI Testing**: `UI-layout`, `form-validation`, `navigation`, `localization`, `accessibility`
|
|
57
|
+
- **Business Testing**: `CRUD-testing`, `workflow-testing`, `permission-testing`, `dependency-validation`, `notification-testing`, `calculation-testing`
|
|
58
|
+
- **Data Testing**: `database-testing`, `import-export-testing`, `data-mapping`, `duplicate-handling`, `migration`
|
|
59
|
+
- **Integration**: `API-testing`, `third-party-integration`, `batch-processing`, `file-upload-download`
|
|
60
|
+
- **Domain Skills**: `CMS`, `Ecommerce`
|
|
61
|
+
- **Review**: `coverage-review`, `knowledge-learning`, `repository-update`, `change-history`
|
|
62
|
+
|
|
63
|
+
- **`gate-review` skill** (`custom/skills/gate-review/SKILL.md`) — New gate review orchestration skill that enforces explicit `APPROVED` at each gate boundary across all workflow types (coding, execute, spec, testcase). Prevents silent gate advancement without QA/BA/DEV sign-off.
|
|
64
|
+
|
|
65
|
+
- **Gate review protocol in Execute Test Flow** — Gates 1, 3, and 4 of the execute-flow now explicitly require QA `APPROVED` before advancing. Gate 2 (Script Sync) is AI-only and advances automatically after sync completes.
|
|
66
|
+
|
|
67
|
+
- **`spec` and `testcase` options in `ak use` type selector** — Both the `promptForTaskType()` shared function and the `manualContext()` flow now include `spec` and `testcase` as selectable types, routing AI to the correct 4-gate workflow.
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- **`aiflow` CLI alias fully deprecated → use `ak`** — All documentation, README, QUICK_START, cli-reference, and guide output updated to use `ak` as the primary command. The `aiflow` command still works but shows a deprecation warning on every invocation.
|
|
72
|
+
- **README restructured** — "Overview Flow" section renamed to "Coding Flow"; Execute Test Flow merged into a single diagram (removed duplicate Vietnamese section); Create Spec Flow and Create Testcase Flow diagrams added.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
10
76
|
## [0.1.3] - 2026-06-18
|
|
11
77
|
|
|
12
78
|
### Added
|
|
@@ -17,11 +83,11 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
17
83
|
- **Gate 3 — Execute & Evidence**: Runs `npx playwright test` and organizes evidence into `ak-test/{repo}/results/{screenId}/run-{N}/` with per-TC folders (screenshots, trace.zip, result.md). Auto-drafts bug files for failed TCs. Supports `RETEST: [TC_ID]` loop.
|
|
18
84
|
- **Gate 4 — Report & Bug Logging**: Generates `testreport.md` with Go/No-Go decision; logs each failed TC to Jira/Backlog one-by-one with interactive confirm per bug.
|
|
19
85
|
|
|
20
|
-
- **`execute-flow` skill** (`custom/skills/execute-flow/SKILL.md`) — 4-gate execute flow orchestrator. Handles 3 entry points: `ak execute TICKET-ID` (ticket with `taskType: "execute"`), `ak execute ./path/to/testcases.md` (direct TC file), and `ak execute` (manual — AI asks for TC file). Output structure: `ak-test/{repo}/scripts/{screenId}/{ScreenID}.spec.ts` for scripts; `ak-test/{repo}/results/{screenId}/run-{N}/` for evidence.
|
|
86
|
+
- **`execute-flow` skill** (`custom/skills/test-skills/execute-flow/SKILL.md`) — 4-gate execute flow orchestrator. Handles 3 entry points: `ak execute TICKET-ID` (ticket with `taskType: "execute"`), `ak execute ./path/to/testcases.md` (direct TC file), and `ak execute` (manual — AI asks for TC file). Output structure: `ak-test/{repo}/scripts/{screenId}/{ScreenID}.spec.ts` for scripts; `ak-test/{repo}/results/{screenId}/run-{N}/` for evidence.
|
|
21
87
|
|
|
22
|
-
- **`script-sync` skill** (`custom/skills/script-sync/SKILL.md`) — Hash-based TC↔Playwright script sync engine. Called from execute-flow Gate 2. Never fabricates selectors — uses MCP browser tools (`browser_navigate` → `browser_snapshot` → `browser_generate_locator`) for any new/changed TC. Produces one `.spec.ts` per screen with all TCs inside, using `screenId` (lowercase) for directory paths and `{ScreenID}.spec.ts` (uppercase) for the filename.
|
|
88
|
+
- **`script-sync` skill** (`custom/skills/test-skills/script-sync/SKILL.md`) — Hash-based TC↔Playwright script sync engine. Called from execute-flow Gate 2. Never fabricates selectors — uses MCP browser tools (`browser_navigate` → `browser_snapshot` → `browser_generate_locator`) for any new/changed TC. Produces one `.spec.ts` per screen with all TCs inside, using `screenId` (lowercase) for directory paths and `{ScreenID}.spec.ts` (uppercase) for the filename.
|
|
23
89
|
|
|
24
|
-
- **`playwright.config.ts` template** for execute-flow (`custom/skills/execute-flow/templates/playwright.config.ts`) — Default config for each `ak-test/{repo}` repo with HTML + JSON reporters, screenshot-on-failure, and trace-on-failure. AI offers to scaffold this file during Gate 1 pre-flight if it doesn't exist.
|
|
90
|
+
- **`playwright.config.ts` template** for execute-flow (`custom/skills/test-skills/execute-flow/templates/playwright.config.ts`) — Default config for each `ak-test/{repo}` repo with HTML + JSON reporters, screenshot-on-failure, and trace-on-failure. AI offers to scaffold this file during Gate 1 pre-flight if it doesn't exist.
|
|
25
91
|
|
|
26
92
|
- **`execute` entry in `gate-workflow.md` Workflow Selection table** — `gate-workflow.md` (single source of truth for all AI agent instruction files) now routes `taskType: "execute"` to the `[EXECUTE] Executing Flow` section. Distributed to all agents (Claude, Gemini, Cursor, Copilot) via `ak init` / `ak up`.
|
|
27
93
|
|
|
@@ -29,17 +95,17 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
29
95
|
|
|
30
96
|
- **`ak execute` command** (`ak ex` alias) — New top-level CLI entry point that bypasses `ak use`. Accepts a ticket ID, a TC file path, or no argument (AI asks interactively). Documented in README, QUICK_START, cli-reference, and `ak guide --commands`.
|
|
31
97
|
|
|
32
|
-
- **`test-analysis` skill** (`custom/skills/test-analysis/SKILL.md`) — Gate 1 analysis skill for the [TESTER] workflow. Reads ticket context, fetches linked docs, analyzes scope and risk, asks clarifying questions one at a time, and writes `test-plan/test-analysis.md`.
|
|
98
|
+
- **`test-analysis` skill** (`custom/skills/test-skills/test-analysis/SKILL.md`) — Gate 1 analysis skill for the [TESTER] workflow. Reads ticket context, fetches linked docs, analyzes scope and risk, asks clarifying questions one at a time, and writes `test-plan/test-analysis.md`.
|
|
33
99
|
|
|
34
|
-
- **`coverage-check` skill** (`custom/skills/coverage-check/SKILL.md`) — Gate 2d skill that applies review action items, generates a requirement→TC coverage matrix, exports the final test case set to `test-plan/test-cases/final-testcases.md`, and invokes `automation-testing` to generate Playwright scripts.
|
|
100
|
+
- **`coverage-check` skill** (`custom/skills/test-skills/coverage-check/SKILL.md`) — Gate 2d skill that applies review action items, generates a requirement→TC coverage matrix, exports the final test case set to `test-plan/test-cases/final-testcases.md`, and invokes `automation-testing` to generate Playwright scripts.
|
|
35
101
|
|
|
36
|
-
- **`evidence-aggregation` skill** (`custom/skills/evidence-aggregation/SKILL.md`) — Parses `test-results/results.json`, organizes screenshots and traces into `evidence/TC_[ID]-[scenario]/` folders, generates per-TC `result.md`, and auto-drafts `bugs/BUG-NNN-*.md` for failed TCs.
|
|
102
|
+
- **`evidence-aggregation` skill** (`custom/skills/test-skills/evidence-aggregation/SKILL.md`) — Parses `test-results/results.json`, organizes screenshots and traces into `evidence/TC_[ID]-[scenario]/` folders, generates per-TC `result.md`, and auto-drafts `bugs/BUG-NNN-*.md` for failed TCs.
|
|
37
103
|
|
|
38
|
-
- **`retest-orchestration` skill** (`custom/skills/retest-orchestration/SKILL.md`) — Handles the `RETEST: [TC_ID]` loop in Gate 3. Re-runs dev artifacts check (detect new commits), re-executes only specified TCs, creates `run-N/` subfolders (never deletes prior evidence), and updates bug status.
|
|
104
|
+
- **`retest-orchestration` skill** (`custom/skills/test-skills/retest-orchestration/SKILL.md`) — Handles the `RETEST: [TC_ID]` loop in Gate 3. Re-runs dev artifacts check (detect new commits), re-executes only specified TCs, creates `run-N/` subfolders (never deletes prior evidence), and updates bug status.
|
|
39
105
|
|
|
40
|
-
- **`pr-impact-analysis` skill** (`custom/skills/pr-impact-analysis/SKILL.md`) — Checks for new commits/PRs between gates to ensure TC coverage stays current with dev changes.
|
|
106
|
+
- **`pr-impact-analysis` skill** (`custom/skills/test-skills/pr-impact-analysis/SKILL.md`) — Checks for new commits/PRs between gates to ensure TC coverage stays current with dev changes.
|
|
41
107
|
|
|
42
|
-
- **`log-bug` skill** (`custom/skills/log-bug/SKILL.md`) — Logs a failed TC as a bug ticket in Jira/Backlog with structured fields (severity, steps, expected/actual, evidence link).
|
|
108
|
+
- **`log-bug` skill** (`custom/skills/test-skills/log-bug/SKILL.md`) — Logs a failed TC as a bug ticket in Jira/Backlog with structured fields (severity, steps, expected/actual, evidence link).
|
|
43
109
|
|
|
44
110
|
- **Playwright harness scaffold** — `ak scaffold playwright` (via `scripts/scaffold-playwright.js`) creates the `ak-test/{repo}/` directory structure with `playwright.config.ts`, `tests/e2e/fixtures/test.ts`, `tests/e2e/pages/BasePage.ts`, `tests/e2e/support/auth.ts`, and `.env.example`. Covered by 90-line Jest test suite in `tests/scaffold-playwright.test.js`.
|
|
45
111
|
|
|
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
|
package/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/scripts/checkpoint.js
CHANGED
|
File without changes
|
package/scripts/config.js
CHANGED
|
File without changes
|
package/scripts/context.js
CHANGED
|
File without changes
|