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,372 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-project-bootstrap
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: stable
|
|
6
|
-
description: "Khởi tạo dự án mới HOẶC setup DEV_PROFILE.md cho dự án đang chạy — auto-detect stack từ manifest files, không hỏi lại những gì đã có thể đọc được. Dùng skill này khi user nhắc đến: khởi tạo dự án, project setup, scaffold, bootstrap, new app, setup dev profile, detect stack, cấu hình skin — kể cả khi chỉ nói 'bắt đầu dự án mới'."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── Classification ─────────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- project-initialization
|
|
14
|
-
- dev-profile-setup
|
|
15
|
-
- stack-detection
|
|
16
|
-
- scaffolding
|
|
17
|
-
|
|
18
|
-
complexity:
|
|
19
|
-
level: high
|
|
20
|
-
criteria:
|
|
21
|
-
files_affected: "10+"
|
|
22
|
-
has_behavior_change: false
|
|
23
|
-
has_external_dependency: false
|
|
24
|
-
has_breaking_change: false
|
|
25
|
-
|
|
26
|
-
triggers:
|
|
27
|
-
- "khởi tạo dự án"
|
|
28
|
-
- "project setup"
|
|
29
|
-
- "scaffold"
|
|
30
|
-
- "bootstrap"
|
|
31
|
-
- "new app"
|
|
32
|
-
- "setup dev profile"
|
|
33
|
-
- "detect stack"
|
|
34
|
-
- "cấu hình skin"
|
|
35
|
-
|
|
36
|
-
# ── References ─────────────────────────────────────────────
|
|
37
|
-
workflow: feature-delivery
|
|
38
|
-
|
|
39
|
-
rules:
|
|
40
|
-
- global
|
|
41
|
-
- safety
|
|
42
|
-
|
|
43
|
-
tools:
|
|
44
|
-
- filesystem
|
|
45
|
-
- terminal
|
|
46
|
-
|
|
47
|
-
related_skills:
|
|
48
|
-
- qk-context-loader # Load sau khi DEV_PROFILE.md đã được tạo
|
|
49
|
-
|
|
50
|
-
knowledge_scope:
|
|
51
|
-
owns:
|
|
52
|
-
- project-structure
|
|
53
|
-
- dev-profile-setup
|
|
54
|
-
- stack-detection
|
|
55
|
-
references:
|
|
56
|
-
- architecture
|
|
57
|
-
- security
|
|
58
|
-
|
|
59
|
-
# ── Verification ───────────────────────────────────────────
|
|
60
|
-
verification:
|
|
61
|
-
required: true
|
|
62
|
-
strategy: bootstrap
|
|
63
|
-
|
|
64
|
-
examples: []
|
|
65
|
-
learnings: []
|
|
66
|
-
|
|
67
|
-
# ── Runtime ────────────────────────────────────────────────
|
|
68
|
-
execution_mode: deterministic
|
|
69
|
-
cost: low
|
|
70
|
-
latency: fast
|
|
71
|
-
risk: low
|
|
72
|
-
side_effects: create_files
|
|
73
|
-
produces: [dev-profile, scaffold]
|
|
74
|
-
consumes: [manifest-files, user-description]
|
|
75
|
-
|
|
76
|
-
token_budget:
|
|
77
|
-
max_files_read: 10
|
|
78
|
-
max_lines_per_read: 80
|
|
79
|
-
max_shell_commands: 2
|
|
80
|
-
stop_early: true
|
|
81
|
-
|
|
82
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
# qk-project-bootstrap — Project Setup & Stack Detection
|
|
86
|
-
|
|
87
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Preconditions
|
|
92
|
-
|
|
93
|
-
Trước khi khởi tạo dự án hoặc setup DEV_PROFILE.md, AI BẮT BUỘC kiểm tra:
|
|
94
|
-
|
|
95
|
-
- [ ] Xác định thư mục root của dự án.
|
|
96
|
-
- [ ] Kiểm tra xem thư mục có file manifest nào tồn tại không (`package.json`, `requirements.txt`, `go.mod`, `Cargo.toml`, v.v.) để chọn Mode A (dự án mới) hay Mode B (dự án hiện có).
|
|
97
|
-
- [ ] Kiểm tra xem `.agents/DEV_PROFILE.md` đã tồn tại chưa. Nếu đã có và user không yêu cầu ghi đè:
|
|
98
|
-
→ **EXIT: PARTIAL**
|
|
99
|
-
→ Đề xuất cập nhật hoặc giữ nguyên thay vì overwrite toàn bộ.
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Hai chế độ hoạt động
|
|
104
|
-
|
|
105
|
-
**Mode A — New Project:** Tạo project mới từ đầu theo Blueprint template
|
|
106
|
-
**Mode B — Existing Project:** Scan project đang có, detect stack, tạo/cập nhật `DEV_PROFILE.md`
|
|
107
|
-
|
|
108
|
-
AI tự xác định mode dựa vào context:
|
|
109
|
-
- Có `package.json` / `requirements.txt` / `go.mod` tồn tại → **Mode B**
|
|
110
|
-
- Không có gì → **Mode A**
|
|
111
|
-
- User nói rõ → follow user
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Scope
|
|
116
|
-
|
|
117
|
-
✅ Skill này làm:
|
|
118
|
-
- Auto-detect tech stack từ manifest files
|
|
119
|
-
- Tạo / cập nhật `.agents/DEV_PROFILE.md` với stack được detect
|
|
120
|
-
- Tạo cấu trúc project theo Blueprint template đúng loại
|
|
121
|
-
- Setup `.gitignore`, `.env.example`, `README.md` ban đầu
|
|
122
|
-
- Gợi ý skills phù hợp với stack được detect
|
|
123
|
-
|
|
124
|
-
❌ Skill này KHÔNG làm:
|
|
125
|
-
- Viết business logic hay feature code
|
|
126
|
-
- Setup CI/CD pipeline (→ `qk-devops-platform`)
|
|
127
|
-
- Deploy hay publish (→ `qk-production-release`)
|
|
128
|
-
- Viết test (→ `qk-test-engineering`)
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Execution Steps — Mode B: Detect Stack cho dự án đang có
|
|
133
|
-
|
|
134
|
-
> Đây là mode quan trọng nhất — dùng khi muốn setup skin cho project hiện tại.
|
|
135
|
-
|
|
136
|
-
### Step 1 — Scan Manifest Files
|
|
137
|
-
```
|
|
138
|
-
Actions (chạy song song, đọc lần lượt từng file nếu tồn tại):
|
|
139
|
-
|
|
140
|
-
JavaScript / TypeScript:
|
|
141
|
-
- package.json → dependencies, devDependencies, scripts
|
|
142
|
-
- tsconfig.json → strict mode, paths, target
|
|
143
|
-
- .nvmrc / .node-version → Node version
|
|
144
|
-
|
|
145
|
-
Python:
|
|
146
|
-
- requirements.txt / requirements/*.txt
|
|
147
|
-
- pyproject.toml (poetry/pdm sections)
|
|
148
|
-
- setup.py / setup.cfg
|
|
149
|
-
- Pipfile
|
|
150
|
-
|
|
151
|
-
Go:
|
|
152
|
-
- go.mod → module name, Go version, dependencies
|
|
153
|
-
|
|
154
|
-
Rust:
|
|
155
|
-
- Cargo.toml
|
|
156
|
-
|
|
157
|
-
Java / Kotlin:
|
|
158
|
-
- pom.xml / build.gradle / build.gradle.kts
|
|
159
|
-
|
|
160
|
-
Data / AI:
|
|
161
|
-
- dbt_project.yml → dbt version, profile
|
|
162
|
-
- airflow.cfg / dag folder structure
|
|
163
|
-
- mlflow.yml / kedro.yml
|
|
164
|
-
- .env.example → DB_URL, OPENAI_API_KEY hints
|
|
165
|
-
|
|
166
|
-
Infrastructure:
|
|
167
|
-
- docker-compose.yml → services (db type, cache, queue)
|
|
168
|
-
- Dockerfile → base image → language + version
|
|
169
|
-
- .github/workflows/ → CI tools
|
|
170
|
-
- terraform/ / pulumi/ → infra provider
|
|
171
|
-
|
|
172
|
-
Output: raw_detected = { language, frameworks[], databases[], tools[] }
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Step 2 — Classify Stack
|
|
176
|
-
```
|
|
177
|
-
Inputs: raw_detected
|
|
178
|
-
Actions:
|
|
179
|
-
Determine role từ stack combination:
|
|
180
|
-
|
|
181
|
-
fe: React/Vue/Angular + NO backend framework trong cùng repo
|
|
182
|
-
be: Express/FastAPI/NestJS/Django + NO React/Vue trong cùng repo
|
|
183
|
-
fullstack: Frontend framework + Backend framework TRONG CÙNG REPO
|
|
184
|
-
(Next.js = fullstack mặc định; Nuxt = fullstack mặc định)
|
|
185
|
-
data: dbt / Airflow / Spark / Dagster / Prefect / Pandas heavy
|
|
186
|
-
ai-engineer: LangChain / LlamaIndex / OpenAI SDK + vector DB
|
|
187
|
-
devops: Terraform / Pulumi / GitHub Actions heavy, ít application code
|
|
188
|
-
|
|
189
|
-
Nếu ambiguous → default: fullstack, ghi chú để user confirm
|
|
190
|
-
|
|
191
|
-
Map dependencies → specific stack fields:
|
|
192
|
-
|
|
193
|
-
frontend: next → "Next.js", nuxt → "Nuxt 3", react (no next) → "React",
|
|
194
|
-
vue → "Vue 3", angular → "Angular", svelte → "SvelteKit"
|
|
195
|
-
backend: express → "Express", fastapi → "FastAPI", nestjs → "NestJS",
|
|
196
|
-
django → "Django", laravel → "Laravel", gin → "Gin (Go)"
|
|
197
|
-
database: pg/postgres → "PostgreSQL", mysql → "MySQL",
|
|
198
|
-
mongodb → "MongoDB", sqlite → "SQLite",
|
|
199
|
-
supabase → "Supabase", prisma → also check schema.prisma
|
|
200
|
-
orm: prisma → "Prisma", typeorm → "TypeORM", drizzle → "Drizzle",
|
|
201
|
-
sqlalchemy → "SQLAlchemy", sequelize → "Sequelize"
|
|
202
|
-
css: tailwind → "Tailwind CSS", sass/scss → "SCSS",
|
|
203
|
-
styled-components → "Styled Components", @emotion → "Emotion"
|
|
204
|
-
state: zustand → "Zustand", redux → "Redux Toolkit",
|
|
205
|
-
jotai → "Jotai", pinia → "Pinia", @tanstack/query → "React Query"
|
|
206
|
-
auth: next-auth/auth.js → "NextAuth", clerk → "Clerk",
|
|
207
|
-
passport → "Passport.js", supabase/auth → "Supabase Auth"
|
|
208
|
-
test: jest → "Jest", vitest → "Vitest", pytest → "Pytest",
|
|
209
|
-
playwright → "Playwright", cypress → "Cypress"
|
|
210
|
-
language: typescript in deps → "TypeScript", python → "Python",
|
|
211
|
-
go.mod exists → "Go"
|
|
212
|
-
|
|
213
|
-
Output: classified_stack = fully mapped stack object
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Step 3 — Tạo / Cập nhật DEV_PROFILE.md
|
|
217
|
-
```
|
|
218
|
-
Inputs: classified_stack, detected role
|
|
219
|
-
Actions:
|
|
220
|
-
- Đọc DEV_PROFILE.md hiện tại nếu tồn tại (không overwrite những gì user đã điền)
|
|
221
|
-
- Điền các field detect được, giữ nguyên field user đã điền tay
|
|
222
|
-
- Để trống những field không detect được (không đoán mò)
|
|
223
|
-
- Thêm comment "# auto-detected" sau mỗi giá trị được detect
|
|
224
|
-
- Nếu có conflict giữa detected và existing → giữ existing, ghi chú
|
|
225
|
-
|
|
226
|
-
Output: .agents/DEV_PROFILE.md được điền đầy đủ phần detect được
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### Step 4 — Report & Suggest Next Steps
|
|
230
|
-
```
|
|
231
|
-
Actions:
|
|
232
|
-
- Hiển thị detected stack summary cho user confirm
|
|
233
|
-
- List những field còn trống cần user điền tay
|
|
234
|
-
- Suggest 3 skills phù hợp nhất để bắt đầu với stack này
|
|
235
|
-
- Suggest conventions dựa trên stack (ví dụ: Next.js → feature-based folder)
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## Execution Steps — Mode A: New Project
|
|
241
|
-
|
|
242
|
-
### Blueprint Types
|
|
243
|
-
|
|
244
|
-
**Type 1: Standard Web App** (fe / be / fullstack)
|
|
245
|
-
```
|
|
246
|
-
Cấu trúc:
|
|
247
|
-
src/
|
|
248
|
-
├── features/ # Feature-based modules
|
|
249
|
-
├── components/ # Shared UI components
|
|
250
|
-
├── lib/ # Utilities, helpers
|
|
251
|
-
├── hooks/ # Custom React hooks (nếu React)
|
|
252
|
-
├── types/ # TypeScript interfaces
|
|
253
|
-
├── api/ # API layer / service functions
|
|
254
|
-
└── config/ # App configuration
|
|
255
|
-
|
|
256
|
-
Files sinh ra:
|
|
257
|
-
.gitignore, .env.example, README.md,
|
|
258
|
-
DESIGN.md (placeholder), .agents/DEV_PROFILE.md (pre-filled)
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
**Type 2: RAG / AI Agent** (ai-engineer)
|
|
262
|
-
```
|
|
263
|
-
Cấu trúc (4-folder chuẩn):
|
|
264
|
-
prompts/ # System prompts, few-shot examples
|
|
265
|
-
data/
|
|
266
|
-
├── raw/ # Source data — KHÔNG bao giờ edit
|
|
267
|
-
├── processed/ # Cleaned, chunked
|
|
268
|
-
└── embeddings/ # Vector representations
|
|
269
|
-
agents/ # Agent definitions, tool configs
|
|
270
|
-
evals/
|
|
271
|
-
├── traces/ # Execution logs
|
|
272
|
-
├── datasets/ # Golden Q&A sets
|
|
273
|
-
└── scorecards/ # Metric definitions
|
|
274
|
-
|
|
275
|
-
Files sinh ra:
|
|
276
|
-
.gitignore (data/raw/, .env), .env.example,
|
|
277
|
-
README.md, .agents/DEV_PROFILE.md (ai-engineer role pre-filled)
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
**Type 3: Data Pipeline** (data)
|
|
281
|
-
```
|
|
282
|
-
Cấu trúc:
|
|
283
|
-
dags/ / pipelines/ # DAG definitions
|
|
284
|
-
models/
|
|
285
|
-
├── staging/ # Raw → cleaned
|
|
286
|
-
├── intermediate/ # Business transforms
|
|
287
|
-
└── mart/ # Final analytics tables
|
|
288
|
-
tests/ # Data quality tests
|
|
289
|
-
docs/ # Data lineage docs
|
|
290
|
-
seeds/ # Static reference data
|
|
291
|
-
|
|
292
|
-
Files sinh ra:
|
|
293
|
-
.gitignore, .env.example, README.md,
|
|
294
|
-
dbt_project.yml (nếu dbt), .agents/DEV_PROFILE.md (data role)
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
**Type 4: DevOps / Platform** (devops)
|
|
298
|
-
```
|
|
299
|
-
Cấu trúc:
|
|
300
|
-
.github/workflows/ # CI/CD pipelines
|
|
301
|
-
terraform/ / pulumi/ # IaC modules
|
|
302
|
-
scripts/ # Automation scripts
|
|
303
|
-
docs/
|
|
304
|
-
├── runbooks/ # Incident response
|
|
305
|
-
└── architecture/ # System diagrams
|
|
306
|
-
|
|
307
|
-
Files sinh ra:
|
|
308
|
-
.gitignore, .env.example, README.md,
|
|
309
|
-
.agents/DEV_PROFILE.md (devops role)
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
## Prompt Template
|
|
315
|
-
|
|
316
|
-
```
|
|
317
|
-
Mode: [new / existing / profile-only]
|
|
318
|
-
Role: [fe / be / fullstack / data / ai-engineer / devops — hoặc "auto-detect"]
|
|
319
|
-
Name: [Tên project]
|
|
320
|
-
Mô tả: [1-2 câu app làm gì]
|
|
321
|
-
Stack: [Nếu biết rồi — hoặc để trống để AI detect]
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
### Ví dụ theo từng tình huống:
|
|
327
|
-
|
|
328
|
-
**Tình huống 1 — Dự án đang có, muốn setup DEV_PROFILE nhanh**
|
|
329
|
-
```
|
|
330
|
-
Mode: existing
|
|
331
|
-
Role: auto-detect
|
|
332
|
-
Name: (đọc từ project)
|
|
333
|
-
```
|
|
334
|
-
→ AI scan `package.json`, detect `Next.js + Prisma + Tailwind + TypeScript`,
|
|
335
|
-
điền DEV_PROFILE.md với `role: fullstack`, toàn bộ stack fields,
|
|
336
|
-
gợi ý: "Tiếp theo dùng `qk-feature-delivery` để build feature đầu tiên".
|
|
337
|
-
|
|
338
|
-
**Tình huống 2 — Dự án mới Fullstack**
|
|
339
|
-
```
|
|
340
|
-
Mode: new
|
|
341
|
-
Role: fullstack
|
|
342
|
-
Name: ecommerce-platform
|
|
343
|
-
Mô tả: Nền tảng thương mại điện tử B2C — quản lý sản phẩm, đơn hàng, thanh toán
|
|
344
|
-
Stack: Next.js 14 + Prisma + PostgreSQL + Tailwind + TypeScript
|
|
345
|
-
```
|
|
346
|
-
→ AI tạo: folder structure theo Standard Web App blueprint,
|
|
347
|
-
`.env.example` với `DATABASE_URL`, `NEXTAUTH_SECRET`, `STRIPE_SECRET_KEY`,
|
|
348
|
-
`README.md` với setup instructions, `DEV_PROFILE.md` pre-filled.
|
|
349
|
-
|
|
350
|
-
**Tình huống 3 — Setup RAG pipeline**
|
|
351
|
-
```
|
|
352
|
-
Mode: new
|
|
353
|
-
Role: ai-engineer
|
|
354
|
-
Name: internal-kb-assistant
|
|
355
|
-
Mô tả: Q&A bot trả lời từ tài liệu nội bộ công ty (PDF, Confluence)
|
|
356
|
-
Stack: OpenAI GPT-4o + pgvector + LangChain + FastAPI
|
|
357
|
-
```
|
|
358
|
-
→ AI tạo: 4-folder AI structure, `prompts/system.txt` placeholder,
|
|
359
|
-
`evals/scorecards/rag_metrics.yml` template (faithfulness, relevance, groundedness),
|
|
360
|
-
`DEV_PROFILE.md` với `role: ai-engineer`, full `data_stack` filled.
|
|
361
|
-
|
|
362
|
-
**Tình huống 4 — Data pipeline mới**
|
|
363
|
-
```
|
|
364
|
-
Mode: new
|
|
365
|
-
Role: data
|
|
366
|
-
Name: sales-analytics
|
|
367
|
-
Mô tả: Pipeline load sales data từ Salesforce → BigQuery, build mart cho dashboard
|
|
368
|
-
Stack: dbt + Airflow + BigQuery + Python
|
|
369
|
-
```
|
|
370
|
-
→ AI tạo: dbt project structure (staging/intermediate/mart),
|
|
371
|
-
`dbt_project.yml`, Airflow DAG folder, `DEV_PROFILE.md` với `role: data`,
|
|
372
|
-
full `data_stack` (pipeline: "dbt + Airflow", warehouse: "BigQuery").
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-project-bootstrap"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Khởi tạo dự án mới theo chuẩn V8.2 Blueprint Plugin Generator (project.yaml, 4-folder AI RAG hoặc Coding) với cấu trúc kiên cường."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "project-structure"
|
|
12
|
-
- "initial-setup"
|
|
13
|
-
references:
|
|
14
|
-
- "architecture"
|
|
15
|
-
- "security"
|
|
16
|
-
- "anti-patterns"
|
|
17
|
-
eval:
|
|
18
|
-
scorecard: "evals/scorecard.yaml"
|
|
19
|
-
decision_boundary:
|
|
20
|
-
owns:
|
|
21
|
-
- "qk-project-bootstrap"
|
|
22
|
-
does_not_own: []
|
|
23
|
-
conflicts_with: []
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: qk-project-bootstrap-eval
|
|
2
|
-
description: Đánh giá chất lượng khởi tạo dự án V8.2 Blueprint
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Đảm bảo cấu trúc kiến trúc được thiết lập chuẩn xác ngay từ đầu
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: blueprint_selection
|
|
8
|
-
name: Lựa chọn Blueprint phù hợp
|
|
9
|
-
description: Chọn đúng Blueprint và Manifest project.yaml tương ứng chưa?
|
|
10
|
-
weight: 35
|
|
11
|
-
criteria:
|
|
12
|
-
- Nhận diện đúng loại hình dự án (Coding, RAG/AI, Workflow) và áp dụng Blueprint cấu trúc thư mục phù hợp (15đ)
|
|
13
|
-
- Tạo ra file project.yaml chứa manifest của workspace (20đ)
|
|
14
|
-
|
|
15
|
-
- id: mandatory_files_scaffolding
|
|
16
|
-
name: Cấu trúc thư mục và File bắt buộc
|
|
17
|
-
description: Cây thư mục có thiếu các file quản lý chất lượng lõi không?
|
|
18
|
-
weight: 40
|
|
19
|
-
criteria:
|
|
20
|
-
- Sinh đúng kiến trúc (Ví dụ: 4-folder architecture cho AI RAG) (20đ)
|
|
21
|
-
- Đảm bảo đầy đủ các files chống thoái hóa: DESIGN.md, security.md, anti-patterns.md, scorecard.yaml (20đ)
|
|
22
|
-
|
|
23
|
-
- id: tooling_configuration
|
|
24
|
-
name: Cấu hình Công cụ (Tooling)
|
|
25
|
-
description: Môi trường có được thiết lập strict type và linter chưa?
|
|
26
|
-
weight: 25
|
|
27
|
-
criteria:
|
|
28
|
-
- Các cấu hình (tsconfig, eslint, prettier) được thiết lập chặt chẽ, không dễ dãi (25đ)
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-project-health
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: stable
|
|
6
|
-
description: "Kiểm toán toàn diện sức khỏe dự án: đo lường Code Smells, Technical Debt, độ phức tạp Cyclomatic, God files, vi phạm SOLID — chấm điểm Health Score (0–100) và đề xuất lộ trình cải tiến. Dùng skill này khi user nhắc đến: audit project, code smell, tech debt, health check, project score, nợ kỹ thuật, kiểm tra sức khỏe code, đánh giá chất lượng dự án — kể cả khi chỉ nói 'xem thử project này nợ kỹ thuật nhiều không' — KHÔNG dùng cho phân tích tính khả thi hay gap analysis trước khi code (dùng qk-project-audit)."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: utility
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- project-audit
|
|
14
|
-
- codebase-health
|
|
15
|
-
- tech-debt-analysis
|
|
16
|
-
|
|
17
|
-
complexity:
|
|
18
|
-
level: high
|
|
19
|
-
criteria:
|
|
20
|
-
files_affected: "10+"
|
|
21
|
-
has_behavior_change: false
|
|
22
|
-
has_external_dependency: false
|
|
23
|
-
has_breaking_change: false
|
|
24
|
-
|
|
25
|
-
triggers:
|
|
26
|
-
- "audit project"
|
|
27
|
-
- "code smell"
|
|
28
|
-
- "tech debt"
|
|
29
|
-
- "health check"
|
|
30
|
-
- "project score"
|
|
31
|
-
- "nợ kỹ thuật"
|
|
32
|
-
- "kiểm tra sức khỏe code"
|
|
33
|
-
- "đánh giá chất lượng dự án"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# ── V8: References ─────────────────────────────────────────
|
|
37
|
-
workflow: code-review
|
|
38
|
-
|
|
39
|
-
rules:
|
|
40
|
-
- global
|
|
41
|
-
- coding
|
|
42
|
-
|
|
43
|
-
tools:
|
|
44
|
-
- filesystem
|
|
45
|
-
- terminal
|
|
46
|
-
|
|
47
|
-
related_skills:
|
|
48
|
-
- qk-code-review
|
|
49
|
-
- qk-refactor
|
|
50
|
-
- qk-security-audit
|
|
51
|
-
|
|
52
|
-
knowledge_scope:
|
|
53
|
-
owns:
|
|
54
|
-
- tech-debt
|
|
55
|
-
- codebase-health
|
|
56
|
-
- code-metrics
|
|
57
|
-
references:
|
|
58
|
-
- architecture
|
|
59
|
-
- security
|
|
60
|
-
- anti-patterns
|
|
61
|
-
|
|
62
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
63
|
-
verification:
|
|
64
|
-
required: true
|
|
65
|
-
strategy: review
|
|
66
|
-
|
|
67
|
-
selection:
|
|
68
|
-
priority: medium
|
|
69
|
-
confidence_threshold: 0.75
|
|
70
|
-
|
|
71
|
-
examples: []
|
|
72
|
-
learnings: []
|
|
73
|
-
|
|
74
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
75
|
-
execution_mode: deterministic
|
|
76
|
-
cost: high
|
|
77
|
-
latency: slow
|
|
78
|
-
risk: low
|
|
79
|
-
side_effects: read_only
|
|
80
|
-
produces: [report]
|
|
81
|
-
consumes: [source-code]
|
|
82
|
-
|
|
83
|
-
token_budget:
|
|
84
|
-
max_files_read: 12
|
|
85
|
-
max_lines_per_read: 150
|
|
86
|
-
max_shell_commands: 2
|
|
87
|
-
stop_early: true
|
|
88
|
-
|
|
89
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
# qk-project-health — Codebase Health Auditor & Tech Debt Evaluator
|
|
93
|
-
|
|
94
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
95
|
-
|
|
96
|
-
Chịu trách nhiệm kiểm toán độc lập chất lượng toàn diện của codebase, đo lường nợ kỹ thuật (Technical Debt) theo các ngưỡng định lượng chuẩn hóa (R-C-09 & R-C-10), chấm điểm **Health Score (0–100)** và cung cấp lộ trình tái cấu trúc khả thi.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Preconditions
|
|
101
|
-
|
|
102
|
-
Trước khi tiến hành kiểm toán sức khỏe:
|
|
103
|
-
|
|
104
|
-
- [ ] Xác định rõ phạm vi kiểm toán: Toàn bộ codebase (Full repository) hay Module / Thư mục cụ thể.
|
|
105
|
-
- [ ] Đọc file conventions trong `.agents/DEV_PROFILE.md` để đánh giá đúng tiêu chuẩn dự án.
|
|
106
|
-
- [ ] Nếu codebase chưa có source code hoặc chỉ có file khởi tạo rỗng:
|
|
107
|
-
→ **EXIT: BLOCKED**
|
|
108
|
-
→ Báo cáo: "Dự án chưa đủ mã nguồn để đánh giá chỉ số nợ kỹ thuật."
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Scope
|
|
113
|
-
|
|
114
|
-
✅ Skill này làm:
|
|
115
|
-
- Quét các vi phạm số liệu kỹ thuật (Metric thresholds theo R-C-10):
|
|
116
|
-
- Function dài quá 40 dòng.
|
|
117
|
-
- File dài quá 300 dòng (God files).
|
|
118
|
-
- Nesting depth vượt quá 3 tầng.
|
|
119
|
-
- Cyclomatic complexity ước tính > 10.
|
|
120
|
-
- Phát hiện các Code Smells kinh điển: Duplicated logic (vi phạm DRY), Dead code, Magic numbers/strings, Any-casting lạm dụng, Silent error swallowing (`catch {}` rỗng).
|
|
121
|
-
- Đánh giá kiến trúc: Circular dependencies, vi phạm phân tầng (e.g. Controller truy cập trực tiếp DB, UI chứa business calculation).
|
|
122
|
-
- Chấm điểm **Health Score (0–100)** phân bổ theo 4 trục:
|
|
123
|
-
- Architecture Consistency (25đ)
|
|
124
|
-
- Maintainability & Clean Code (25đ)
|
|
125
|
-
- Testability & Reliability (25đ)
|
|
126
|
-
- Hygiene & Security Practice (25đ)
|
|
127
|
-
- Lập bảng danh mục nợ kỹ thuật xếp hạng ưu tiên (P0: Nguy hiểm, P1: Cần refactor sớm, P2: Nợ nhỏ).
|
|
128
|
-
|
|
129
|
-
❌ Skill này KHÔNG làm:
|
|
130
|
-
- Trực tiếp sửa đổi code của người dùng (`side_effects: read_only`).
|
|
131
|
-
- Audit chuyên sâu lỗ hổng bảo mật CVE (thuộc `qk-security-audit`).
|
|
132
|
-
- Tối ưu truy vấn SQL cụ thể (thuộc `qk-db-optimizer`).
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Execution Steps
|
|
137
|
-
|
|
138
|
-
### Step 1 — Quét tĩnh & Phân tích Kích thước (Size & Structure Scan)
|
|
139
|
-
```
|
|
140
|
-
Inputs: Workspace files
|
|
141
|
-
Actions:
|
|
142
|
-
- Thống kê các file có độ dài lớn nhất (> 300 dòng).
|
|
143
|
-
- Tìm kiếm các file gom quá nhiều trách nhiệm (God components / God services).
|
|
144
|
-
- Liệt kê các hàm vượt quá 40 dòng.
|
|
145
|
-
Outputs: Danh sách các điểm nóng về kích thước (Hotspots)
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### Step 2 — Phát hiện Code Smells & Vi phạm Tiêu chuẩn
|
|
149
|
-
```
|
|
150
|
-
Actions:
|
|
151
|
-
- Grep các mẫu vi phạm:
|
|
152
|
-
- Empty catch blocks / Silent error suppression.
|
|
153
|
-
- `as any` hoặc `@ts-ignore` tràn lan.
|
|
154
|
-
- Console.log / print debug bị bỏ quên.
|
|
155
|
-
- Magic strings / Magic numbers trong logic điều kiện.
|
|
156
|
-
- Kiểm tra tính gắn kết của modules (Cohesion & Coupling).
|
|
157
|
-
Outputs: Bảng thống kê các lỗi Code Smell theo mức độ nghiêm trọng
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Step 3 — Chấm điểm Health Score định lượng (Rubric 0–100)
|
|
161
|
-
```
|
|
162
|
-
Cách tính điểm:
|
|
163
|
-
100 Điểm Gốc
|
|
164
|
-
- Trừ 2đ cho mỗi God file (>300 lines) (Max trừ 20đ).
|
|
165
|
-
- Trừ 1đ cho mỗi hàm quá dài (>40 lines) (Max trừ 15đ).
|
|
166
|
-
- Trừ 3đ cho mỗi vi phạm Silent error hoặc IDOR/Any (Max trừ 20đ).
|
|
167
|
-
- Trừ 5đ nếu thiếu hoàn toàn Unit test hoặc cấu trúc phân tầng bị đảo lộn (Max trừ 25đ).
|
|
168
|
-
- Trừ 2đ cho mỗi block logic trùng lặp rõ ràng (Max trừ 20đ).
|
|
169
|
-
Outputs: Điểm số Health Score (Ví dụ: 74/100)
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Step 4 — Lập Báo cáo Kiểm toán & Lộ trình Cải tiến
|
|
173
|
-
```
|
|
174
|
-
Format báo cáo:
|
|
175
|
-
1. HEALTH SCORE: XX/100 (Rating: Critical / Warning / Good / Excellent)
|
|
176
|
-
2. EXECUTIVE SUMMARY: 3 điểm mạnh & 3 vấn đề lớn nhất.
|
|
177
|
-
3. HOTSPOT AUDIT: Bảng danh sách files & lines cần xử lý.
|
|
178
|
-
4. ACTIONABLE ROADMAP:
|
|
179
|
-
- [P0] Fix ngay: Các điểm nghẽn nghiêm trọng có nguy cơ gây crash/leak.
|
|
180
|
-
- [P1] Sprint tới: Tách God files và hàm phức tạp (gợi ý dùng `qk-refactor`).
|
|
181
|
-
- [P2] Tech debt backlog: Dọn dẹp magic constants và dead code.
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Prompt Template
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
Scope: [Toàn bộ dự án / Thư mục src/services / Module checkout]
|
|
190
|
-
Trọng tâm: [Đo lường nợ kỹ thuật / Chuẩn bị refactor lớn / Đánh giá code định kỳ]
|
|
191
|
-
Ngưỡng mong muốn: [Muốn đạt tối thiểu bao nhiêu điểm]
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Ví dụ theo Nhu cầu:
|
|
195
|
-
|
|
196
|
-
**Audit toàn diện dự án chuẩn bị mở rộng tính năng**
|
|
197
|
-
```
|
|
198
|
-
Scope: Toàn bộ repo
|
|
199
|
-
Trọng tâm: Tìm các file có độ phức tạp cao và kiến trúc lộn xộn trước khi scale.
|
|
200
|
-
```
|
|
201
|
-
→ AI quét toàn bộ source code, xuất báo cáo Health Score kèm danh sách Top 5 God Files cần tách trước khi implement tính năng mới.
|
|
202
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-project-health"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Kiểm toán toàn diện Code Smells, Tech Debt, Architecture — health score 0–100 với actionable roadmap."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "tech-debt"
|
|
12
|
-
- "codebase-health"
|
|
13
|
-
references:
|
|
14
|
-
- "architecture"
|
|
15
|
-
- "security"
|
|
16
|
-
- "anti-patterns"
|
|
17
|
-
eval:
|
|
18
|
-
scorecard: "evals/scorecard.yaml"
|
|
19
|
-
decision_boundary:
|
|
20
|
-
owns:
|
|
21
|
-
- "qk-project-health"
|
|
22
|
-
does_not_own: []
|
|
23
|
-
conflicts_with: []
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: qk-project-health-eval
|
|
2
|
-
description: Đánh giá năng lực Kiểm toán toàn diện sức khỏe Codebase
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Đảm bảo chấm điểm công tâm và vạch ra Roadmap cải thiện rõ ràng
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: five_dimensions_scoring
|
|
8
|
-
name: Chấm điểm 5 Phương diện (5 Dimensions)
|
|
9
|
-
description: Đánh giá toàn diện 5 yếu tố cốt lõi của codebase chưa?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Quét và tính điểm đầy đủ 5 phương diện: Security, Code Quality, Architecture, Dependencies, Documentation (20đ)
|
|
13
|
-
- Có bằng chứng (Evidence) cho các vi phạm bị trừ điểm (20đ)
|
|
14
|
-
|
|
15
|
-
- id: security_and_antipatterns
|
|
16
|
-
name: Quét Bảo mật (R-SEC-04) và Anti-patterns (R-C-09)
|
|
17
|
-
description: Agent có tìm ra các lỗ hổng bảo mật hoặc rác mã nghiêm trọng không?
|
|
18
|
-
weight: 30
|
|
19
|
-
criteria:
|
|
20
|
-
- Tìm thấy hardcoded secrets, eval(), hoặc vi phạm kiến trúc (God files, circular deps) nếu có (30đ)
|
|
21
|
-
|
|
22
|
-
- id: actionable_roadmap
|
|
23
|
-
name: Roadmap Tái cấu trúc thực tiễn
|
|
24
|
-
description: Báo cáo có vạch ra con đường sửa chữa rõ ràng không?
|
|
25
|
-
weight: 30
|
|
26
|
-
criteria:
|
|
27
|
-
- Output không chỉ chê bai mà còn sắp xếp các vấn đề theo độ ưu tiên (CRITICAL sửa trước) để team fix (30đ)
|