ai-developer-skill-os 7.0.2 → 7.5.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 +44 -88
- package/.agents/CHANGELOG.md +69 -0
- package/.agents/LICENSE +21 -0
- package/.agents/README.md +59 -0
- package/.agents/_template/BEHAVIOR_SPEC.md +96 -0
- package/.agents/_template/examples/example-en.md +49 -0
- package/.agents/_template/examples/example-vi.md +49 -0
- package/.agents/docs/CHI_TIET_SKILLS.md +125 -0
- package/.agents/docs/GOVERNANCE.md +40 -0
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.agents/docs/SPEC.md +87 -0
- package/.agents/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.agents/docs/adr/0002-kernel-freeze.md +21 -0
- package/.agents/docs/adr/0003-risk-based-verification.md +20 -0
- package/.agents/docs/adr/0004-progressive-evidence.md +19 -0
- package/.agents/docs/skill-classification.md +25 -0
- package/.agents/skills/qk-access-policy/SKILL.md +179 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +215 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.agents/skills/qk-context-loader/SKILL.md +218 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.agents/skills/qk-design-to-code/SKILL.md +285 -0
- package/.agents/skills/qk-docs/SKILL.md +198 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.agents/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.agents/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.agents/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.agents/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.agents/skills/qk-help/SKILL.md +193 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +277 -0
- package/.agents/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/.agents/skills/qk-production-release/SKILL.md +284 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +234 -0
- package/.agents/skills/qk-project-health/SKILL.md +199 -0
- package/.agents/skills/qk-project-memory/SKILL.md +172 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +281 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +314 -0
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +221 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +359 -0
- package/.agents/skills.json +819 -0
- package/.github/workflows/ci.yml +1 -1
- package/.qk-ai-skill-os/CHANGELOG.md +69 -0
- package/.qk-ai-skill-os/LICENSE +21 -0
- package/.qk-ai-skill-os/README.md +59 -0
- package/.qk-ai-skill-os/_template/BEHAVIOR_SPEC.md +96 -0
- package/.qk-ai-skill-os/_template/examples/example-en.md +49 -0
- package/.qk-ai-skill-os/_template/examples/example-vi.md +49 -0
- package/.qk-ai-skill-os/docs/CHI_TIET_SKILLS.md +125 -0
- package/.qk-ai-skill-os/docs/GOVERNANCE.md +40 -0
- package/.qk-ai-skill-os/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.qk-ai-skill-os/docs/SPEC.md +87 -0
- package/.qk-ai-skill-os/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.qk-ai-skill-os/docs/adr/0002-kernel-freeze.md +21 -0
- package/.qk-ai-skill-os/docs/adr/0003-risk-based-verification.md +20 -0
- package/.qk-ai-skill-os/docs/adr/0004-progressive-evidence.md +19 -0
- package/.qk-ai-skill-os/docs/skill-classification.md +25 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +121 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +179 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-api-integration/SKILL.md +389 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-auth-security/SKILL.md +96 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +125 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-bug-fix/SKILL.md +213 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-component-generator/SKILL.md +136 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-context-manager/SKILL.md +175 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-database-engineer/SKILL.md +104 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-deployment/SKILL.md +96 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-design-system/SKILL.md +137 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-form-builder/SKILL.md +140 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +155 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +133 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +129 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +146 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-git-engineer/SKILL.md +304 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-help/SKILL.md +68 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-migration/SKILL.md +284 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-project-audit/SKILL.md +280 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-refactor/SKILL.md +222 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-state-management/SKILL.md +140 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +127 -0
- package/.qk-ai-skill-os/skills/_archive_old_skills/qk-ui-builder/SKILL.md +152 -0
- package/.qk-ai-skill-os/skills/_template/SKILL.md +238 -0
- package/.qk-ai-skill-os/skills/qk-access-policy/SKILL.md +179 -0
- package/.qk-ai-skill-os/skills/qk-ai-builder/SKILL.md +221 -0
- package/.qk-ai-skill-os/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.qk-ai-skill-os/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.qk-ai-skill-os/skills/qk-context-loader/SKILL.md +218 -0
- package/.qk-ai-skill-os/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.qk-ai-skill-os/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.qk-ai-skill-os/skills/qk-design-to-code/SKILL.md +291 -0
- package/.qk-ai-skill-os/skills/qk-docs/SKILL.md +198 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.qk-ai-skill-os/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.qk-ai-skill-os/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.qk-ai-skill-os/skills/qk-help/SKILL.md +193 -0
- package/.qk-ai-skill-os/skills/qk-orchestrator/SKILL.md +277 -0
- package/.qk-ai-skill-os/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/.qk-ai-skill-os/skills/qk-production-release/SKILL.md +290 -0
- package/.qk-ai-skill-os/skills/qk-project-bootstrap/SKILL.md +240 -0
- package/.qk-ai-skill-os/skills/qk-project-health/SKILL.md +199 -0
- package/.qk-ai-skill-os/skills/qk-project-memory/SKILL.md +172 -0
- package/.qk-ai-skill-os/skills/qk-system-evolution/SKILL.md +285 -0
- package/.qk-ai-skill-os/skills/qk-ui-audit/SKILL.md +314 -0
- package/.qk-ai-skill-os/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.qk-ai-skill-os/skills/qk-ui-system-builder/SKILL.md +225 -0
- package/.qk-ai-skill-os/skills/qk-validation-gate/SKILL.md +361 -0
- package/.qk-ai-skill-os/skills.json +819 -0
- package/CLAUDE.md +110 -0
- package/README.md +25 -3
- package/add_lang.js +21 -0
- package/add_lang.py +25 -0
- package/add_sections.py +53 -0
- package/bin/install.js +225 -170
- package/bin/lint.js +122 -0
- package/docs/CHI_TIET_SKILLS.md +26 -26
- package/docs/HUONG_DAN_SU_DUNG.md +3 -3
- package/docs/SPEC.md +70 -20
- package/framework/skill-schema.md +310 -0
- package/package.json +15 -4
- package/patch.js +15 -0
- package/patch.py +89 -0
- package/patch2.py +83 -0
- package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-api-integration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-auth-security/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-component-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-context-manager/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-deployment/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-design-system/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-form-builder/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-help/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-migration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-project-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-refactor/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-state-management/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +1 -0
- package/skills/_template/SKILL.md +238 -0
- package/skills/qk-access-policy/SKILL.md +179 -39
- package/skills/qk-ai-builder/SKILL.md +215 -40
- package/skills/qk-api-lifecycle/SKILL.md +176 -46
- package/skills/qk-bug-resolution/SKILL.md +307 -46
- package/skills/qk-context-loader/SKILL.md +218 -43
- package/skills/qk-data-lifecycle/SKILL.md +192 -44
- package/skills/qk-db-optimizer/SKILL.md +196 -41
- package/skills/qk-design-to-code/SKILL.md +285 -46
- package/skills/qk-docs/SKILL.md +198 -40
- package/skills/qk-engineering-standard/SKILL.md +351 -42
- package/skills/qk-fe-api-integration/SKILL.md +326 -55
- package/skills/qk-feature-delivery/SKILL.md +305 -48
- package/skills/qk-help/SKILL.md +178 -23
- package/skills/qk-orchestrator/SKILL.md +277 -42
- package/skills/qk-orchestrator/references/routing-table.md +77 -0
- package/skills/qk-production-release/SKILL.md +284 -41
- package/skills/qk-project-bootstrap/SKILL.md +234 -38
- package/skills/qk-project-health/SKILL.md +199 -40
- package/skills/qk-project-memory/SKILL.md +172 -40
- package/skills/qk-system-evolution/SKILL.md +281 -40
- package/skills/qk-ui-audit/SKILL.md +314 -42
- package/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/skills/qk-ui-system-builder/SKILL.md +221 -43
- package/skills/qk-validation-gate/SKILL.md +359 -40
- package/skills.json +813 -824
- package/specs/fixtures/user-payload.json +12 -0
- package/specs/regressions/api-integration-null-fields.yaml +19 -0
- package/temp_fix.js +61 -0
- package/tests/registry.test.js +1 -1
- package/update_template.js +28 -0
- package/skills/qk-policy-engine/SKILL.md +0 -39
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-project-bootstrap
|
|
3
|
+
category: fullstack
|
|
4
|
+
version: 7.5.0
|
|
5
|
+
description: "Khởi tạo dự án mới với cấu trúc chuẩn, linters, DESIGN.md — không bao giờ thiếu foundation."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
cost: high
|
|
9
|
+
latency: slow
|
|
10
|
+
risk: low
|
|
11
|
+
side_effects: edit_files
|
|
12
|
+
produces: [code, schema, plan]
|
|
13
|
+
consumes: [user-description]
|
|
14
|
+
token_budget:
|
|
15
|
+
max_files_read: 1
|
|
16
|
+
max_lines_per_read: 50
|
|
17
|
+
max_shell_commands: 2
|
|
18
|
+
stop_early: false
|
|
19
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
20
|
+
skill_version: 7.5.0
|
|
21
|
+
runtime_version: 1
|
|
22
|
+
schema_version: 2
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# qk-project-bootstrap — Project Foundation Builder
|
|
26
|
+
|
|
27
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Preconditions
|
|
32
|
+
- [ ] Framework/language preference is stated (or ask before proceeding)
|
|
33
|
+
- [ ] Project purpose is clear (web app, API, CLI, library)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
On missing precondition:
|
|
37
|
+
EXIT: BLOCKED
|
|
38
|
+
Message: "Vui lòng cho biết: framework (React/Next.js/NestJS/Express...) và mục đích dự án."
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Scope
|
|
44
|
+
- ✅ Initialize project with standard tooling
|
|
45
|
+
- ✅ Generate `DESIGN.md` (mandatory for any UI project)
|
|
46
|
+
- ✅ Configure: ESLint, Prettier, TypeScript strict mode
|
|
47
|
+
- ✅ Create standard directory structure
|
|
48
|
+
|
|
49
|
+
## Non-Goals
|
|
50
|
+
- ❌ Skip DESIGN.md for UI projects
|
|
51
|
+
- ❌ Hardcode outdated dependency versions
|
|
52
|
+
- ❌ Skip README
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Standard Directory Structures
|
|
57
|
+
|
|
58
|
+
### Next.js / React
|
|
59
|
+
```
|
|
60
|
+
src/
|
|
61
|
+
├── app/ # Pages (App Router) or pages/
|
|
62
|
+
├── components/ # Shared UI components
|
|
63
|
+
│ ├── ui/ # Design system primitives
|
|
64
|
+
│ └── [feature]/ # Feature-specific components
|
|
65
|
+
├── hooks/ # Custom React hooks
|
|
66
|
+
├── lib/ # Utilities, helpers
|
|
67
|
+
├── services/ # API service functions
|
|
68
|
+
├── types/ # TypeScript type definitions
|
|
69
|
+
└── styles/ # Global CSS + DESIGN.md tokens
|
|
70
|
+
DESIGN.md # Brand & Design Contract
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### NestJS / Express API
|
|
74
|
+
```
|
|
75
|
+
src/
|
|
76
|
+
├── modules/
|
|
77
|
+
│ └── [feature]/
|
|
78
|
+
│ ├── [feature].controller.ts
|
|
79
|
+
│ ├── [feature].service.ts
|
|
80
|
+
│ ├── [feature].repository.ts
|
|
81
|
+
│ └── dto/
|
|
82
|
+
├── common/ # Shared utilities, guards, interceptors
|
|
83
|
+
├── config/ # Environment configuration
|
|
84
|
+
└── main.ts
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Vite + React
|
|
88
|
+
```
|
|
89
|
+
src/
|
|
90
|
+
├── assets/
|
|
91
|
+
├── components/
|
|
92
|
+
├── pages/
|
|
93
|
+
├── router/
|
|
94
|
+
├── services/
|
|
95
|
+
├── stores/ # State management
|
|
96
|
+
└── types/
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Required Files Checklist
|
|
102
|
+
```
|
|
103
|
+
[ ] package.json — with lint + test + build scripts
|
|
104
|
+
[ ] tsconfig.json — strict: true enabled
|
|
105
|
+
[ ] .eslintrc / eslint.config.js — project standard
|
|
106
|
+
[ ] .prettierrc — formatting config
|
|
107
|
+
[ ] .gitignore — standard entries
|
|
108
|
+
[ ] README.md — project description + setup instructions
|
|
109
|
+
[ ] DESIGN.md — (UI projects) brand contract with color/font/spacing tokens
|
|
110
|
+
[ ] .env.example — all env vars listed (no actual values)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## DESIGN.md Minimum Template
|
|
116
|
+
```markdown
|
|
117
|
+
# Design System
|
|
118
|
+
|
|
119
|
+
## Colors (HSL)
|
|
120
|
+
--color-primary: hsl(220, 80%, 55%);
|
|
121
|
+
--color-surface: hsl(220, 15%, 12%);
|
|
122
|
+
--color-text: hsl(220, 10%, 90%);
|
|
123
|
+
|
|
124
|
+
## Spacing Scale (4px base)
|
|
125
|
+
--space-1: 4px; --space-2: 8px; --space-3: 16px;
|
|
126
|
+
--space-4: 24px; --space-5: 32px; --space-6: 48px;
|
|
127
|
+
|
|
128
|
+
## Typography
|
|
129
|
+
--font-sans: 'Inter', system-ui, sans-serif;
|
|
130
|
+
--font-size-base: 1rem;
|
|
131
|
+
--font-size-lg: 1.25rem;
|
|
132
|
+
|
|
133
|
+
## Border Radius
|
|
134
|
+
--radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px;
|
|
135
|
+
|
|
136
|
+
## Animation
|
|
137
|
+
--transition-fast: 150ms ease;
|
|
138
|
+
--transition-base: 250ms ease;
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Workflow
|
|
147
|
+
|
|
148
|
+
[Placeholder for Workflow]
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Evidence Format
|
|
154
|
+
|
|
155
|
+
[Placeholder for Evidence Format]
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Priority Order
|
|
161
|
+
|
|
162
|
+
[Placeholder for Priority Order]
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
## Exit Codes
|
|
167
|
+
| Code | Meaning | When |
|
|
168
|
+
|------|---------|------|
|
|
169
|
+
| SUCCESS | All required files created, structure matches framework standard | Full bootstrap complete |
|
|
170
|
+
| PARTIAL | Structure created but DESIGN.md incomplete (UI project) | Follow-up needed |
|
|
171
|
+
| BLOCKED | Framework/purpose not specified | Ask user |
|
|
172
|
+
| FAILED | Cannot initialize (permission error, invalid framework) | Report error |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Confidence Model
|
|
177
|
+
| Level | Condition | Action |
|
|
178
|
+
|-------|-----------|--------|
|
|
179
|
+
| HIGH | Framework explicitly stated, directory structure clear | Build directly |
|
|
180
|
+
| MEDIUM | Framework inferred from context (found React imports) | Note assumption, proceed |
|
|
181
|
+
| LOW | Cannot determine framework or project type | EXIT: BLOCKED |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Severity
|
|
186
|
+
| Level | Definition | Example |
|
|
187
|
+
|-------|-----------|----------|
|
|
188
|
+
| CRITICAL | Security misconfiguration in bootstrap | .env with real secrets committed |
|
|
189
|
+
| HIGH | Missing mandatory file blocks all future work | No DESIGN.md for UI project |
|
|
190
|
+
| MEDIUM | Incomplete setup reduces developer experience | Missing ESLint config |
|
|
191
|
+
| LOW | Cosmetic or optional file missing | Missing .editorconfig |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Retry Policy
|
|
196
|
+
```
|
|
197
|
+
File creation fails
|
|
198
|
+
└─ Check: permission issue vs path error
|
|
199
|
+
├─ Path error → correct path and retry
|
|
200
|
+
└─ Permission error → EXIT: FAILED, report exact path
|
|
201
|
+
└─ Do NOT retry more than 1 time per file
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Escalation Rules
|
|
207
|
+
```
|
|
208
|
+
BLOCKED: Framework or project type not specified
|
|
209
|
+
Missing:
|
|
210
|
+
- Framework name (React, Next.js, NestJS, Express, etc.)
|
|
211
|
+
- Project purpose (web app, API, CLI, library)
|
|
212
|
+
Questions:
|
|
213
|
+
1. Framework nào bạn muốn dùng?
|
|
214
|
+
2. Dự án này là web app, API server, hay CLI tool?
|
|
215
|
+
Recommended Assumptions (if proceeding):
|
|
216
|
+
- Default: Next.js 14 (App Router) + TypeScript + ESLint
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Handoff Contract
|
|
222
|
+
### Consumes
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"from": "user",
|
|
226
|
+
"required_fields": ["framework", "project_purpose"],
|
|
227
|
+
"optional_fields": ["project_name", "existing_dir"]
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
### Produces
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"to": "qk-feature-delivery or qk-design-to-code",
|
|
234
|
+
"output_fields": ["project_structure", "design_md_path", "tooling_config", "exit_code"]
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-project-health
|
|
3
|
+
category: qa
|
|
4
|
+
version: 7.5.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
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
cost: high
|
|
9
|
+
latency: slow
|
|
10
|
+
risk: low
|
|
11
|
+
side_effects: read_only
|
|
12
|
+
produces: [report]
|
|
13
|
+
consumes: [source-code]
|
|
14
|
+
token_budget:
|
|
15
|
+
max_files_read: 5
|
|
16
|
+
max_lines_per_read: 100
|
|
17
|
+
max_shell_commands: 1
|
|
18
|
+
stop_early: true
|
|
19
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
20
|
+
skill_version: 7.5.0
|
|
21
|
+
runtime_version: 1
|
|
22
|
+
schema_version: 2
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# qk-project-health — Complete Codebase Audit
|
|
26
|
+
|
|
27
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Preconditions
|
|
32
|
+
- [ ] Project root is accessible
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Scope
|
|
37
|
+
- ✅ Score 5 health dimensions (0–20 pts each = 100 total)
|
|
38
|
+
- ✅ Identify deprecated packages and security vulnerabilities
|
|
39
|
+
- ✅ Produce actionable refactoring roadmap
|
|
40
|
+
|
|
41
|
+
## Non-Goals
|
|
42
|
+
- ❌ Fix issues — report only
|
|
43
|
+
- ❌ Hide systemic architectural flaws
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Health Scoring System
|
|
48
|
+
|
|
49
|
+
| Dimension | Max Points | Key Checks |
|
|
50
|
+
|-----------|-----------|------------|
|
|
51
|
+
| Security | 20 | 0 critical CVEs, no hardcoded secrets, auth guards present |
|
|
52
|
+
| Code Quality | 20 | Functions ≤ 30L, complexity ≤ 10, no God Files |
|
|
53
|
+
| Architecture | 20 | Clean layers (UI/Logic/Data separated), no circular imports |
|
|
54
|
+
| Dependencies | 20 | No deprecated packages, no unused deps, versions pinned |
|
|
55
|
+
| Documentation | 20 | README complete, public APIs documented, DESIGN.md exists |
|
|
56
|
+
|
|
57
|
+
**Total: 100 pts. Grades: A (90+) / B (75-89) / C (60-74) / D (<60)**
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Priority Order
|
|
62
|
+
| P | Dimension | Never Skip? |
|
|
63
|
+
|---|-----------|-------------|
|
|
64
|
+
| P1 | Security | Yes |
|
|
65
|
+
| P2 | Code Quality | Yes |
|
|
66
|
+
| P3 | Architecture | Budget < 30% |
|
|
67
|
+
| P4 | Dependencies | Budget < 50% |
|
|
68
|
+
| P5 | Documentation | Budget < 60% |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Workflow
|
|
73
|
+
|
|
74
|
+
### Phase 1 — Quick Scan (P1+P2)
|
|
75
|
+
1. `grep_search` for: hardcoded secrets, `eval(`, `any` types, `console.log`
|
|
76
|
+
2. Sample 3 key files → check function lengths, file sizes
|
|
77
|
+
3. Score Security (0–20) + Code Quality (0–20)
|
|
78
|
+
|
|
79
|
+
### Phase 2 — Structure Scan (P3+P4)
|
|
80
|
+
1. Read `package.json` — check outdated/deprecated packages
|
|
81
|
+
2. Check import patterns for circular dependencies or layer violations
|
|
82
|
+
3. Score Architecture (0–20) + Dependencies (0–20)
|
|
83
|
+
|
|
84
|
+
### Phase 3 — Docs Scan (P5) + Report
|
|
85
|
+
1. Check README, DESIGN.md, key function JSDoc
|
|
86
|
+
2. Score Documentation (0–20)
|
|
87
|
+
3. Generate full report + prioritized roadmap
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Evidence Format
|
|
92
|
+
```
|
|
93
|
+
[SEVERITY] Dimension: [SECURITY|QUALITY|ARCH|DEPS|DOCS]
|
|
94
|
+
Finding: [specific issue]
|
|
95
|
+
Location: [file:line OR package name]
|
|
96
|
+
Confidence: HIGH
|
|
97
|
+
Impact: -N pts
|
|
98
|
+
Fix: [actionable suggestion]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Output Format
|
|
104
|
+
```
|
|
105
|
+
🏥 Project Health Report
|
|
106
|
+
─────────────────────────────────────────────────
|
|
107
|
+
Grade: [A|B|C|D] ([Score]/100)
|
|
108
|
+
|
|
109
|
+
Scores:
|
|
110
|
+
Security: [N/20]
|
|
111
|
+
Code Quality: [N/20]
|
|
112
|
+
Architecture: [N/20]
|
|
113
|
+
Dependencies: [N/20]
|
|
114
|
+
Documentation: [N/20]
|
|
115
|
+
|
|
116
|
+
Critical Issues (fix immediately):
|
|
117
|
+
[list CRITICAL findings]
|
|
118
|
+
|
|
119
|
+
Refactoring Roadmap (priority order):
|
|
120
|
+
1. [Most impactful — estimated effort]
|
|
121
|
+
2. [Second — estimated effort]
|
|
122
|
+
3. [Third]
|
|
123
|
+
|
|
124
|
+
Exit Code: [SUCCESS (A/B) | PARTIAL (C) | FAILED (D)]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Exit Codes
|
|
130
|
+
| Code | Meaning | When |
|
|
131
|
+
|------|---------|------|
|
|
132
|
+
| SUCCESS | Audit completed and report generated with scores | Normal completion |
|
|
133
|
+
| PARTIAL | Audit completed but some directories skipped (token limit) | Large project |
|
|
134
|
+
| BLOCKED | Project is empty or completely unreadable | Missing project |
|
|
135
|
+
| FAILED | Cannot calculate score due to tool failure | Linter crashed |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Confidence Model
|
|
140
|
+
| Level | Condition | Action |
|
|
141
|
+
|-------|-----------|--------|
|
|
142
|
+
| HIGH | Analyzed via AST, linters, or exhaustive search | Include in report as fact |
|
|
143
|
+
| MEDIUM | Sampled a few files, assumed pattern holds | Note as "Project trend" |
|
|
144
|
+
| LOW | Did not check | Do NOT include in report |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Severity
|
|
149
|
+
| Level | Definition | Example |
|
|
150
|
+
|-------|-----------|---------|
|
|
151
|
+
| CRITICAL | Security flaw or completely broken architecture | API keys committed, cyclical dependency |
|
|
152
|
+
| HIGH | Major tech debt slowing down development | God objects, missing tests on core logic |
|
|
153
|
+
| MEDIUM | Inconsistent patterns | Mixing fetch/axios, tabs/spaces |
|
|
154
|
+
| LOW | Minor code smell | Magic numbers in UI |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Retry Policy
|
|
159
|
+
```
|
|
160
|
+
Audit fails
|
|
161
|
+
└─ Token limit hit (project too large)
|
|
162
|
+
├─ Ask user to narrow scope (e.g., audit only src/api/)
|
|
163
|
+
└─ Do NOT auto-retry full project scan
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Escalation Rules
|
|
169
|
+
```
|
|
170
|
+
BLOCKED: Project unreadable or empty
|
|
171
|
+
Missing:
|
|
172
|
+
- Source code
|
|
173
|
+
Questions:
|
|
174
|
+
1. Thư mục mã nguồn chính nằm ở đâu? (ví dụ: src/, lib/)
|
|
175
|
+
Recommended Assumptions:
|
|
176
|
+
- Scan typical directories (src, app, lib, test)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Handoff Contract
|
|
182
|
+
### Consumes
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"from": "user",
|
|
186
|
+
"required_fields": [],
|
|
187
|
+
"optional_fields": ["target_directory"]
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
### Produces
|
|
191
|
+
```json
|
|
192
|
+
{
|
|
193
|
+
"to": "user or qk-system-evolution",
|
|
194
|
+
"output_fields": ["health_score", "critical_issues", "refactoring_roadmap", "exit_code"]
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qk-project-memory
|
|
3
|
+
category: core
|
|
4
|
+
version: 7.5.0
|
|
5
|
+
description: "Lưu trữ và truy xuất ngữ cảnh dự án dài hạn — chỉ lưu fact đã xác minh, không lưu giả thuyết."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
cost: low
|
|
9
|
+
latency: fast
|
|
10
|
+
risk: low
|
|
11
|
+
side_effects: edit_files
|
|
12
|
+
produces: [plan]
|
|
13
|
+
consumes: [source-code, context-graph]
|
|
14
|
+
token_budget:
|
|
15
|
+
max_files_read: 2
|
|
16
|
+
max_lines_per_read: 100
|
|
17
|
+
max_shell_commands: 0
|
|
18
|
+
stop_early: true
|
|
19
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
20
|
+
skill_version: 7.5.0
|
|
21
|
+
runtime_version: 1
|
|
22
|
+
schema_version: 2
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# qk-project-memory — Long-Term Context Store
|
|
26
|
+
|
|
27
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Preconditions
|
|
32
|
+
- [ ] Project has a `.agents/memory/` directory OR user confirms creation
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Scope
|
|
37
|
+
- ✅ Store verified facts about project (architecture, decisions, patterns)
|
|
38
|
+
- ✅ Retrieve facts for current session context
|
|
39
|
+
- ✅ Invalidate stale entries when code changes
|
|
40
|
+
|
|
41
|
+
## Non-Goals
|
|
42
|
+
- ❌ Store assumptions or unverified hypotheses
|
|
43
|
+
- ❌ Overwrite architectural rules without explicit user consent
|
|
44
|
+
- ❌ Store sensitive data (env vars, secrets)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Memory Schema (Required Format)
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"id": "mem_[timestamp]",
|
|
53
|
+
"category": "architecture|pattern|decision|warning|preference",
|
|
54
|
+
"fact": "[Verified, specific statement]",
|
|
55
|
+
"evidence": "path/to/file.ts:LINE",
|
|
56
|
+
"confidence": "HIGH|MEDIUM",
|
|
57
|
+
"created_at": "ISO8601",
|
|
58
|
+
"expires_at": "ISO8601 OR null (permanent)",
|
|
59
|
+
"tags": ["auth", "database", "api"]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Storage Path
|
|
66
|
+
```
|
|
67
|
+
.agents/memory/
|
|
68
|
+
├── architecture.json # System architecture facts
|
|
69
|
+
├── patterns.json # Established code patterns
|
|
70
|
+
├── decisions.json # Technical decisions made
|
|
71
|
+
└── warnings.json # Known risks or debt items
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## [MEMORIZE] Workflow
|
|
77
|
+
1. Verify fact against actual codebase (grep_search or view_file)
|
|
78
|
+
2. Confirm confidence is HIGH or MEDIUM
|
|
79
|
+
3. Write to appropriate `.agents/memory/[category].json` file
|
|
80
|
+
|
|
81
|
+
**Decision:** `IF confidence is LOW → do NOT store — collect more evidence`
|
|
82
|
+
|
|
83
|
+
## [RECALL] Workflow
|
|
84
|
+
1. Read relevant memory file
|
|
85
|
+
2. Check `expires_at` — skip stale entries
|
|
86
|
+
3. Return matching facts with their evidence references
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Exit Codes
|
|
91
|
+
| Code | Meaning | When |
|
|
92
|
+
|------|---------|------|
|
|
93
|
+
| SUCCESS | Fact stored/retrieved with verified evidence | HIGH/MEDIUM confidence |
|
|
94
|
+
| PARTIAL | Fact stored but evidence is indirect (MEDIUM confidence) | Indirect source |
|
|
95
|
+
| BLOCKED | Cannot verify fact against codebase | No evidence available |
|
|
96
|
+
| FAILED | Memory file corrupted or schema mismatch | Structural error |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Confidence Model
|
|
101
|
+
| Level | Condition | Action |
|
|
102
|
+
|-------|-----------|--------|
|
|
103
|
+
| HIGH | Fact directly read from code (grep_search returned file:line) | Store immediately |
|
|
104
|
+
| MEDIUM | Fact inferred from patterns (not direct file reference) | Store with note: "inferred" |
|
|
105
|
+
| LOW | Assumption without code evidence | Do NOT store — collect more evidence first |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Severity
|
|
110
|
+
| Level | Definition | Example |
|
|
111
|
+
|-------|-----------|----------|
|
|
112
|
+
| CRITICAL | Storing incorrect architectural fact misleads all future work | Wrong auth pattern stored |
|
|
113
|
+
| HIGH | Storing stale fact that conflicts with current code | Outdated API path remembered |
|
|
114
|
+
| MEDIUM | Missing important fact causing repeated re-discovery | Auth pattern unknown |
|
|
115
|
+
| LOW | Memory file not organized by category | All facts in one file |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Evidence Format
|
|
120
|
+
```
|
|
121
|
+
[CONFIDENCE] path/to/file.ts:LINE
|
|
122
|
+
Fact: [what was stored]
|
|
123
|
+
Category: [architecture|pattern|decision|warning|preference]
|
|
124
|
+
Expires: [ISO8601 date | null]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Retry Policy
|
|
130
|
+
```
|
|
131
|
+
Fact unverifiable
|
|
132
|
+
└─ Read 1 more file for evidence
|
|
133
|
+
├─ Evidence found → upgrade to MEDIUM/HIGH → store
|
|
134
|
+
└─ Still unverifiable → do NOT store
|
|
135
|
+
└─ Do NOT retry more than 1 additional evidence read
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Escalation Rules
|
|
141
|
+
```
|
|
142
|
+
BLOCKED: Cannot verify fact against codebase
|
|
143
|
+
Missing:
|
|
144
|
+
- Access to relevant source file
|
|
145
|
+
- Or explicit user confirmation
|
|
146
|
+
Questions:
|
|
147
|
+
1. Bạn có thể xác nhận: [fact statement] là đúng không?
|
|
148
|
+
Recommended Assumptions:
|
|
149
|
+
- Do NOT store until confirmed
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Handoff Contract
|
|
155
|
+
### Consumes
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"from": "user or any skill",
|
|
159
|
+
"required_fields": ["fact_statement"],
|
|
160
|
+
"optional_fields": ["evidence_location", "expiry_date", "category"]
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
### Produces
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"to": "any downstream skill",
|
|
167
|
+
"output_fields": ["recalled_facts", "confidence_levels", "evidence_refs", "exit_code"]
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|