ai-developer-skill-os 9.3.0 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/.agents/AGENTS.md +60 -40
  2. package/.agents/DEV_PROFILE.md +36 -2
  3. package/.agents/registry/graph.json +95 -342
  4. package/.agents/registry/index.yaml +61 -237
  5. package/.agents/rules/coding.md +30 -12
  6. package/.agents/rules/command-safety.md +19 -8
  7. package/.agents/rules/global.md +234 -28
  8. package/.agents/rules/prompt-compiler.md +170 -0
  9. package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
  10. package/.agents/skills/qk-backend-data/SKILL.md +190 -0
  11. package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
  12. package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
  13. package/.agents/skills/qk-code-review/SKILL.md +126 -247
  14. package/.agents/skills/qk-devops-release/SKILL.md +145 -0
  15. package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
  16. package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
  17. package/.agents/skills/qk-product-spec/SKILL.md +113 -0
  18. package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
  19. package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
  20. package/.agents/workflows/feature-delivery.yml +1 -1
  21. package/.agents/workflows/production-release.yml +1 -1
  22. package/.agents/workflows/spec-driven-development.yml +109 -87
  23. package/CHANGELOG.md +54 -0
  24. package/README.md +125 -184
  25. package/bin/install.js +337 -329
  26. package/package.json +2 -2
  27. package/.agents/README.md +0 -90
  28. package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
  29. package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
  30. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
  31. package/.agents/docs/MIGRATION-STATUS.md +0 -35
  32. package/.agents/docs/MIGRATION-V8.md +0 -10
  33. package/.agents/docs/ROADMAP-V8.2.md +0 -78
  34. package/.agents/docs/V8-CERTIFICATION.md +0 -27
  35. package/.agents/skills/qk-access-policy/SKILL.md +0 -206
  36. package/.agents/skills/qk-access-policy/capability.yaml +0 -23
  37. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
  38. package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
  39. package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
  40. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
  41. package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
  42. package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
  43. package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
  44. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
  45. package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
  46. package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
  47. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
  48. package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
  49. package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
  50. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
  51. package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
  52. package/.agents/skills/qk-code-review/capability.yaml +0 -23
  53. package/.agents/skills/qk-context-loader/SKILL.md +0 -198
  54. package/.agents/skills/qk-context-loader/capability.yaml +0 -23
  55. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
  56. package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
  57. package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
  58. package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
  59. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
  60. package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
  61. package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
  62. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
  63. package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
  64. package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
  65. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
  66. package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
  67. package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
  68. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
  69. package/.agents/skills/qk-docs/SKILL.md +0 -193
  70. package/.agents/skills/qk-docs/capability.yaml +0 -23
  71. package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
  72. package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
  73. package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
  74. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
  75. package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
  76. package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
  77. package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
  78. package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
  79. package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
  80. package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
  81. package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
  82. package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
  83. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
  84. package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
  85. package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
  86. package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
  87. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
  88. package/.agents/skills/qk-help/SKILL.md +0 -107
  89. package/.agents/skills/qk-help/capability.yaml +0 -20
  90. package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
  91. package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
  92. package/.agents/skills/qk-product-specification/SKILL.md +0 -187
  93. package/.agents/skills/qk-product-specification/capability.yaml +0 -27
  94. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
  95. package/.agents/skills/qk-production-release/SKILL.md +0 -188
  96. package/.agents/skills/qk-production-release/capability.yaml +0 -27
  97. package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
  98. package/.agents/skills/qk-project-audit/SKILL.md +0 -174
  99. package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
  100. package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
  101. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
  102. package/.agents/skills/qk-project-health/SKILL.md +0 -202
  103. package/.agents/skills/qk-project-health/capability.yaml +0 -23
  104. package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
  105. package/.agents/skills/qk-project-memory/SKILL.md +0 -303
  106. package/.agents/skills/qk-project-memory/capability.yaml +0 -23
  107. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
  108. package/.agents/skills/qk-refactor/SKILL.md +0 -243
  109. package/.agents/skills/qk-refactor/capability.yaml +0 -26
  110. package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
  111. package/.agents/skills/qk-security-audit/SKILL.md +0 -280
  112. package/.agents/skills/qk-security-audit/capability.yaml +0 -29
  113. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
  114. package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
  115. package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
  116. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
  117. package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
  118. package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
  119. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
  120. package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
  121. package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
  122. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
  123. package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  124. package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
  125. package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
  126. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
  127. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
  128. package/.agents/skills/qk-ui-builder/references/color.md +0 -115
  129. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
  130. package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
  131. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
  132. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
  133. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
  134. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
  135. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
  136. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
  137. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
  138. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
  139. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
  140. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
  141. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
  142. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
  143. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
  144. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
  145. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
  146. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
  147. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
  148. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
  149. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
  150. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
  151. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
  152. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
  153. package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
  154. package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
  155. package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
  156. package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
  157. package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
  158. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
  159. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
  160. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
  161. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
  162. package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
  163. package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
  164. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
  165. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
  166. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
  167. package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
  168. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
  169. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
  170. package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
  171. package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
  172. package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
  173. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
  174. package/.agents/skills/qk-upgrade/SKILL.md +0 -301
  175. package/.agents/skills/qk-upgrade/capability.yaml +0 -24
  176. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
  177. package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
  178. package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
  179. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
  180. package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
  181. package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
  182. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
  183. package/.agents/workflows/research.yml +0 -75
  184. package/.agents/workflows/skill-evolution.yml +0 -97
  185. package/tooling/fix-refactor.js +0 -8
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: qk-devops-release
3
+ version: 10.1.0
4
+ status: stable
5
+ subtitle: "DevOps, CI/CD & Deploy"
6
+ description: "Vận hành Nền tảng, Tự động hóa CI/CD, Cổng kiểm soát phát hành 8-Gate Production, Đồng bộ tài liệu kỹ thuật, Bộ nhớ dự án (.ai-local/) và Kỹ nghệ AI/RAG. Dùng khi: ci/cd, deployment, pipeline, docker, dockerfile, devops, github actions, deploy production, release checklist, go live, rollout, viết docs, readme, swagger, lưu context, project memory, /learn, build ai, rag pipeline, prompt engineering — TUYỆT ĐỐI KHÔNG dùng khi debug lỗi logic ứng dụng (dùng qk-bug-resolution)."
7
+ tools:
8
+ - filesystem
9
+ - terminal
10
+ rules:
11
+ - global
12
+ - platform
13
+ - security
14
+ - safety
15
+ workflow: production-release
16
+ triggers:
17
+ - "ci/cd"
18
+ - "deployment"
19
+ - "pipeline"
20
+ - "docker"
21
+ - "dockerfile"
22
+ - "devops"
23
+ - "github actions"
24
+ - "deploy production"
25
+ - "release checklist"
26
+ - "go live"
27
+ - "rollout"
28
+ - "viết docs"
29
+ - "readme"
30
+ - "swagger"
31
+ - "lưu context"
32
+ - "project memory"
33
+ - "/learn"
34
+ - "build ai"
35
+ - "rag pipeline"
36
+ - "prompt engineering"
37
+ ---
38
+
39
+ # qk-devops-release — DevOps, CI/CD & Deploy (Platform, Release Gate & Memory Engine)
40
+
41
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
42
+
43
+ ---
44
+
45
+ ## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
46
+
47
+ > **Core Principle:** Right-size infrastructure. Do not design a Kubernetes cluster for a static site. Automation must be dependable, reproducible, and guarded by strict safety gates.
48
+ > **Release Principle:** PASS is a verified conclusion, never a target. Zero fake green gates.
49
+
50
+ ### 🛡️ Anti-Overengineering Rule (KHÔNG PHỨC TẠP HÓA HẠ TẦNG)
51
+ - **Tương xứng quy mô hạ tầng:** Nếu dự án chỉ là web app vừa và nhỏ, Docker Compose hoặc single-stage container là đủ. Tuyệt đối KHÔNG tự ý đề xuất setup Kubernetes, Helm, Istio service mesh phức tạp hóa trừ khi người dùng yêu cầu rõ ràng.
52
+ - **Tài liệu ngắn gọn, thực chiến:** README chỉ cần 3 bước chuẩn (Prerequisites → Setup → Run). Không viết lan man hàng trang lý thuyết không ai đọc.
53
+
54
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
55
+ - Chỉ can thiệp vào Dockerfile, CI/CD pipeline, deploy scripts hoặc docs được yêu cầu.
56
+ - **CẤM** nhân tiện sửa code nghiệp vụ của ứng dụng trong cùng một commit hạ tầng.
57
+ - Nếu phát hiện code lỗi trong app: **Chuyển giao quyền** cho `qk-bug-resolution`, không tự ý sửa.
58
+
59
+ ### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
60
+ - **CẤM** thêm cờ bỏ qua lỗi (`|| true`, `--no-verify`, `continue-on-error: true`) vào CI pipeline chỉ để ép build xanh.
61
+ - **CẤM** hardcode secret hoặc credentials vào Dockerfile/Compose chỉ để test cho nhanh.
62
+ - **CẤM** tự ý đánh dấu PASS cho 8 Gates nếu thiếu bằng chứng thực tế.
63
+
64
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI BÁO CÁO - R-G-14.7)
65
+ - **Cấm tuyên bố 8 Cổng Đạt nếu chưa chạy lệnh:** Phải chạy test suite và build trước khi tick xanh các cổng Gate 1 và Gate 2.
66
+ - **Báo cáo trung thực:** Nếu không có Docker daemon chạy cục bộ hoặc không có quyền truy cập CI runner, AI phải ghi rõ: `"Trạng thái: NOT VERIFIED — Đã kiểm tra cú pháp Dockerfile/CI tĩnh. Chưa build image thực tế trong môi trường này"`.
67
+
68
+ ---
69
+
70
+ ## 2. Ranh Giới & Phạm Vi Kỹ Thuật (Hard Boundaries)
71
+
72
+ ### ✅ Việc skill này BẮT BUỘC làm:
73
+ - **Production-Ready Dockerfile:** Multi-stage build, Non-root user (`USER node/appuser`), layer caching tối ưu, và healthcheck directive.
74
+ - **8-Gate Production Gatekeeper:** Rà soát nghiêm ngặt 8 cổng an toàn trước khi deploy. **Chỉ cần 1 cổng đỏ = CHẶN release ngay lập tức**.
75
+ - **Accurate Documentation (Code-First Truth):** Viết tài liệu khớp 100% với code thực tế đang chạy.
76
+ - **Institutional Memory (`.ai-local/`, `/learn`):** Ghi nhớ các quyết định kiến trúc và bài học fix bug phức tạp vào `.ai-local/knowledge/` (đã gitignore).
77
+
78
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
79
+ - Viết API endpoint hay logic truy vấn database ứng dụng → Chuyển sang `qk-backend-data`.
80
+ - Điều tra bug crash logic trong mã nguồn → Chuyển sang `qk-bug-resolution`.
81
+
82
+ ---
83
+
84
+ ## 3. 8 Cổng Kiểm Soát Phát Hành Production (8-Gate Checklist)
85
+
86
+ ```
87
+ Gate 1: Test Suite Green ── 100% tests pass (Verify bằng lệnh thực tế)
88
+ Gate 2: Security Clean ── 0 lỗ hổng Critical/High, 0 secret leak trong commit
89
+ Gate 3: Safe DB Migrations ── Migration có tính tương thích ngược và có down script
90
+ Gate 4: Environment Variables ── Mọi biến mới đã được khai báo trong .env.example
91
+ Gate 5: Rapid Rollback Plan ── Quy trình rollback được xác định rõ ràng (< 5 phút)
92
+ Gate 6: Smoke Test Plan ── Danh sách 3-5 endpoints then chốt để test ngay sau deploy
93
+ Gate 7: SemVer & Git Tag ── Đã bump version đúng chuẩn Semantic Versioning
94
+ Gate 8: Release Notes Ready ── Bản tóm tắt thay đổi sẵn sàng
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 4. Xử Lý Sự Cố Khi Release Gate Thất Bại (Failure Path)
100
+
101
+ Nếu bất kỳ cổng nào trong 8 cổng không đạt:
102
+ 1. **CHẶN RELEASE NGAY:** Không nhắm mắt làm ngơ cho deploy.
103
+ 2. **Nêu rõ cổng thất bại:** Báo cáo chi tiết lý do cổng bị chặn (ví dụ: Gate 1 fail do 2 unit test đỏ; Gate 4 fail do biến `STRIPE_SECRET_KEY` chưa có trong `.env.example`).
104
+ 3. **Kế hoạch khôi phục khi deploy dở dang:** Kích hoạt rollback ngay lập tức:
105
+ ```bash
106
+ git revert <commit_hash>
107
+ # hoặc pull lại container image tag an toàn trước đó
108
+ ```
109
+
110
+ ---
111
+
112
+ ## 5. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
113
+
114
+ | Role | Trọng tâm khi chạy DevOps & Release | Hành vi kỹ thuật đặc thù |
115
+ |---|---|---|
116
+ | `devops` | Dockerfile, CI/CD pipeline, Kubernetes/Helm, secrets management | Tối ưu image size, caching layers, rollback automation |
117
+ | `ai-engineer` | RAG architecture, vector db, prompt template, evaluation metrics | Chunking strategy, reranking, scorecard eval |
118
+ | `pm` | Release notes, changelog, feature readiness, user impact | Viết release notes tóm tắt giá trị cho người dùng |
119
+ | `fullstack` | Docker-compose cho local dev, đồng bộ env vars, verify smoke test | Cập nhật `.env.example`, kiểm tra build bundle size |
120
+
121
+ ---
122
+
123
+ ## 6. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
124
+
125
+ ```markdown
126
+ 🚀 DevOps & Release Summary [Role: <role> | Task: <Deploy / CI-CD / Docs>]
127
+ ─────────────────────────────────────────────────────────────────────
128
+ Mục tiêu thực hiện: [Cấu hình CI/CD / 8-Gate Release Check / Sync Docs]
129
+ Trạng thái: [SẴN SÀNG RELEASE / BỊ CHẶN (RELEASE BLOCKED) / ĐÃ CẤU HÌNH]
130
+
131
+ Chi tiết kỹ thuật:
132
+ • [Docker] [Dockerfile](file:///<workspace-root>/Dockerfile): Multi-stage, Non-root
133
+ • [CI/CD] [.github/workflows/ci.yml](file:///<workspace-root>/.github/workflows/ci.yml)
134
+ • [Documentation] [README.md](file:///<workspace-root>/README.md): Đồng bộ với code thực tế
135
+
136
+ Tình trạng 8 Cổng An Toàn (Truth-First):
137
+ • Gate 1 (Tests): [Pass 100% (Đã chạy thực tế) / Chưa verify]
138
+ • Gate 2 (Security): [0 Critical / Cần quét]
139
+ • Gate 3 (Migration): [Tương thích ngược / Không có migration]
140
+ • Gate 4 (Env Vars): [Đã cập nhật .env.example]
141
+ • Gate 5 (Rollback): [Sẵn sàng lệnh revert]
142
+ • Gate 6 (Smoke Test): [Đã có 3 endpoints kiểm tra]
143
+ • Gate 7 (SemVer): [Bump vX.Y.Z]
144
+ • Gate 8 (Changelog): [Sẵn sàng Release Notes]
145
+ ```
@@ -1,251 +1,183 @@
1
1
  ---
2
- # ── Identity ───────────────────────────────────────────────
3
- name: qk-feature-delivery
4
- version: 9.2.0
5
- status: stable
6
- description: "Phát triển tính năng mới end-to-end: Requirements → Context → Design → Implement → Self-audit. Dùng skill này khi user nhắc đến: add feature, build new, implement, phát triển tính năng, tạo mới, thêm chức năng — kể cả khi mô tả bằng ngôn ngữ tự nhiên như \"tôi muốn có tính năng X\" hoặc \"làm cho app có thể Y\"."
7
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
-
9
- # ── V9: Classification ─────────────────────────────────────
10
- type: capability
11
-
12
- intent:
13
- - feature-building
14
- - end-to-end-development
15
- - implementation
16
-
17
- complexity:
18
- level: high
19
- criteria:
20
- files_affected: "5+"
21
- has_behavior_change: true
22
- has_external_dependency: true
23
- has_breaking_change: false
24
-
2
+ name: qk-feature-delivery
3
+ version: 10.1.0
4
+ status: stable
5
+ subtitle: "Build Feature mới"
6
+ description: "Phát triển tính năng mới end-to-end: Thiết lập Contract kiểu dữ liệu, tích hợp gọi API, xử lý trọn vẹn 4 trạng thái UI (Loading/Success/Empty/Error) và tuân thủ YAGNI/SOLID. Dùng khi: add feature, phát triển tính năng mới, tạo mới, build new, thêm chức năng, tích hợp api, fetch data, consume api, bind data, state management — TUYỆT ĐỐI KHÔNG dùng cho việc fix bug (dùng qk-bug-resolution) hoặc dọn dẹp code cũ (dùng qk-code-cleaner)."
7
+ tools:
8
+ - filesystem
9
+ - terminal
10
+ rules:
11
+ - global
12
+ - coding-standards
13
+ - safety
14
+ workflow: feature-delivery
25
15
  triggers:
26
16
  - "add feature"
27
- - "build new"
28
- - "implement"
29
- - "phát triển tính năng"
30
- - "tạo mới"
17
+ - "phát triển tính năng mới"
18
+ - "tạo mới tính năng"
19
+ - "build new feature"
31
20
  - "thêm chức năng"
32
-
33
-
34
- selection:
35
- priority: medium
36
- confidence_threshold: 0.85
37
-
38
- # ── V8: References ─────────────────────────────────────────
39
- workflow: feature-delivery
40
-
41
- rules:
42
- - global
43
- - coding
44
- - safety
45
-
46
- tools:
47
- - filesystem
48
- - terminal
49
-
50
- related_skills:
51
- - qk-context-loader
52
- - qk-test-engineering
53
-
54
- knowledge_scope:
55
- owns:
56
- - feature-implementation
57
- - requirement-analysis
58
- references:
59
- - testing
60
- - security
61
- - anti-patterns
62
- - design-system
63
-
64
- # ── V8: Verification ───────────────────────────────────────
65
- verification:
66
- required: true
67
- strategy: feature
68
-
69
- examples: []
70
- learnings: []
71
-
72
- # ── V7 Runtime ─────────────────────────────────────────────
73
- execution_mode: deterministic
74
- cost: high
75
- latency: slow
76
- risk: medium
77
- side_effects: edit_files
78
- produces: [code, report]
79
- consumes: [context-graph, design-md, user-description]
80
-
81
- token_budget:
82
- max_files_read: 5
83
- max_lines_per_read: 150
84
- max_shell_commands: 2
85
- stop_early: true
86
-
87
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
88
- ---
89
-
90
- # qk-feature-delivery — End-to-End Feature Builder
91
-
92
- > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
93
-
94
- Chịu trách nhiệm triển khai tính năng mới end-to-end theo luồng tiêu chuẩn: **Requirements → Context → Design → Implement → Self-audit**. Bảo đảm code viết ra tích hợp mượt mà vào hệ thống hiện hữu, chuẩn theo role và conventions từ `DEV_PROFILE.md`.
95
-
96
- ---
97
-
98
- ## Preconditions
99
-
100
- Trước khi bắt đầu implement bất kỳ tính năng nào, AI BẮT BUỘC kiểm tra:
101
-
102
- - [ ] Đọc `.agents/DEV_PROFILE.md` để lấy role, primary stack, coding conventions và constraints.
103
- - [ ] Xác định scope thay đổi (màn hình, module, schema, API liên quan).
104
- - [ ] Kiểm tra tính rõ ràng của yêu cầu: Có acceptance criteria rõ ràng chưa? Đã rõ input/output chưa?
105
- - [ ] Nếu yêu cầu mơ hồ hoặc có quyết định kiến trúc lớn chưa thống nhất:
106
- → **EXIT: BLOCKED**
107
- → Báo cáo user câu hỏi làm rõ trước khi can thiệp vào mã nguồn.
108
-
109
- ---
110
-
111
- ## Scope
112
-
113
- ✅ Skill này làm:
114
- - Phân tích yêu cầu và định hình kiến trúc tính năng tương thích với codebase.
115
- - Định nghĩa type-safe contracts, schemas và dữ liệu liên quan.
116
- - Triển khai code tính năng hoàn chỉnh qua các tầng (FE UI, BE controller/service, routing).
117
- - Xử lý đầy đủ các trạng thái biên: loading, error, empty data, pagination, boundary conditions.
118
- - Tự kiểm toán (Self-audit) sau khi implement: linting, typecheck, và format code.
119
-
120
- ❌ Skill này KHÔNG làm:
121
- - Sửa lỗi crash phát sinh đột xuất không nằm trong phạm vi feature mới (→ `qk-bug-resolution`).
122
- - Tái cấu trúc quy mô lớn codebase không phục vụ feature (→ `qk-refactor`).
123
- - Chạy đợt audit bảo mật tổng thể toàn dự án (→ `qk-security-audit`).
124
-
125
- ---
126
-
127
- ## Execution Steps
128
-
129
- ### Step 1 — Context Loading & Gap Analysis
130
- ```
131
- Inputs: Yêu cầu tính năng từ user, DEV_PROFILE.md, mã nguồn hiện tại
132
- Actions:
133
- - Khảo sát các modules, components, services hiện có liên quan đến tính năng.
134
- - Lập danh sách các files cần tạo mới và files cần chỉnh sửa.
135
- - Xác định dependency mới (nếu có) và đối chiếu với constraints trong DEV_PROFILE.md.
136
- Output: Feature Implementation Plan
137
- ```
138
-
139
- ### Step 2 — Contract & Architecture Design
140
- ```
141
- Inputs: Feature Implementation Plan
142
- Actions:
143
- - Thiết kế interface/types, DTO, data contracts giữa các tầng.
144
- - Xác định state management và data flow (Client state, Server cache, DB model).
145
- - Dự phòng các kịch bản ngoại lệ (empty data, network failure, unauthorized).
146
- Output: Type definitions & Contract drafts
147
- ```
148
-
149
- ### Step 3 — Incremental Implementation
150
- ```
151
- Inputs: Type definitions, Contract drafts
152
- Actions:
153
- - Viết code theo thứ tự từ lõi (Core/Domain/Model) → Service/Logic → Presentation/UI.
154
- - Tuân thủ quy ước đặt tên (naming conventions) và design system tokens của dự án.
155
- - Không hardcode các giá trị cấu hình, URL hay magic numbers.
156
- Output: Functional implementation
157
- ```
158
-
159
- ### Step 4 — Self-Audit & Quality Gate
160
- ```
161
- Inputs: Modified & Created files
162
- Actions:
163
- - Kiểm tra lint và type checking.
164
- - Rà soát edge cases: null/undefined checks, error boundary handling.
165
- - Đảm bảo không làm hỏng các tính năng cũ lân cận (regressions).
166
- Exit: SUCCESS nếu code pass types/lint và đạt mọi acceptance criteria.
167
- ```
168
-
169
- ---
170
-
171
- ## Prompt Template
172
-
173
- AI đọc `DEV_PROFILE.md` để lấy role + stack. Bạn chỉ cần mô tả **WHAT**, không cần nhắc lại stack.
174
-
175
- ```
176
- Tính năng: [Tên / mục đích tính năng]
177
- Màn hình: [Trang / route / component liên quan — hoặc "mới hoàn toàn"]
178
- Done khi: [User thấy gì / hệ thống làm gì — tiêu chí cụ thể]
179
- Edge cases: [Điều kiện đặc biệt, dữ liệu rỗng, lỗi cần xử lý]
180
- Không được: [Ràng buộc — không đổi API này, không xóa field kia]
181
- ```
182
-
183
- ---
184
-
185
- ### Theo Role — AI sẽ phân tích kỹ thuật như sau:
186
-
187
- **role: fe**
188
- ```
189
- Tính năng: Infinite scroll cho danh sách sản phẩm
190
- Màn hình: /products — ProductList.tsx đã có
191
- Done khi: Scroll đến cuối → tự load thêm 20 sản phẩm, có loading indicator
192
- Edge cases: Hết data → hiện "Đã xem tất cả", lỗi API → hiện retry button
193
- Không được: Không đổi ProductCard component
194
- ```
195
- → AI phân tích: intersection observer vs scroll event, React Query `useInfiniteQuery`,
196
- cache invalidation, skeleton vs spinner, bundle impact của thư viện.
197
-
198
- **role: be**
199
- ```
200
- Tính năng: API pagination cho /products với cursor-based paging
201
- Màn hình: GET /api/products — route đã có nhưng chỉ trả toàn bộ
202
- Done khi: Trả { data, nextCursor, hasMore }, tối đa 20 items/page
203
- Edge cases: cursor không hợp lệ → 400, không có data → { data: [], hasMore: false }
204
- Không được: Không đổi response shape của existing fields
205
- ```
206
- → AI phân tích: cursor vs offset trade-off, index strategy trên DB,
207
- validation middleware, backward compatibility của response schema.
208
-
209
- **role: fullstack**
210
- ```
211
- Tính năng: Thêm chức năng export danh sách đơn hàng ra CSV
212
- Màn hình: /orders — có table hiện tại, cần thêm nút Export
213
- Done khi: Click Export → tải file CSV với đúng cột, chỉ export filtered data
214
- Edge cases: > 10k rows → stream response, không có data → disable button
215
- Không được: Không thêm dependency mới nếu native API đủ dùng
216
- ```
217
- → AI phân tích: FE trigger + progress UX, BE streaming response vs buffer,
218
- type-safe contract giữa FE-BE, memory safety khi dataset lớn.
219
-
220
- **role: data**
221
- ```
222
- Tính năng: Pipeline load daily sales data từ PostgreSQL → BigQuery
223
- Màn hình: DAG mới trong Airflow — incremental load
224
- Done khi: Chạy hàng ngày 2AM, chỉ load data của ngày hôm trước, idempotent
225
- Edge cases: Re-run phải cho kết quả giống nhau, source schema thay đổi → alert
226
- Không được: Không truncate table, chỉ upsert
227
- ```
228
- → AI phân tích: watermark strategy, partition pruning, schema evolution handling,
229
- idempotency key design, data quality assertion trước khi load.
230
-
231
- **role: ai-engineer**
232
- ```
233
- Tính năng: RAG pipeline trả lời câu hỏi từ tài liệu nội bộ
234
- Màn hình: Chat UI mới — /chat route
235
- Done khi: User hỏi → AI trả lời có citation từ đúng document
236
- Edge cases: Câu hỏi ngoài scope → "Tôi không tìm thấy thông tin liên quan"
237
- Không được: Không hallucinate khi không có context
238
- ```
239
- → AI phân tích: chunking strategy, embedding model choice, retrieval (BM25 vs dense),
240
- reranking, context stuffing vs summarization, eval metrics (faithfulness, relevance).
241
-
242
- **role: devops**
243
- ```
244
- Tính năng: CI pipeline tự động chạy test + deploy lên staging khi merge PR
245
- Màn hình: .github/workflows/ — chưa có file nào
246
- Done khi: PR merge → test pass → deploy staging → notify Slack
247
- Edge cases: Test fail → stop pipeline, notify người tạo PR
248
- Không được: Không auto-deploy production
249
- ```
250
- → AI phân tích: workflow triggers, secrets management, caching strategy,
251
- environment isolation, rollback mechanism, notification integration.
21
+ - "tích hợp api"
22
+ - "consume api"
23
+ - "bind data"
24
+ - "state management"
25
+ ---
26
+
27
+ # qk-feature-delivery — Build Feature mới (End-to-End Delivery Engine)
28
+
29
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
30
+
31
+ ---
32
+
33
+ ## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
34
+
35
+ > **Core Principle:** YAGNI (You Aren't Gonna Need It). Build the simplest, cleanest solution that fully satisfies today's requirement. Do not write tomorrow's abstractions today.
36
+ > **Verification Principle:** PASS is evidence, not an objective. Never claim pass without concrete execution proof.
37
+
38
+ ### 🛡️ Anti-Overengineering Rule (CẤM VẼ VOI)
39
+ - **Không tạo kiến trúc cồng kềnh cho tính năng đơn giản:** Nếu một tính năng chỉ cần 1 endpoint và 1 component, TUYỆT ĐỐI KHÔNG tạo ra cả một hệ thống 5 tầng (không Factory, không Adapter, không 3 lớp Repository trung gian) nếu dự án chưa yêu cầu.
40
+ - **Tận dụng tối đa code có sẵn:** Tái sử dụng các hooks, UI components, và utilities đang chạy tốt trong repo. Tránh viết lại những gì đã tồn tại.
41
+
42
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
43
+ Chỉ sửa các file, dependencies, cấu hình và code paths thực sự cần thiết trực tiếp cho tính năng được yêu cầu:
44
+ - **CẤM** reformat hoặc format lại các file không liên quan.
45
+ - **CẤM** đổi tên biến, hàm, hoặc file ngoài phạm vi tính năng.
46
+ - **CẤM** tự tiện nâng cấp thư viện hoặc sửa build script lân cận.
47
+ - **CẤM** "tiện tay" refactor hoặc clean up code xung quanh nếu người dùng không yêu cầu.
48
+ - Nếu phát hiện vấn đề hoặc code smell ngoài phạm vi: **Chỉ ghi nhận vào báo cáo tổng kết**, tuyệt đối không tự ý chạm vào.
49
+
50
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI BÁO CÁO)
51
+ - **Kiểm tra build và types thật:** Phải chạy `tsc --noEmit`, linter, hoặc build check trước khi tuyên bố tính năng hoàn thành.
52
+ - **Phân định rõ bằng chứng (Evidence-Based Status):**
53
+ - `PASS`: Đã chạy lệnh kiểm tra thực tế và kết quả đạt yêu cầu.
54
+ - `FAIL`: Đã chạy và phát hiện lỗi.
55
+ - `BLOCKED`: Không thể chạy do thiếu database/staging/external service.
56
+ - `NOT RUN / PARTIAL`: Chưa chạy lệnh hoặc chỉ mới kiểm tra tĩnh (Cần ghi rõ: *"Trạng thái: Đã bind code logic & types. Cần user test giao diện trực tiếp trên trình duyệt"*).
57
+ - **TUYỆT ĐỐI KHÔNG CHUYỂN BLOCKED/NOT RUN THÀNH PASS!**
58
+
59
+ ---
60
+
61
+ ## 2. Ranh Giới & Phạm Vi Kỹ Thuật (Hard Boundaries)
62
+
63
+ ### ✅ Việc skill này BẮT BUỘC làm:
64
+ - **Scoped Contract-First Implementation:** Đối với các tính năng có tương tác dữ liệu ngoài, API boundaries, database persistence, hoặc untrusted input: BẮT BUỘC định nghĩa Types/DTOs và Validation Schemas (Zod/Pydantic) trước logic nghiệp vụ. Với UI nội bộ (button, modal, local UI state), không ép buộc sinh schema nếu không có ranh giới dữ liệu.
65
+ - **UI State Rule (Không tạo Empty giả tạo):**
66
+ - **Data-fetching views (Danh sách / màn hình tải dữ liệu):** BẮT BUỘC xử lý đủ 4 trạng thái: `Loading (Skeleton loader)`, `Success (Render data)`, `Empty (Minh họa ngữ cảnh + Nút Call-to-action)`, và `Error (Message lỗi + Nút Thử Lại/Retry)`.
67
+ - **Mutations & Actions (Login, logout, xóa item, upload file, submit form):** Xử lý các trạng thái tương tác phù hợp thực tế: `Idle`, `Submitting/Pending`, `Success`, và `Error`. TUYỆT ĐỐI KHÔNG tạo `Empty state` giả tạo cho các hành động không có ý nghĩa danh sách rỗng.
68
+ - **Planning Gate & Exceptions:** Với tính năng mới ảnh hưởng ≥ 2 files hoặc tác động kiến trúc, BẮT BUỘC lập `implementation_plan.md` với `RequestFeedback: true` và dừng lại chờ phê duyệt trước khi tạo/sửa files.
69
+ - **Ngoại lệ bỏ qua Planning Gate:**
70
+ - Thay đổi chỉ nằm trong đúng 1 file (Single-file change).
71
+ - Chỉnh sửa UI/text đơn giản (Trivial UI/text change).
72
+ - Thay đổi thuần tài liệu (Documentation-only).
73
+ - Người dùng chỉ định rõ ràng yêu cầu thực thi ngay lập tức mà không cần qua gate.
74
+
75
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
76
+ - Điều tra các lỗi crash cũ có sẵn từ trước trong codebase → Chuyển sang `qk-bug-resolution`.
77
+ - Tự tiện thay đổi cấu trúc bảng cơ sở dữ liệu lớn → Chuyển sang `qk-backend-data`.
78
+ - Tái cấu trúc các module cũ không liên quan đến feature → Chuyển sang `qk-code-cleaner`.
79
+
80
+ ---
81
+
82
+ ## 3. Quy Trình Phát Triển 4 Bước Tuần Tự (Sequential Procedure)
83
+
84
+ ```
85
+ [Bước 1: Contract & Plan] ── Định nghĩa Types/Schemas (nếu có API/DB), lập plan (nếu ≥ 2 files)
86
+ │
87
+ ▼
88
+ [Bước 2: Service & Logic] ── Xây dựng API Caller & State Handler (caching chỉ khi cần thiết)
89
+ │
90
+ ▼
91
+ [Bước 3: UI & State Bind] ── Gắn Component, Skeleton (nếu fetching), Action feedback (nếu mutation)
92
+ │
93
+ ▼
94
+ [Bước 4: Verification Gate] ── Chạy Typecheck/Lint thật. Nếu FAIL ──► Kích hoạt Failure Path
95
+ ```
96
+
97
+ ### Chi tiết các bước:
98
+ 1. **Contract & Plan:** Thiết lập interface chuẩn cho request/response hoặc persistence model. Lập kế hoạch các files sẽ tạo mới (nếu đa file).
99
+ 2. **Service & Logic:** Viết hàm gọi API độc lập với component, xử lý lỗi có ngữ cảnh. Chỉ tích hợp caching, state store hoặc optimistic updates khi tính năng hoặc kiến trúc dự án thực sự yêu cầu.
100
+ 3. **UI & State Bind:** Gắn dữ liệu vào JSX/Template. Đảm bảo Skeleton loader không làm nhảy giật layout (chống CLS). Đảm bảo action có loading spinner/disable button chống double-submit.
101
+ 4. **Verification Gate:** Kiểm tra type-check và lint thực tế. Xác minh không vi phạm nguyên tắc YAGNI hay sinh ra God file (> 300 dòng).
102
+
103
+ ---
104
+
105
+ ## 4. Xử Lý Sự Cố Khi Build Gãy & Cấm Ép Pass (Failure Path Protocol)
106
+
107
+ Nếu trong quá trình triển khai gặp lỗi biên dịch, lint, hoặc kiểm thử:
108
+ 1. **Dừng lại ngay (Failure Analysis Gate):** Không tiếp tục viết thêm code nếu tầng Contract hoặc Types đang bị đỏ.
109
+ 2. **Xác định Root Cause:** Đọc call-stack và thông báo lỗi thực tế để tìm nguyên nhân gốc rễ.
110
+ 3. **CẤM CHE GIẤU LỖI (Zero Workarounds):**
111
+ - CẤM dùng `as any` hoặc `@ts-ignore` / `@ts-expect-error` để né lỗi type.
112
+ - CẤM disable linter rule hoặc comment bỏ qua lint.
113
+ - CẤM dùng `catch (e) {}` rỗng để nuốt lỗi cho code khỏi crash.
114
+ - CẤM sửa hoặc làm yếu assertion của test case chỉ để ép pass.
115
+ 4. **Revert có kiểm soát:** Nếu bước làm trước đó làm gãy toàn bộ build của dự án:
116
+ ```bash
117
+ git restore <các_file_vừa_tạo_hoặc_sửa>
118
+ ```
119
+ 5. **Báo cáo Blocked:** Nếu thiếu endpoint từ phía backend hoặc thiếu dữ liệu bắt buộc từ 3rd party, dừng lại và thông báo rõ contract bị thiếu cho user với trạng thái `Status: BLOCKED`.
120
+
121
+ ---
122
+
123
+ ## 5. Mẫu Kế Hoạch Chuẩn (Implementation Plan Skeleton)
124
+
125
+ Khi khởi tạo `implementation_plan.md`:
126
+
127
+ ```markdown
128
+ # Implementation Plan: [Tên Tính Năng Mới]
129
+
130
+ ## 1. Yêu cầu & Trải nghiệm người dùng
131
+ - Tính năng: [Mô tả ngắn gọn giá trị mang lại]
132
+ - Điểm chạm UI: [Vị trí màn hình / nút bấm mới]
133
+
134
+ ## 2. Hợp đồng dữ liệu (API / Boundary Contract)
135
+ - Endpoint: `POST /api/v1/orders` (hoặc N/A nếu thuần UI)
136
+ - Input Schema: `{ items: Array<{ id: string, quantity: number }> }`
137
+ - Output Schema: `{ orderId: string, totalAmount: number, status: string }`
138
+
139
+ ## 3. Danh sách files sẽ thay đổi (Laser Focus)
140
+ - [ ] [NEW] [types.ts](file:///<workspace-root>/src/types/...): Khai báo models & Schema
141
+ - [ ] [NEW] [useOrderService.ts](file:///<workspace-root>/src/services/...): API caller
142
+ - [ ] [NEW] [OrderForm.tsx](file:///<workspace-root>/src/components/...): Component UI
143
+
144
+ ## 4. Kiểm soát trạng thái UI
145
+ - Data Fetching: Loading (Skeleton) | Success | Empty (CTA) | Error (Retry)
146
+ - Hoặc Mutation: Idle | Submitting (Spinner) | Success (Redirect/Toast) | Error (Alert)
147
+ ```
148
+
149
+ ---
150
+
151
+ ## 6. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
152
+
153
+ | Role | Trọng tâm khi Build Feature | Hành vi kỹ thuật đặc thù |
154
+ |---|---|---|
155
+ | `frontend` | Component hierarchy, Accessibility, responsive layout, interaction feedback | Tạo custom hook quản lý state, tái sử dụng component có sẵn, skeleton loader |
156
+ | `backend` | API route handler, controller, business domain service, query DB | Áp dụng input validation middleware, dependency injection, unit test service |
157
+ | `fullstack` | Đồng bộ 100% từ Database đến giao diện người dùng | Tạo migration nhỏ (nếu cần), tạo endpoint, sinh types, bind vào UI component |
158
+ | `data` | Ingestion job mới, schema validation, data pipeline task | Tạo incremental dbt model, thêm schema test trong `.yml`, SLA logging |
159
+ | `devops` | Cấu hình biến môi trường mới, service connection, helm values | Cập nhật `.env.example`, thêm secret config, healthcheck endpoint |
160
+
161
+ ---
162
+
163
+ ## 7. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
164
+
165
+ ```markdown
166
+ 🚀 Feature Delivery Summary [Role: <role> | Feature: <Tên tính năng>]
167
+ ─────────────────────────────────────────────────────────────────────
168
+ Phạm vi thực tế: [N files created / modified]
169
+ Trạng thái: [Hoàn thành sẵn sàng test | Cần cấu hình thêm env | BLOCKED]
170
+
171
+ Các tệp mã nguồn mới/sửa đổi:
172
+ • [NEW] [TênFile.tsx](file:///<workspace-root>/path): [Mô tả vai trò]
173
+
174
+ Kiểm soát trạng thái giao diện:
175
+ • Fetching: [Loading / Success / Empty / Error] hoặc [N/A]
176
+ • Mutation: [Idle / Submitting / Success / Error] hoặc [N/A]
177
+
178
+ Kiểm chứng thực tế (Verify Before Claim):
179
+ • Type-check: [tsc Clean / mypy Pass / Chưa chạy (Nêu lý do)]
180
+ • Lint check: [0 errors / Chưa chạy]
181
+ • YAGNI: ✅ Giữ giải pháp tối giản, không sinh abstraction thừa
182
+ • Zero Hack: ✅ Không dùng any, @ts-ignore, hay silent catch
183
+ ```