ai-developer-skill-os 9.3.1 → 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.
- package/.agents/AGENTS.md +60 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/registry/graph.json +95 -342
- package/.agents/registry/index.yaml +61 -237
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +19 -8
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
- package/.agents/skills/qk-backend-data/SKILL.md +190 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
- package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
- package/.agents/skills/qk-code-review/SKILL.md +126 -247
- package/.agents/skills/qk-devops-release/SKILL.md +145 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
- package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
- package/.agents/skills/qk-product-spec/SKILL.md +113 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
- package/.agents/workflows/feature-delivery.yml +1 -1
- package/.agents/workflows/production-release.yml +1 -1
- package/.agents/workflows/spec-driven-development.yml +109 -87
- package/CHANGELOG.md +16 -0
- package/README.md +125 -205
- package/bin/install.js +337 -329
- package/package.json +2 -2
- package/.agents/README.md +0 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
- package/.agents/docs/MIGRATION-STATUS.md +0 -35
- package/.agents/docs/MIGRATION-V8.md +0 -10
- package/.agents/docs/ROADMAP-V8.2.md +0 -78
- package/.agents/docs/V8-CERTIFICATION.md +0 -27
- package/.agents/skills/qk-access-policy/SKILL.md +0 -206
- package/.agents/skills/qk-access-policy/capability.yaml +0 -23
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
- package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
- package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
- package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
- package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
- package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
- package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
- package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
- package/.agents/skills/qk-code-review/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/SKILL.md +0 -198
- package/.agents/skills/qk-context-loader/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
- package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
- package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
- package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
- package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
- package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-docs/SKILL.md +0 -193
- package/.agents/skills/qk-docs/capability.yaml +0 -23
- package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
- package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
- package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
- package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
- package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
- package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-help/SKILL.md +0 -107
- package/.agents/skills/qk-help/capability.yaml +0 -20
- package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
- package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
- package/.agents/skills/qk-product-specification/SKILL.md +0 -187
- package/.agents/skills/qk-product-specification/capability.yaml +0 -27
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-production-release/SKILL.md +0 -188
- package/.agents/skills/qk-production-release/capability.yaml +0 -27
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-audit/SKILL.md +0 -174
- package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
- package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-health/SKILL.md +0 -202
- package/.agents/skills/qk-project-health/capability.yaml +0 -23
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-project-memory/SKILL.md +0 -303
- package/.agents/skills/qk-project-memory/capability.yaml +0 -23
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-refactor/SKILL.md +0 -243
- package/.agents/skills/qk-refactor/capability.yaml +0 -26
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-security-audit/SKILL.md +0 -280
- package/.agents/skills/qk-security-audit/capability.yaml +0 -29
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
- package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
- package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
- package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
- package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
- package/.agents/skills/qk-ui-builder/references/color.md +0 -115
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
- package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
- package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
- package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
- package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
- package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
- package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
- package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-upgrade/SKILL.md +0 -301
- package/.agents/skills/qk-upgrade/capability.yaml +0 -24
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
- package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
- package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
- package/.agents/workflows/research.yml +0 -75
- package/.agents/workflows/skill-evolution.yml +0 -97
- package/tooling/fix-refactor.js +0 -8
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-api-lifecycle
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: stable
|
|
6
|
-
description: "Thiết kế và implement API endpoint mới với Zero-Trust — contract trước, code sau. Dùng skill này khi user nhắc đến: viết api, tạo endpoint, thiết kế api, build api, rest, graphql, trpc, route handler, controller, request/response schema — kể cả khi chỉ hỏi \"API này nên nhận input gì, trả output gì\"."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- api-design
|
|
14
|
-
- backend-development
|
|
15
|
-
|
|
16
|
-
complexity:
|
|
17
|
-
level: medium
|
|
18
|
-
criteria:
|
|
19
|
-
files_affected: "1-5"
|
|
20
|
-
has_behavior_change: true
|
|
21
|
-
has_external_dependency: true
|
|
22
|
-
has_breaking_change: false
|
|
23
|
-
|
|
24
|
-
triggers:
|
|
25
|
-
- "viết api"
|
|
26
|
-
- "tạo endpoint"
|
|
27
|
-
- "thiết kế api"
|
|
28
|
-
- "build api"
|
|
29
|
-
- "rest"
|
|
30
|
-
- "graphql"
|
|
31
|
-
- "trpc"
|
|
32
|
-
- "route handler"
|
|
33
|
-
- "controller"
|
|
34
|
-
- "request/response schema"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
# ── V8: References ─────────────────────────────────────────
|
|
38
|
-
workflow: feature-delivery
|
|
39
|
-
|
|
40
|
-
rules:
|
|
41
|
-
- global
|
|
42
|
-
- coding
|
|
43
|
-
|
|
44
|
-
tools:
|
|
45
|
-
- filesystem
|
|
46
|
-
- terminal
|
|
47
|
-
|
|
48
|
-
related_skills:
|
|
49
|
-
- qk-data-lifecycle
|
|
50
|
-
|
|
51
|
-
knowledge_scope:
|
|
52
|
-
owns:
|
|
53
|
-
- api-contracts
|
|
54
|
-
- endpoints
|
|
55
|
-
references:
|
|
56
|
-
- architecture
|
|
57
|
-
- security
|
|
58
|
-
- anti-patterns
|
|
59
|
-
|
|
60
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
61
|
-
verification:
|
|
62
|
-
required: true
|
|
63
|
-
strategy: api-change
|
|
64
|
-
|
|
65
|
-
selection:
|
|
66
|
-
priority: high
|
|
67
|
-
confidence_threshold: 0.85
|
|
68
|
-
|
|
69
|
-
examples: []
|
|
70
|
-
learnings: []
|
|
71
|
-
|
|
72
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
73
|
-
execution_mode: deterministic
|
|
74
|
-
cost: medium
|
|
75
|
-
latency: medium
|
|
76
|
-
risk: medium
|
|
77
|
-
side_effects: edit_files
|
|
78
|
-
produces: [code, report]
|
|
79
|
-
consumes: [context-graph, user-description]
|
|
80
|
-
|
|
81
|
-
token_budget:
|
|
82
|
-
max_files_read: 3
|
|
83
|
-
max_lines_per_read: 150
|
|
84
|
-
max_shell_commands: 1
|
|
85
|
-
stop_early: true
|
|
86
|
-
|
|
87
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
# qk-api-lifecycle — API Design & Implementation
|
|
91
|
-
|
|
92
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
93
|
-
|
|
94
|
-
Chịu trách nhiệm thiết kế và triển khai API endpoints mới hoặc nâng cấp endpoint hiện hữu theo triết lý **Zero-Trust: Contract First (Schema & Validation) → Route/Controller → Service/Business Logic → Error Handling & Documentation**.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Preconditions
|
|
99
|
-
|
|
100
|
-
Trước khi viết code API mới, AI BẮT BUỘC kiểm tra:
|
|
101
|
-
|
|
102
|
-
- [ ] Xác định backend framework và routing pattern từ `.agents/DEV_PROFILE.md` (Express, Next.js API Routes, FastAPI, NestJS, Go Fiber, v.v.).
|
|
103
|
-
- [ ] Xác định cơ chế Authentication & Authorization cần thiết (Public, JWT, Session, API Key, RBAC).
|
|
104
|
-
- [ ] Định nghĩa rõ ràng Request schema (headers, params, body) và Response schema (success + error cases).
|
|
105
|
-
- [ ] Nếu vi phạm quy ước REST/HTTP status codes hoặc thiếu validation schema:
|
|
106
|
-
→ **EXIT: BLOCKED**
|
|
107
|
-
→ Báo cáo user đề xuất chuẩn hóa contract trước khi implement.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Scope
|
|
112
|
-
|
|
113
|
-
✅ Skill này làm:
|
|
114
|
-
- Thiết kế Request/Response DTO và validation schema (Zod, Joi, Pydantic, Class-validator).
|
|
115
|
-
- Cài đặt Route handlers, Controllers, Middlewares xử lý request.
|
|
116
|
-
- Tích hợp Service layer và xử lý logic nghiệp vụ an toàn.
|
|
117
|
-
- Chuẩn hóa HTTP status codes (200, 201, 400, 401, 403, 404, 422, 500) và error response envelope.
|
|
118
|
-
- Đảm bảo sanitized inputs chống SQL Injection, XSS, mass assignment.
|
|
119
|
-
|
|
120
|
-
❌ Skill này KHÔNG làm:
|
|
121
|
-
- Thay đổi cấu trúc bảng database hoặc migration (→ `qk-data-lifecycle`).
|
|
122
|
-
- Viết giao diện Frontend để gọi API này (→ `qk-api-consumer`).
|
|
123
|
-
- Tối ưu câu query SQL bên dưới (→ `qk-db-optimizer`).
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Execution Steps
|
|
128
|
-
|
|
129
|
-
### Step 1 — Contract & Schema Definition
|
|
130
|
-
```
|
|
131
|
-
Inputs: Yêu cầu endpoint từ user, DEV_PROFILE.md
|
|
132
|
-
Actions:
|
|
133
|
-
- Khai báo Schema cho Request (Path params, Query params, Request body).
|
|
134
|
-
- Khai báo Schema cho Response (Success payload, Error payload).
|
|
135
|
-
- Áp dụng các rules kiểm tra tính hợp lệ dữ liệu đầu vào.
|
|
136
|
-
Output: Type-safe Schema definitions
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Step 2 — Route & Middleware Setup
|
|
140
|
-
```
|
|
141
|
-
Inputs: Schema definitions
|
|
142
|
-
Actions:
|
|
143
|
-
- Khai báo route path và HTTP method tương ứng.
|
|
144
|
-
- Gắn các middlewares bảo vệ: Auth, Rate-limiting, Input validation.
|
|
145
|
-
Output: Secure Route registration
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### Step 3 — Controller & Service Implementation
|
|
149
|
-
```
|
|
150
|
-
Inputs: Validated input data
|
|
151
|
-
Actions:
|
|
152
|
-
- Gọi Service/Repository để xử lý nghiệp vụ.
|
|
153
|
-
- Bọc trong khối try/catch hoặc error boundary trung tâm của framework.
|
|
154
|
-
- Tuyệt đối không để lộ sensitive data (passwords, tokens, internal stack traces) ra client.
|
|
155
|
-
Output: Completed API endpoint
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Step 4 — Verification & Contract Testing
|
|
159
|
-
```
|
|
160
|
-
Inputs: Endpoint implementation
|
|
161
|
-
Actions:
|
|
162
|
-
- Kiểm tra status codes trả về ứng với từng kịch bản (success, missing field, unauthorized).
|
|
163
|
-
- Chạy linter và typecheck.
|
|
164
|
-
Exit: SUCCESS nếu endpoint tuân thủ 100% schema contract và coding standards.
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## Prompt Template
|
|
170
|
-
|
|
171
|
-
AI đọc `DEV_PROFILE.md` để biết backend stack + auth pattern. Mô tả API contract — AI lo phần còn lại.
|
|
172
|
-
|
|
173
|
-
```
|
|
174
|
-
Endpoint: [Method + Path — vd: POST /api/orders]
|
|
175
|
-
Mục đích: [API này làm gì trong business context]
|
|
176
|
-
Auth: [Public / user JWT / admin only / service-to-service]
|
|
177
|
-
Input: [Request body / query params / path params]
|
|
178
|
-
Output: [Response shape khi success + khi lỗi]
|
|
179
|
-
Rules: [Business rules, validation, side effects quan trọng]
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
### Theo Role — AI thiết kế theo chiều sâu khác nhau:
|
|
185
|
-
|
|
186
|
-
**role: be**
|
|
187
|
-
```
|
|
188
|
-
Endpoint: POST /api/orders
|
|
189
|
-
Mục đích: Tạo đơn hàng mới, trừ stock, gửi email xác nhận
|
|
190
|
-
Auth: User JWT (phải login)
|
|
191
|
-
Input: { items: [{ productId, quantity }], shippingAddressId, paymentMethod }
|
|
192
|
-
Output: 201 { orderId, totalAmount, estimatedDelivery }
|
|
193
|
-
400 nếu product hết hàng, 404 nếu product không tồn tại
|
|
194
|
-
Rules: Transaction: trừ stock + tạo order phải atomic. Stock < 0 thì rollback.
|
|
195
|
-
Email gửi async (không block response). Idempotency key từ client.
|
|
196
|
-
```
|
|
197
|
-
→ AI thiết kế: DB transaction scope, optimistic vs pessimistic locking cho stock,
|
|
198
|
-
idempotency key pattern, async job queue cho email, error taxonomy (4xx vs 5xx),
|
|
199
|
-
OpenAPI spec trước khi code.
|
|
200
|
-
|
|
201
|
-
**role: fullstack**
|
|
202
|
-
```
|
|
203
|
-
Endpoint: GET /api/dashboard/stats
|
|
204
|
-
Mục đích: Trả thống kê cho dashboard — revenue, orders, users hôm nay
|
|
205
|
-
Auth: Admin JWT
|
|
206
|
-
Input: ?from=2024-01-01&to=2024-01-31&timezone=Asia/Ho_Chi_Minh
|
|
207
|
-
Output: { revenue: number, orders: number, newUsers: number, topProducts: [] }
|
|
208
|
-
Rules: Cache 5 phút. Timezone-aware aggregation. Chỉ admin mới gọi được.
|
|
209
|
-
```
|
|
210
|
-
→ AI thiết kế: query aggregation strategy, DB index cho date range,
|
|
211
|
-
timezone handling (store UTC, convert at query time), cache layer (Redis vs in-memory),
|
|
212
|
-
type-safe response contract cho FE (zod schema hoặc OpenAPI codegen).
|
|
213
|
-
|
|
214
|
-
**role: fe** *(khi FE cần hiểu API để tích hợp đúng)*
|
|
215
|
-
```
|
|
216
|
-
Endpoint: GET /api/products (đã có — cần hiểu contract để tích hợp)
|
|
217
|
-
Mục đích: Lấy danh sách sản phẩm với filter + pagination
|
|
218
|
-
Input: ?page=1&limit=20&category=shoes&minPrice=100&sort=price_asc
|
|
219
|
-
Output: { data: Product[], total: number, page: number, hasNextPage: boolean }
|
|
220
|
-
Rules: Cần biết: khi nào trả 404 vs data rỗng? Error shape là gì?
|
|
221
|
-
```
|
|
222
|
-
→ AI phân tích: type generation từ API response, error boundary design,
|
|
223
|
-
loading state granularity, stale-while-revalidate strategy, mock data cho dev.
|
|
224
|
-
|
|
225
|
-
**role: data** *(API nhận dữ liệu từ pipeline)*
|
|
226
|
-
```
|
|
227
|
-
Endpoint: POST /api/ingest/events (webhook từ data pipeline)
|
|
228
|
-
Mục đích: Nhận batch events từ Kafka consumer, validate và lưu vào DB
|
|
229
|
-
Auth: Service-to-service API key
|
|
230
|
-
Input: { events: [{ type, payload, timestamp, source }], batchId }
|
|
231
|
-
Output: 202 { accepted: N, rejected: M, errors: [] }
|
|
232
|
-
Rules: Idempotent theo batchId. Reject invalid schema nhưng không fail toàn batch.
|
|
233
|
-
Rate limit: 1000 events/request, 100 req/min.
|
|
234
|
-
```
|
|
235
|
-
→ AI thiết kế: bulk insert strategy, partial failure handling,
|
|
236
|
-
schema validation per-row vs batch-level, idempotency key indexing,
|
|
237
|
-
backpressure mechanism khi DB chậm.
|
|
238
|
-
|
|
239
|
-
**role: devops** *(API health + observability endpoints)*
|
|
240
|
-
```
|
|
241
|
-
Endpoint: GET /health, GET /metrics, GET /ready
|
|
242
|
-
Mục đích: Kubernetes liveness/readiness probe + Prometheus scraping
|
|
243
|
-
Auth: Internal only (không expose ra public)
|
|
244
|
-
Output: /health: { status: "ok", uptime, version }
|
|
245
|
-
/metrics: Prometheus format
|
|
246
|
-
/ready: 200 nếu DB connected, 503 nếu không
|
|
247
|
-
Rules: /health không check DB (liveness). /ready check DB (readiness).
|
|
248
|
-
/metrics không cần auth nhưng chỉ bind localhost.
|
|
249
|
-
```
|
|
250
|
-
→ AI thiết kế: liveness vs readiness semantics, graceful shutdown handling,
|
|
251
|
-
metric naming convention (RED method), scrape security, k8s probe config.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-api-lifecycle"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Thiết kế, triển khai API endpoints với Zero-Trust — contract trước, code sau."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "api-contracts"
|
|
12
|
-
- "endpoints"
|
|
13
|
-
references:
|
|
14
|
-
- "architecture"
|
|
15
|
-
- "security"
|
|
16
|
-
- "anti-patterns"
|
|
17
|
-
eval:
|
|
18
|
-
scorecard: "evals/scorecard.yaml"
|
|
19
|
-
decision_boundary:
|
|
20
|
-
owns:
|
|
21
|
-
- "qk-api-lifecycle"
|
|
22
|
-
does_not_own: []
|
|
23
|
-
conflicts_with: []
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
name: qk-api-lifecycle-eval
|
|
2
|
-
description: Đánh giá chất lượng thiết kế và triển khai API
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 90 # Tiêu chuẩn cao vì liên quan đến hợp đồng dữ liệu và bảo mật cổng vào
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: contract_first_design
|
|
8
|
-
name: Thiết kế theo hợp đồng (Contract-first)
|
|
9
|
-
description: Agent có định nghĩa Types/Interfaces rõ ràng trước khi code logic không?
|
|
10
|
-
weight: 30
|
|
11
|
-
criteria:
|
|
12
|
-
- Định nghĩa rõ ràng Request & Response structure bằng TypeScript interface / DTO (15đ)
|
|
13
|
-
- Khai báo đầy đủ HTTP method, route path và các HTTP status codes có thể trả về (15đ)
|
|
14
|
-
|
|
15
|
-
- id: zero_trust_validation
|
|
16
|
-
name: Tuân thủ Zero-Trust (R-SEC-04)
|
|
17
|
-
description: Mọi API Endpoint có được bảo vệ và validate dữ liệu ở cổng vào không?
|
|
18
|
-
weight: 40
|
|
19
|
-
criteria:
|
|
20
|
-
- Áp dụng thư viện validation (zod/yup/class-validator) cho toàn bộ input payload (20đ)
|
|
21
|
-
- Không rò rỉ dữ liệu nhạy cảm ở response cổng ra (sanitize/mask data) (20đ)
|
|
22
|
-
|
|
23
|
-
- id: error_handling_and_compat
|
|
24
|
-
name: Xử lý lỗi và Tương thích ngược
|
|
25
|
-
description: API có xử lý mượt mà các tình huống lỗi và giữ tính backward compatibility không?
|
|
26
|
-
weight: 30
|
|
27
|
-
criteria:
|
|
28
|
-
- Trả về đúng HTTP status code (400, 401, 403, 404, 422, 500) thay vì trả 500 cho mọi lỗi (15đ)
|
|
29
|
-
- Không làm hỏng (breaking changes) các trường dữ liệu của contract cũ mà không tăng version (15đ)
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-bug-resolution"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Sửa lỗi (bugs) bằng chu trình khép kín: Quan sát → Giả thuyết → Bằng chứng → Sửa."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "bug-diagnosis"
|
|
12
|
-
- "fix-strategies"
|
|
13
|
-
- "root-cause-analysis"
|
|
14
|
-
references:
|
|
15
|
-
- "testing"
|
|
16
|
-
- "language-specific-features"
|
|
17
|
-
- "security"
|
|
18
|
-
- "anti-patterns"
|
|
19
|
-
eval:
|
|
20
|
-
scorecard: "evals/scorecard.yaml"
|
|
21
|
-
decision_boundary:
|
|
22
|
-
owns:
|
|
23
|
-
- "qk-bug-resolution"
|
|
24
|
-
does_not_own: []
|
|
25
|
-
conflicts_with: []
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-code-review"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Elite AI/Code Review System: Kiểm toán, Review code và cấu hình AI với tư duy Architect, áp dụng 4-Phase Review."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
knowledge:
|
|
9
|
-
owns:
|
|
10
|
-
- "code-review-standards"
|
|
11
|
-
- "ai-configuration-review"
|
|
12
|
-
- "feedback-delivery"
|
|
13
|
-
references:
|
|
14
|
-
- "architecture"
|
|
15
|
-
- "security"
|
|
16
|
-
- "anti-patterns"
|
|
17
|
-
eval:
|
|
18
|
-
scorecard: "evals/scorecard.yaml"
|
|
19
|
-
decision_boundary:
|
|
20
|
-
owns:
|
|
21
|
-
- "qk-code-review"
|
|
22
|
-
does_not_own: []
|
|
23
|
-
conflicts_with: []
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-context-loader
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: stable
|
|
6
|
-
description: "Khảo sát kiến trúc codebase, phân tích import graph, lập bản đồ phụ thuộc và tải context chính xác trước khi code — ngăn hallucination kiến trúc. Dùng skill này khi user nhắc đến: load context, understand project, vẽ dependency graph, analyze architecture, giải thích kiến trúc dự án, tìm hiểu codebase — kể cả khi chỉ hỏi 'dự án này tổ chức thế nào'."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: utility
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- context-loading
|
|
14
|
-
- project-understanding
|
|
15
|
-
- repository-analysis
|
|
16
|
-
|
|
17
|
-
complexity:
|
|
18
|
-
level: low
|
|
19
|
-
criteria:
|
|
20
|
-
files_affected: "1-5"
|
|
21
|
-
has_behavior_change: false
|
|
22
|
-
has_external_dependency: false
|
|
23
|
-
has_breaking_change: false
|
|
24
|
-
|
|
25
|
-
triggers:
|
|
26
|
-
- "load context"
|
|
27
|
-
- "understand project"
|
|
28
|
-
- "vẽ dependency graph"
|
|
29
|
-
- "analyze architecture"
|
|
30
|
-
- "giải thích kiến trúc dự án"
|
|
31
|
-
- "tìm hiểu codebase"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
selection:
|
|
35
|
-
priority: high
|
|
36
|
-
confidence_threshold: 0.75
|
|
37
|
-
|
|
38
|
-
# ── V8: References ─────────────────────────────────────────
|
|
39
|
-
workflow: context-discovery
|
|
40
|
-
|
|
41
|
-
rules:
|
|
42
|
-
- global
|
|
43
|
-
|
|
44
|
-
tools:
|
|
45
|
-
- filesystem
|
|
46
|
-
- terminal
|
|
47
|
-
|
|
48
|
-
related_skills:
|
|
49
|
-
- qk-feature-delivery
|
|
50
|
-
- qk-orchestrator
|
|
51
|
-
- qk-project-memory
|
|
52
|
-
|
|
53
|
-
knowledge_scope:
|
|
54
|
-
owns:
|
|
55
|
-
- project-context
|
|
56
|
-
- architecture-discovery
|
|
57
|
-
- dependency-mapping
|
|
58
|
-
references:
|
|
59
|
-
- coding
|
|
60
|
-
- repository-structure
|
|
61
|
-
|
|
62
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
63
|
-
verification:
|
|
64
|
-
required: true
|
|
65
|
-
strategy: review
|
|
66
|
-
|
|
67
|
-
examples: []
|
|
68
|
-
learnings: []
|
|
69
|
-
|
|
70
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
71
|
-
execution_mode: deterministic
|
|
72
|
-
cost: low
|
|
73
|
-
latency: fast
|
|
74
|
-
risk: low
|
|
75
|
-
side_effects: read_only
|
|
76
|
-
produces: [context-graph]
|
|
77
|
-
consumes: [source-code]
|
|
78
|
-
|
|
79
|
-
token_budget:
|
|
80
|
-
max_files_read: 10
|
|
81
|
-
max_lines_per_read: 150
|
|
82
|
-
max_shell_commands: 2
|
|
83
|
-
stop_early: true
|
|
84
|
-
|
|
85
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
# qk-context-loader — Dependency Graph & Architecture Discovery
|
|
89
|
-
|
|
90
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
91
|
-
|
|
92
|
-
Chịu trách nhiệm thấu hiểu cấu trúc dự án và thiết lập bản đồ phụ thuộc (Dependency Graph) chuẩn xác trước khi viết bất kỳ dòng code nào. **Mục tiêu tối thượng: Ngăn chặn triệt để AI hallucination về kiến trúc, conventions và vị trí đặt file**.
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Preconditions
|
|
97
|
-
|
|
98
|
-
Trước khi chạy khảo sát, AI BẮT BUỘC kiểm tra:
|
|
99
|
-
|
|
100
|
-
- [ ] Workspace chứa mã nguồn thực tế (tồn tại ít nhất 1 file manifest: `package.json`, `go.mod`, `pyproject.toml`, `Cargo.toml`, `pom.xml`, v.v.).
|
|
101
|
-
- [ ] Xác định rõ phạm vi cần load: Toàn bộ repo (Full system) hay Module / Feature cụ thể.
|
|
102
|
-
- [ ] Đọc `.ai-local/knowledge/index.yaml` (nếu có) để tái sử dụng kiến thức đã lưu thay vì quét lại từ đầu.
|
|
103
|
-
|
|
104
|
-
*Nếu thư mục dự án hoàn toàn trống:*
|
|
105
|
-
→ **EXIT: BLOCKED**
|
|
106
|
-
→ Gợi ý: "Dự án chưa có mã nguồn. Vui lòng chạy `./qk-project-bootstrap` để khởi tạo framework và scaffolding ban đầu."
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Scope
|
|
111
|
-
|
|
112
|
-
✅ Skill này làm:
|
|
113
|
-
- Đọc các tệp manifest và xác định chính xác Tech Stack, Runtime, State library, CSS framework, ORM.
|
|
114
|
-
- Khảo sát cây thư mục theo độ sâu hợp lý (Max depth = 3) để nhận diện mô hình tổ chức (Modular, Layered, Feature-sliced, Domain-driven, Monorepo).
|
|
115
|
-
- Phân tích Entry Point (`main`, `index`, `server`, `App`, router configuration).
|
|
116
|
-
- Lập sơ đồ phụ thuộc (Dependency Flow / Architecture Diagram bằng Mermaid) từ Controller/Route → Service/UseCase → Repository/Model.
|
|
117
|
-
- Trích xuất Conventions: đặt tên file, patterns xử lý lỗi, cơ chế Dependency Injection.
|
|
118
|
-
- Cập nhật thông tin vào bộ nhớ phiên làm việc của AI.
|
|
119
|
-
|
|
120
|
-
❌ Skill này KHÔNG làm:
|
|
121
|
-
- Sửa đổi bất kỳ file nào trong dự án (`side_effects: read_only`).
|
|
122
|
-
- Dump toàn bộ code files vào context làm cạn kiệt token budget.
|
|
123
|
-
- Đánh giá chất lượng chi tiết code smells (thuộc `qk-project-health`).
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Execution Steps
|
|
128
|
-
|
|
129
|
-
### Step 1 — Nhận diện Tech Stack & Manifest
|
|
130
|
-
```
|
|
131
|
-
Inputs: Thư mục gốc của project
|
|
132
|
-
Actions:
|
|
133
|
-
- Đọc file manifest chính (package.json, pyproject.toml, go.mod...).
|
|
134
|
-
- Trích xuất: ngôn ngữ chính, runtime version, framework, ORM, state library, test runner.
|
|
135
|
-
- Đối chiếu với DEV_PROFILE.md nếu có.
|
|
136
|
-
Outputs: Stack Profile tóm tắt
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Step 2 — Khảo sát Cấu trúc Thư mục & Entry Points
|
|
140
|
-
```
|
|
141
|
-
Actions:
|
|
142
|
-
- Chạy `list_dir` hoặc `find_by_name` với MaxDepth=2 trên src/ hoặc app/.
|
|
143
|
-
- Xác định vị trí các tầng:
|
|
144
|
-
- Routes / Controllers / API Handlers
|
|
145
|
-
- Business Logic / Services / Use Cases
|
|
146
|
-
- Data Access / Repositories / Entities / Models
|
|
147
|
-
- Shared / Utils / Components / Middleware
|
|
148
|
-
- Đọc entry point file chính (max 80 dòng đầu).
|
|
149
|
-
Outputs: Sơ đồ phân tầng kiến trúc (Architectural Layers)
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Step 3 — Phân tích Luồng phụ thuộc (Dependency Tracing)
|
|
153
|
-
```
|
|
154
|
-
Actions:
|
|
155
|
-
- Chọn 1 feature tiêu biểu, trace import statements từ UI/Controller xuống DB.
|
|
156
|
-
- Xác định:
|
|
157
|
-
- Có dùng Dependency Injection không?
|
|
158
|
-
- Shared types/DTOs nằm ở đâu?
|
|
159
|
-
- Data fetching pattern: Client-side hook, Server Component, hay REST client?
|
|
160
|
-
Outputs: Dependency Graph (Mermaid flowchart)
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Step 4 — Tổng hợp Context Report
|
|
164
|
-
```
|
|
165
|
-
Actions:
|
|
166
|
-
- Xuất báo cáo ngắn gọn, súc tích (dưới 40 dòng) gồm:
|
|
167
|
-
1. Kiến trúc tổng quan (Pattern & Style).
|
|
168
|
-
2. Quy ước đặt file & Naming conventions.
|
|
169
|
-
3. Đường đi của luồng dữ liệu (Data Flow).
|
|
170
|
-
4. Sơ đồ Mermaid trực quan.
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## Prompt Template
|
|
176
|
-
|
|
177
|
-
```
|
|
178
|
-
Phạm vi: [Toàn bộ dự án / Module X / Tính năng Y]
|
|
179
|
-
Mục tiêu: [Tìm hiểu kiến trúc trước khi thêm feature / refactor / debug]
|
|
180
|
-
Câu hỏi cần: [Data flow đi như thế nào? / Types đặt ở đâu? / Service kết nối DB ra sao?]
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Ví dụ theo Role:
|
|
184
|
-
|
|
185
|
-
**role: fullstack (Khảo sát Next.js 14 Monorepo)**
|
|
186
|
-
```
|
|
187
|
-
Phạm vi: apps/web và packages/api
|
|
188
|
-
Mục tiêu: Nắm rõ cách web gọi API và chia sẻ types giữa FE và BE.
|
|
189
|
-
```
|
|
190
|
-
→ AI trace: `packages/api/src/routers` → xuất `tRPC router` → `apps/web/src/utils/trpc.ts` → import types trong `apps/web/src/app/page.tsx`.
|
|
191
|
-
→ AI vẽ sơ đồ Mermaid luồng type-safe RPC từ client tới DB query.
|
|
192
|
-
|
|
193
|
-
**role: be (Khảo sát Clean Architecture NestJS)**
|
|
194
|
-
```
|
|
195
|
-
Phạm vi: src/modules/orders
|
|
196
|
-
Mục tiêu: Hiểu luồng xử lý Order: DTO -> Controller -> UseCase -> Prisma Repository.
|
|
197
|
-
```
|
|
198
|
-
→ AI liệt kê cấu trúc layers, quy ước DTO validation, và cách inject repository vào service.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-context-loader"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Tải context và vẽ dependency graph chính xác trước khi code — ngăn hallucination kiến trúc."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "project-context"
|
|
12
|
-
- "architecture-discovery"
|
|
13
|
-
references:
|
|
14
|
-
- "coding"
|
|
15
|
-
- "repository-structure"
|
|
16
|
-
- "anti-patterns"
|
|
17
|
-
eval:
|
|
18
|
-
scorecard: "evals/scorecard.yaml"
|
|
19
|
-
decision_boundary:
|
|
20
|
-
owns:
|
|
21
|
-
- "qk-context-loader"
|
|
22
|
-
does_not_own: []
|
|
23
|
-
conflicts_with: []
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: qk-context-loader-eval
|
|
2
|
-
description: Đánh giá khả năng phân tích kiến trúc và tải context
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Tính chính xác của context là cốt lõi để tránh hallucination
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: accurate_graph_traversal
|
|
8
|
-
name: Phân tích Graph chính xác và giới hạn
|
|
9
|
-
description: Agent có tuân thủ giới hạn chiều sâu và không quét thừa file không?
|
|
10
|
-
weight: 35
|
|
11
|
-
criteria:
|
|
12
|
-
- Quét đúng dependency graph từ entry point (15đ)
|
|
13
|
-
- Tuân thủ giới hạn max depth 3 và max_files_read, không bị tràn (infinite loop) (20đ)
|
|
14
|
-
|
|
15
|
-
- id: risk_assessment
|
|
16
|
-
name: Đánh giá mức độ rủi ro (Risk Assessment)
|
|
17
|
-
description: Agent có nhận diện đúng các module dùng chung (shared) hoặc vi phạm ranh giới không?
|
|
18
|
-
weight: 35
|
|
19
|
-
criteria:
|
|
20
|
-
- Đánh dấu chính xác các file được import nhiều lần là HIGH/CRITICAL risk (20đ)
|
|
21
|
-
- Phát hiện được các file vi phạm cấu trúc (vd: trộn lẫn Server Logic và Client UI) (15đ)
|
|
22
|
-
|
|
23
|
-
- id: strict_json_output
|
|
24
|
-
name: Định dạng Output JSON chuẩn mực
|
|
25
|
-
description: Agent có xuất ra được JSON Schema như yêu cầu để các agent khác đọc không?
|
|
26
|
-
weight: 30
|
|
27
|
-
criteria:
|
|
28
|
-
- Định dạng JSON trả về chứa đầy đủ nodes, imports, exports và risks theo đúng schema (30đ)
|