@relipa/ai-flow-kit 0.1.4 → 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 +0 -0
- 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 +0 -0
- 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 +0 -0
- 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 -0
- package/custom/skills/generate-testcase/templates/testcase.md +0 -0
- 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 -0
- 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} +0 -0
- 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 -89
- 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 +28 -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 +0 -0
- 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,53 +13,53 @@ Các skill sau đây được cài tự động vào `.claude/skills/ba-skills/`
|
|
|
13
13
|
|
|
14
14
|
| Skill | File |
|
|
15
15
|
|---|---|
|
|
16
|
-
| `skill-ba-phan-tich-ban-dau` | `.claude/skills/ba-skills/skill-ba-
|
|
17
|
-
| `skill-ba-qa` | `.claude/skills/ba-skills/skill-ba-
|
|
18
|
-
| `skill-ba-prototype` | `.claude/skills/ba-skills/skill-ba-prototype-v1.md` |
|
|
19
|
-
| `skill-ba-ve-luong-mermaid` | `.claude/skills/ba-skills/skill-ba-
|
|
20
|
-
| `skill-ba-xay-dung-business-rules` | `.claude/skills/ba-skills/skill-ba-
|
|
21
|
-
| `skill-ba-viet-spec-uc` | `.claude/skills/ba-skills/skill-ba-
|
|
22
|
-
| `template-phan-tich-ban-dau` | `.claude/skills/ba-skills/skill-ba-
|
|
23
|
-
| `template-qa` | `.claude/skills/ba-skills/skill-ba-
|
|
24
|
-
| `template-uc` | `.claude/skills/ba-skills/skill-ba-template-
|
|
16
|
+
| `skill-ba-phan-tich-ban-dau` | `.claude/skills/ba-skills/skill-ba-initial-analysis-v1.md` |
|
|
17
|
+
| `skill-ba-qa` | `.claude/skills/ba-skills/skill-ba-qna-v1.md` |
|
|
18
|
+
| `skill-ba-prototype` | `.claude/skills/ba-skills/skill-ba-ui-prototype-v1.md` |
|
|
19
|
+
| `skill-ba-ve-luong-mermaid` | `.claude/skills/ba-skills/skill-ba-mermaid-flowchart-v1.md` |
|
|
20
|
+
| `skill-ba-xay-dung-business-rules` | `.claude/skills/ba-skills/skill-ba-build-business-rules-v1.md` |
|
|
21
|
+
| `skill-ba-viet-spec-uc` | `.claude/skills/ba-skills/skill-ba-write-uc-spec-v1.md` |
|
|
22
|
+
| `template-phan-tich-ban-dau` | `.claude/skills/ba-skills/skill-ba-initial-analysis-template-v1.md` |
|
|
23
|
+
| `template-qa` | `.claude/skills/ba-skills/skill-ba-qna-template-v1.md` |
|
|
24
|
+
| `template-uc` | `.claude/skills/ba-skills/skill-ba-uc-template-v1.md` |
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
28
|
### Cấu trúc thư mục đầu ra
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
|
|
32
|
-
├──
|
|
33
|
-
│ ├── [functionId]
|
|
34
|
-
│ └── [functionId]
|
|
35
|
-
├──
|
|
36
|
-
│ ├── [functionId]
|
|
37
|
-
│ └── [functionId]
|
|
38
|
-
├──
|
|
39
|
-
│ └── [functionId]
|
|
40
|
-
└── UC/
|
|
41
|
-
└── [functionId]
|
|
31
|
+
02.BA-Specs/
|
|
32
|
+
├── 01.Analysis/
|
|
33
|
+
│ ├── [functionId]/Analysis_v1.md ← Gate 1 tạo
|
|
34
|
+
│ └── [functionId]/Analysis_vn.md ← Gate 2 cập nhật (tăng version)
|
|
35
|
+
├── 02.QnA/
|
|
36
|
+
│ ├── [functionId]/QnA-Log_v1.md ← Gate 1 tạo
|
|
37
|
+
│ └── [functionId]/QnA-Log_vm.md ← Gate 2 tạo thêm nếu còn Open
|
|
38
|
+
├── 03.UI-Prototypes/
|
|
39
|
+
│ └── [functionId]/UI-Prototype_v1.html← Gate 3 tạo
|
|
40
|
+
└── 04.UC-Specs/
|
|
41
|
+
└── [functionId]/UC-Spec_v1.md ← Gate 4 tạo
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Ví dụ: `functionId = AD10
|
|
44
|
+
Ví dụ: `functionId = AD10` → thư mục gốc là `02.BA-Specs/`
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
48
48
|
### Quy trình tổng quan 4 Gates
|
|
49
49
|
|
|
50
50
|
```
|
|
51
|
-
(
|
|
51
|
+
(BA-Specs/ = 02.BA-Specs/ — viết tắt cho ngắn gọn)
|
|
52
52
|
|
|
53
|
-
[Input: Jira / Backlog / file] → Pre-flight: xác định functionId
|
|
53
|
+
[Input: Jira / Backlog / file] → Pre-flight: BẮT BUỘC xác định functionId
|
|
54
54
|
↓
|
|
55
|
-
Gate 1: Phân tích yêu cầu & Tạo Q&A →
|
|
55
|
+
Gate 1: Phân tích yêu cầu & Tạo Q&A → BA-Specs/01.Analysis/ + BA-Specs/02.QnA/
|
|
56
56
|
↓ APPROVED
|
|
57
57
|
Gate 2: Cập nhật phản hồi Q&A ←─────────────────────────────────────────┐
|
|
58
|
-
↓ còn Open → tạo
|
|
58
|
+
↓ còn Open → tạo QnA-Log_v(m+1) → đợi BA phản hồi → lặp lại ────────┘
|
|
59
59
|
↓ tất cả Confirmed + APPROVED
|
|
60
|
-
Gate 3: Thiết kế UI Prototype HTML/CSS →
|
|
60
|
+
Gate 3: Thiết kế UI Prototype HTML/CSS → BA-Specs/03.UI-Prototypes/
|
|
61
61
|
↓ APPROVED
|
|
62
|
-
Gate 4: Viết đặc tả Use Case Spec →
|
|
62
|
+
Gate 4: Viết đặc tả Use Case Spec → BA-Specs/04.UC-Specs/
|
|
63
63
|
↓ APPROVED
|
|
64
64
|
Bàn giao Dev/Test
|
|
65
65
|
```
|
|
@@ -71,55 +71,46 @@ Bàn giao Dev/Test
|
|
|
71
71
|
**Mục tiêu:** Tiếp nhận đầu vào, hiểu nghiệp vụ, phát hiện khoảng trống (Gaps), lập bản phân tích sơ bộ và danh sách Q&A.
|
|
72
72
|
|
|
73
73
|
**Đầu ra (Outputs):**
|
|
74
|
-
- `
|
|
75
|
-
- `
|
|
74
|
+
- `02.BA-Specs/01.Analysis/[functionId]/Analysis_v1.md`
|
|
75
|
+
- `02.BA-Specs/02.QnA/[functionId]/QnA-Log_v1.md`
|
|
76
76
|
|
|
77
77
|
**Bước thực hiện:**
|
|
78
78
|
|
|
79
79
|
#### Bước 0: Pre-flight — Xác định functionId và thư mục đầu ra
|
|
80
80
|
|
|
81
|
-
**Xác định `functionId
|
|
81
|
+
**Xác định `functionId` (BẮT BUỘC):**
|
|
82
82
|
|
|
83
83
|
Kiểm tra theo thứ tự ưu tiên:
|
|
84
84
|
1. Trường `functionId` hoặc `screenId` trong `.aiflow/context/current.json`
|
|
85
85
|
2. Rút gọn từ `ticketId` — bỏ dấu gạch, giữ ký hiệu (ví dụ: `AD-10` → `AD10`)
|
|
86
|
-
3. Nếu không tìm thấy → **hỏi BA ngay**:
|
|
86
|
+
3. Nếu không tìm thấy → **BẮT BUỘC hỏi BA ngay**:
|
|
87
87
|
|
|
88
88
|
```
|
|
89
89
|
Không tìm thấy functionId trong context.
|
|
90
90
|
Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD10, UC-LOGIN, PM-003):
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
→ Đợi BA trả lời, ghi nhận giá trị, dùng cho toàn bộ workflow.
|
|
93
|
+
→ Đợi BA 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.
|
|
94
94
|
|
|
95
|
-
**Xác định
|
|
95
|
+
**Xác định thư mục đầu ra:**
|
|
96
96
|
|
|
97
|
-
1.
|
|
98
|
-
- Trường `project` trong `.aiflow/context/current.json`
|
|
99
|
-
- Tên thư mục gốc workspace (chuyển lowercase, thay space bằng `-`)
|
|
100
|
-
|
|
101
|
-
2. Kiểm tra tồn tại thư mục `docs/ak-{project}/spec/` trong root dự án:
|
|
97
|
+
1. Kiểm tra tồn tại thư mục `02.BA-Specs/` trong root dự án:
|
|
102
98
|
- **Tìm thấy** → thông báo xác nhận:
|
|
103
99
|
```
|
|
104
|
-
✓ Thư mục đầu ra:
|
|
100
|
+
✓ Thư mục đầu ra: 02.BA-Specs/
|
|
105
101
|
✓ functionId: [functionId]
|
|
106
102
|
→ Bắt đầu Gate 1...
|
|
107
103
|
```
|
|
108
|
-
- **Không tìm thấy** →
|
|
109
|
-
```
|
|
110
|
-
Không tìm thấy thư mục docs/ak-{project}/spec/.
|
|
111
|
-
Tên project là gì? (ví dụ: coinbook, crm-app)
|
|
112
|
-
```
|
|
113
|
-
→ Nhận tên project từ BA → chuyển lowercase → tạo toàn bộ cây thư mục:
|
|
104
|
+
- **Không tìm thấy** → tạo toàn bộ cây thư mục:
|
|
114
105
|
```
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
106
|
+
02.BA-Specs/01.Analysis/
|
|
107
|
+
02.BA-Specs/02.QnA/
|
|
108
|
+
02.BA-Specs/03.UI-Prototypes/
|
|
109
|
+
02.BA-Specs/04.UC-Specs/
|
|
119
110
|
```
|
|
120
111
|
→ Thông báo:
|
|
121
112
|
```
|
|
122
|
-
✓ Đã tạo thư mục:
|
|
113
|
+
✓ Đã tạo thư mục: 02.BA-Specs/
|
|
123
114
|
✓ functionId: [functionId]
|
|
124
115
|
→ Bắt đầu Gate 1...
|
|
125
116
|
```
|
|
@@ -129,6 +120,7 @@ Vui lòng cung cấp mã định danh cho chức năng này (ví dụ: AD10, UC-
|
|
|
129
120
|
- Nếu description có URL → chạy `ak fetch-links <url>` để tải nội dung
|
|
130
121
|
- Nếu có `supplementaryContext[]` → đọc từng item (file đính kèm, ticket liên quan, comment PM)
|
|
131
122
|
- Nếu có file yêu cầu thô được chỉ định → đọc file đó
|
|
123
|
+
- **READ skill:** `.superpowers/skills/brainstorming/SKILL.md` (hoặc `brainstorming` skill) để chủ động làm rõ các yêu cầu thô, khơi gợi ý tưởng trước khi phân tích.
|
|
132
124
|
|
|
133
125
|
#### Bước 1b: Đọc Source Code
|
|
134
126
|
|
|
@@ -160,25 +152,25 @@ Nếu workspace mở dạng parent folder chứa cả `ak docs` lẫn source cod
|
|
|
160
152
|
- Nếu có điểm mơ hồ cốt yếu → hỏi ONE câu làm rõ, đợi BA trả lời trước khi tiếp tục
|
|
161
153
|
|
|
162
154
|
#### Bước 3: Soạn thảo Kết quả phân tích sơ bộ
|
|
163
|
-
- **READ template:** `.claude/skills/ba-skills/skill-ba-
|
|
155
|
+
- **READ template:** `.claude/skills/ba-skills/skill-ba-initial-analysis-template-v1.md`
|
|
164
156
|
- Điền đầy đủ các mục theo template: Actors, Facts, Assumptions, Gap Analysis table
|
|
165
|
-
- Lưu: `
|
|
157
|
+
- Lưu: `02.BA-Specs/01.Analysis/[functionId]/Analysis_v1.md`
|
|
166
158
|
|
|
167
159
|
#### Bước 4: Soạn thảo danh sách Q&A
|
|
168
|
-
- **READ skill:** `.claude/skills/ba-skills/skill-ba-
|
|
169
|
-
- **READ template:** `.claude/skills/ba-skills/skill-ba-
|
|
160
|
+
- **READ skill:** `.claude/skills/ba-skills/skill-ba-qna-v1.md`
|
|
161
|
+
- **READ template:** `.claude/skills/ba-skills/skill-ba-qna-template-v1.md`
|
|
170
162
|
- Chuyển từng Gap thành câu hỏi cụ thể, khách quan, không định hướng
|
|
171
163
|
- Mỗi câu hỏi tương ứng với ít nhất một Gap. Trạng thái ban đầu: **Open**
|
|
172
|
-
- Lưu: `
|
|
164
|
+
- Lưu: `02.BA-Specs/02.QnA/[functionId]/QnA-Log_v1.md`
|
|
173
165
|
|
|
174
166
|
#### Bước 5: Gate Review & Pause
|
|
175
167
|
- **INVOKE** `gate-review` skill (generate mode) — ghi `.aiflow/review/gate-1-[functionId].md`
|
|
176
|
-
- **Kiểm tra Q&A bắt buộc:** Đọc `
|
|
168
|
+
- **Kiểm tra Q&A bắt buộc:** Đọc `QnA-Log_v1.md` — đếm số câu có trạng thái **Open**
|
|
177
169
|
- Hiển thị gate pause message — chờ phản hồi từ BA
|
|
178
170
|
|
|
179
|
-
**Nếu nhận được APPROVED mà
|
|
171
|
+
**Nếu nhận được APPROVED mà QnA-Log_v1.md còn câu hỏi Open → từ chối ngay, hiển thị:**
|
|
180
172
|
|
|
181
|
-
⛔ GATE 1 BLOCKED — Còn [N] câu hỏi chưa được trả lời trong
|
|
173
|
+
⛔ GATE 1 BLOCKED — Còn [N] câu hỏi chưa được trả lời trong QnA-Log_v1.md.
|
|
182
174
|
|
|
183
175
|
| ID | Câu hỏi còn Open |
|
|
184
176
|
|----|-----------------|
|
|
@@ -187,7 +179,7 @@ Nếu workspace mở dạng parent folder chứa cả `ak docs` lẫn source cod
|
|
|
187
179
|
Vui lòng cung cấp câu trả lời theo một trong 3 cách:
|
|
188
180
|
→ Option A: nhập trực tiếp — `Q1: [trả lời], Q2: [trả lời]`
|
|
189
181
|
→ Option B: paste nội dung bảng Q&A đã điền vào chat
|
|
190
|
-
→ Option C: đặt file `
|
|
182
|
+
→ Option C: đặt file `QnA-Log_v1_response.md` vào thư mục `02.QnA/[functionId]/` rồi gõ NEXT
|
|
191
183
|
|
|
192
184
|
❌ APPROVED không được chấp nhận cho đến khi 100% câu hỏi đã Confirmed.
|
|
193
185
|
|
|
@@ -197,9 +189,9 @@ Vui lòng cung cấp câu trả lời theo một trong 3 cách:
|
|
|
197
189
|
→ Nếu blocked: làm theo gate-review skill response protocol
|
|
198
190
|
|
|
199
191
|
**Definition of Done:**
|
|
200
|
-
- [ ] `functionId`
|
|
201
|
-
- [ ] File `
|
|
202
|
-
- [ ] File `
|
|
192
|
+
- [ ] `functionId` đã được xác định và thư mục đầu ra đã sẵn sàng
|
|
193
|
+
- [ ] File `Analysis_v1.md` tạo đúng vị trí, cấu trúc đúng template, có bảng Gap Analysis
|
|
194
|
+
- [ ] File `QnA-Log_v1.md` có ít nhất 1 câu hỏi cho mỗi Gap, tất cả trạng thái **Open**
|
|
203
195
|
- [ ] Không có giả định nào được tự ý chốt thành Spec mà không đưa vào Q&A
|
|
204
196
|
|
|
205
197
|
> **Telemetry:** Run `ak gate 1 start --ticket [functionId]` khi bắt đầu gate này.
|
|
@@ -213,33 +205,32 @@ Vui lòng cung cấp câu trả lời theo một trong 3 cách:
|
|
|
213
205
|
|
|
214
206
|
**Đầu vào (Inputs):**
|
|
215
207
|
- Phản hồi Q&A từ BA (xem 3 option bên dưới)
|
|
216
|
-
- `
|
|
217
|
-
- `
|
|
208
|
+
- `02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n).md` — phiên bản hiện tại
|
|
209
|
+
- `02.BA-Specs/02.QnA/[functionId]/QnA-Log_v(m).md` — danh sách câu hỏi hiện tại
|
|
218
210
|
|
|
219
211
|
**Cách BA cung cấp phản hồi (BA chọn một trong 3):**
|
|
220
212
|
- **Option A** — Nhập trực tiếp vào chat: `Q&A: Q1: [trả lời], Q2: [trả lời]`
|
|
221
213
|
- **Option B** — Paste nội dung bảng Q&A đã điền vào chat
|
|
222
|
-
- **Option C** — Đặt file tại: `
|
|
214
|
+
- **Option C** — Đặt file tại: `02.BA-Specs/02.QnA/[functionId]/QnA-Log_v(m)_response.md`
|
|
223
215
|
|
|
224
216
|
**Bước thực hiện:**
|
|
225
217
|
|
|
226
218
|
#### Bước 1: Tiếp nhận và đánh giá câu trả lời
|
|
227
|
-
-
|
|
228
|
-
- Đối chiếu từng câu trả lời với câu hỏi trong `QA(m).md`
|
|
219
|
+
- Đối chiếu từng câu trả lời với câu hỏi trong `QnA-Log_v(m).md`
|
|
229
220
|
- Phân loại:
|
|
230
221
|
- Đủ thông tin → cập nhật trạng thái: **Confirmed**
|
|
231
222
|
- Chưa rõ hoặc phát sinh nghiệp vụ mới → giữ trạng thái **Open**, bổ sung ghi chú
|
|
232
223
|
|
|
233
224
|
#### Bước 2: Tích hợp thông tin vào tài liệu phân tích
|
|
234
|
-
- Lấy thông tin từ các câu Confirmed → cập nhật vào `
|
|
225
|
+
- Lấy thông tin từ các câu Confirmed → cập nhật vào `Analysis_v(n).md`
|
|
235
226
|
- Xóa các Gap đã được giải quyết khỏi bảng Gap Analysis
|
|
236
|
-
- Tạo phiên bản mới: `
|
|
227
|
+
- Tạo phiên bản mới: `02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n+1).md`
|
|
237
228
|
|
|
238
229
|
#### Bước 3: Rẽ nhánh theo trạng thái Q&A
|
|
239
230
|
|
|
240
231
|
**Kịch bản A — Vẫn còn câu hỏi Open:**
|
|
241
|
-
1.
|
|
242
|
-
2. Tạo: `
|
|
232
|
+
1. Kiểm tra `Analysis_v(n+1).md` có phát sinh Gap mới không
|
|
233
|
+
2. Tạo: `02.BA-Specs/02.QnA/[functionId]/QnA-Log_v(m+1).md` — chỉ giữ câu Open và câu mới phát sinh
|
|
243
234
|
3. **INVOKE** `gate-review` skill (generate mode) — ghi `.aiflow/review/gate-2-[functionId]-round-[m+1].md`
|
|
244
235
|
4. Hiển thị:
|
|
245
236
|
|
|
@@ -247,8 +238,8 @@ Vui lòng cung cấp câu trả lời theo một trong 3 cách:
|
|
|
247
238
|
⏸️ GATE 2 — VÒNG Q&A [m+1]
|
|
248
239
|
|
|
249
240
|
Câu hỏi còn Open: [N]
|
|
250
|
-
File Q&A mới: [
|
|
251
|
-
File phân tích: [
|
|
241
|
+
File Q&A mới: [02.BA-Specs/02.QnA/[functionId]/QnA-Log_v(m+1).md](02.BA-Specs/02.QnA/[functionId]/QnA-Log_v(m+1).md)
|
|
242
|
+
File phân tích: [02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n+1).md](02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n+1).md)
|
|
252
243
|
|
|
253
244
|
→ BA điền câu trả lời và cung cấp theo một trong 3 option (A/B/C)
|
|
254
245
|
→ Sau khi cung cấp phản hồi, type NEXT để AI xử lý vòng tiếp theo
|
|
@@ -294,10 +285,10 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
294
285
|
**Điều kiện vào Gate 3:** Tất cả Q&A đã **Confirmed** và Gate 2 đã **APPROVED**.
|
|
295
286
|
|
|
296
287
|
**Đầu vào (Inputs):**
|
|
297
|
-
- `
|
|
288
|
+
- `02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n).md` — phiên bản cuối
|
|
298
289
|
|
|
299
290
|
**Đầu ra (Outputs):**
|
|
300
|
-
- `
|
|
291
|
+
- `02.BA-Specs/03.UI-Prototypes/[functionId]/UI-Prototype_v1.html`
|
|
301
292
|
|
|
302
293
|
**Bước thực hiện:**
|
|
303
294
|
|
|
@@ -317,7 +308,7 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
317
308
|
- CSS nổi bật lỗi (chữ đỏ, viền đỏ), mặc định ẩn (`display: none`)
|
|
318
309
|
|
|
319
310
|
#### Bước 4: Lưu file
|
|
320
|
-
- `
|
|
311
|
+
- `02.BA-Specs/03.UI-Prototypes/[functionId]/UI-Prototype_v1.html`
|
|
321
312
|
|
|
322
313
|
#### Bước 5: Gate Review & Pause
|
|
323
314
|
- **INVOKE** `gate-review` skill (generate mode) — ghi `.aiflow/review/gate-3-[functionId].md`
|
|
@@ -329,7 +320,7 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
329
320
|
→ Nếu blocked: làm theo gate-review skill response protocol
|
|
330
321
|
|
|
331
322
|
**Definition of Done:**
|
|
332
|
-
- [ ] File `
|
|
323
|
+
- [ ] File `UI-Prototype_v1.html` tạo đúng vị trí
|
|
333
324
|
- [ ] Giao diện hiển thị đủ tất cả thành phần nghiệp vụ
|
|
334
325
|
- [ ] 100% thẻ tương tác có `id` duy nhất
|
|
335
326
|
- [ ] CSS tự chứa trong file HTML
|
|
@@ -346,18 +337,18 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
346
337
|
**Điều kiện vào Gate 4:** Gate 3 đã **APPROVED** và `design.html` đã hoàn chỉnh.
|
|
347
338
|
|
|
348
339
|
**Đầu vào (Inputs):**
|
|
349
|
-
- `
|
|
350
|
-
- `
|
|
340
|
+
- `02.BA-Specs/01.Analysis/[functionId]/Analysis_v(n).md` — phiên bản cuối
|
|
341
|
+
- `02.BA-Specs/03.UI-Prototypes/[functionId]/UI-Prototype_v1.html`
|
|
351
342
|
|
|
352
343
|
**Đầu ra (Outputs):**
|
|
353
|
-
- `
|
|
344
|
+
- `02.BA-Specs/04.UC-Specs/[functionId]/UC-Spec_v1.md`
|
|
354
345
|
|
|
355
346
|
**Bước thực hiện:**
|
|
356
347
|
|
|
357
348
|
#### Bước 1: Khởi tạo Spec từ Template
|
|
358
|
-
- **READ template:** `.claude/skills/ba-skills/skill-ba-template-
|
|
359
|
-
- **READ skill:** `.claude/skills/ba-skills/skill-ba-
|
|
360
|
-
- Tạo: `
|
|
349
|
+
- **READ template:** `.claude/skills/ba-skills/skill-ba-uc-template-v1.md`
|
|
350
|
+
- **READ skill:** `.claude/skills/ba-skills/skill-ba-write-uc-spec-v1.md`
|
|
351
|
+
- Tạo: `02.BA-Specs/04.UC-Specs/[functionId]/UC-Spec_v1.md`
|
|
361
352
|
- Điền General Information: Use Case ID, Title, Version, Actors, Preconditions, Postconditions
|
|
362
353
|
|
|
363
354
|
#### Bước 2: Mô tả luồng sự kiện (Flow of Events)
|
|
@@ -367,7 +358,7 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
367
358
|
- Viết rõ tương tác Actor ↔ System ở từng bước
|
|
368
359
|
|
|
369
360
|
#### Bước 3: Tích hợp giao diện Prototype
|
|
370
|
-
- Copy toàn bộ mã HTML/CSS từ `
|
|
361
|
+
- Copy toàn bộ mã HTML/CSS từ `UI-Prototype_v1.html` vào phần Screen Description
|
|
371
362
|
|
|
372
363
|
#### Bước 4: Mô tả chi tiết UI Components
|
|
373
364
|
- Lập bảng: Tên | Loại | Bắt buộc | Độ dài tối đa | Giá trị mặc định | Ràng buộc validation
|
|
@@ -399,7 +390,7 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
399
390
|
- BA gõ `REVISION: [nội dung]` → cập nhật section liên quan → re-generate review file → hiển thị lại gate pause
|
|
400
391
|
|
|
401
392
|
**Definition of Done:**
|
|
402
|
-
- [ ] File `
|
|
393
|
+
- [ ] File `UC-Spec_v1.md` đúng vị trí và cấu trúc template
|
|
403
394
|
- [ ] 100% element HTML được mô tả trong bảng UI Components (id, loại, ràng buộc)
|
|
404
395
|
- [ ] Mã Mermaid hợp lệ, thể hiện đủ Main/Alternative/Exception Flow
|
|
405
396
|
- [ ] Business Rules đầy đủ với mã `[BR-NNN]` và thông báo lỗi chính xác
|
|
@@ -414,10 +405,10 @@ File phân tích: [docs/ak-{project}/spec/phan-tich/[functionId]_phan-tich(n+1
|
|
|
414
405
|
|
|
415
406
|
| Gate | Skills đọc | Output |
|
|
416
407
|
|---|---|---|
|
|
417
|
-
| Gate 1 | `skill-ba-
|
|
418
|
-
| Gate 2 | `skill-ba-
|
|
419
|
-
| Gate 3 | `skill-ba-prototype` | `
|
|
420
|
-
| Gate 4 | `skill-ba-
|
|
408
|
+
| Gate 1 | `brainstorming`, `skill-ba-initial-analysis`, `skill-ba-initial-analysis-template`, `skill-ba-qna`, `skill-ba-qna-template` | `Analysis_v1.md`, `QnA-Log_v1.md` |
|
|
409
|
+
| Gate 2 | `skill-ba-qna`, `skill-ba-initial-analysis` | `Analysis_v(n+1).md`, `QnA-Log_v(m+1).md` (nếu còn Open) |
|
|
410
|
+
| Gate 3 | `skill-ba-ui-prototype` | `UI-Prototype_v1.html` |
|
|
411
|
+
| Gate 4 | `skill-ba-write-uc-spec`, `skill-ba-uc-template`, `skill-ba-mermaid-flowchart`, `skill-ba-build-business-rules` | `UC-Spec_v1.md` |
|
|
421
412
|
|
|
422
413
|
---
|
|
423
414
|
|