ai-developer-skill-os 8.2.1 → 8.3.1
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/LICENSE +21 -21
- package/.agents/README.md +90 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +125 -125
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +36 -36
- package/.agents/docs/MIGRATION-STATUS.md +35 -35
- package/.agents/docs/MIGRATION-V8.md +10 -10
- package/.agents/docs/V8-CERTIFICATION.md +27 -27
- package/.agents/docs/decisions/ADR-001-v8-migration.md +58 -58
- package/.agents/docs/decisions/ADR-002-workflow-separation.md +50 -50
- package/.agents/docs/decisions/ADR-003-registry-generated.md +54 -54
- package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +27 -27
- package/.agents/registry/capability-graph.yml +67 -25
- package/.agents/registry/graph.json +135 -256
- package/.agents/registry/index.yaml +68 -95
- package/.agents/registry/skills-index.yml +548 -525
- package/.agents/rules/anti-patterns.md +45 -0
- package/.agents/rules/coding.md +10 -0
- package/.agents/rules/command-safety.md +37 -14
- package/.agents/rules/priorities.yml +13 -2
- package/.agents/rules/security.md +47 -7
- package/.agents/rules/skill-quality.md +32 -8
- package/.agents/skills/_template/SKILL.md +133 -132
- package/.agents/skills/_template/capability.yaml +22 -8
- package/.agents/skills/_template/evals/scorecard.yaml +19 -19
- package/.agents/skills/qk-access-policy/SKILL.md +5 -2
- package/.agents/skills/qk-access-policy/capability.yaml +23 -0
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +36 -0
- package/.agents/skills/qk-agent-observability/SKILL.md +112 -1
- package/.agents/skills/qk-agent-observability/capability.yaml +29 -0
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +80 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +75 -6
- package/.agents/skills/qk-ai-builder/capability.yaml +23 -0
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +30 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +5 -3
- package/.agents/skills/qk-api-lifecycle/capability.yaml +23 -0
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +4 -22
- package/.agents/skills/qk-bug-resolution/capability.yaml +25 -0
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +30 -0
- package/.agents/skills/qk-code-review/SKILL.md +188 -186
- package/.agents/skills/qk-code-review/capability.yaml +23 -0
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-context-loader/SKILL.md +4 -12
- package/.agents/skills/qk-context-loader/capability.yaml +23 -0
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +7 -2
- package/.agents/skills/qk-data-lifecycle/capability.yaml +23 -0
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +4 -3
- package/.agents/skills/qk-db-optimizer/capability.yaml +22 -0
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-design-system-engineering/SKILL.md +235 -112
- package/.agents/skills/qk-design-system-engineering/capability.yaml +25 -0
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-devops-platform/SKILL.md +241 -117
- package/.agents/skills/qk-devops-platform/capability.yaml +29 -0
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-docs/SKILL.md +4 -2
- package/.agents/skills/qk-docs/capability.yaml +23 -0
- package/.agents/skills/qk-docs/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +5 -76
- package/.agents/skills/qk-engineering-standard/capability.yaml +23 -0
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +121 -0
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +1 -1
- package/.agents/skills/qk-fe-api-integration/SKILL.md +14 -33
- package/.agents/skills/qk-fe-api-integration/capability.yaml +21 -0
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +54 -222
- package/.agents/skills/qk-feature-delivery/capability.yaml +24 -0
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-frontend-architecture/SKILL.md +258 -134
- package/.agents/skills/qk-frontend-architecture/capability.yaml +28 -0
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-help/SKILL.md +23 -161
- package/.agents/skills/qk-help/capability.yaml +20 -0
- package/.agents/skills/qk-help/evals/scorecard.yaml +13 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +3 -35
- package/.agents/skills/qk-orchestrator/capability.yaml +22 -0
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-orchestrator/references/routing-table.md +15 -3
- package/.agents/skills/qk-product-specification/SKILL.md +253 -130
- package/.agents/skills/qk-product-specification/capability.yaml +27 -0
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-production-release/SKILL.md +33 -68
- package/.agents/skills/qk-production-release/capability.yaml +27 -0
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +59 -8
- package/.agents/skills/qk-project-bootstrap/capability.yaml +23 -0
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-project-health/SKILL.md +5 -3
- package/.agents/skills/qk-project-health/capability.yaml +23 -0
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-project-memory/SKILL.md +4 -2
- package/.agents/skills/qk-project-memory/capability.yaml +23 -0
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-refactor/SKILL.md +117 -0
- package/.agents/skills/qk-refactor/capability.yaml +26 -0
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-security-audit/SKILL.md +259 -135
- package/.agents/skills/qk-security-audit/capability.yaml +30 -0
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +18 -68
- package/.agents/skills/qk-system-evolution/capability.yaml +24 -0
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-test-engineering/SKILL.md +262 -139
- package/.agents/skills/qk-test-engineering/capability.yaml +28 -0
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +17 -90
- package/.agents/skills/qk-ui-audit/capability.yaml +23 -0
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +2 -2
- package/.agents/skills/qk-ui-builder/SKILL.md +482 -509
- package/.agents/skills/qk-ui-builder/capability.yaml +29 -0
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +455 -1191
- package/.agents/skills/qk-ui-system-builder/SKILL.md +2 -6
- package/.agents/skills/qk-ui-system-builder/capability.yaml +25 -0
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +1 -75
- package/.agents/skills/qk-validation-gate/capability.yaml +23 -0
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-web-quality-gate/SKILL.md +232 -114
- package/.agents/skills/qk-web-quality-gate/capability.yaml +24 -0
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +26 -0
- package/.agents/workflows/_schema.yml +146 -109
- package/.agents/workflows/bug-resolution.yml +121 -101
- package/.agents/workflows/code-review.yml +93 -77
- package/.agents/workflows/documentation.yml +90 -75
- package/.agents/workflows/feature-delivery.yml +120 -103
- package/.agents/workflows/production-release.yml +173 -0
- package/.agents/workflows/refactor.yml +99 -81
- package/.agents/workflows/research.yml +75 -60
- package/.agents/workflows/security-audit.yml +115 -72
- package/.agents/workflows/skill-evolution.yml +97 -65
- package/.agents/workflows/spec-driven-development.yml +87 -57
- package/CHANGELOG.md +27 -0
- package/README.md +90 -90
- package/bin/install.js +329 -179
- package/package.json +4 -2
- package/tooling/build-registry.js +186 -186
- package/tooling/fix-refactor.js +8 -0
- package/tooling/sync-versions.js +49 -0
- package/tooling/validate-graph.js +87 -87
- package/.agents/CHANGELOG.md +0 -131
- package/.agents/learnings/draft/README.md +0 -37
- package/.agents/reports/RELEASE-CHECKLIST.md +0 -29
- package/.agents/reports/architecture-audit.md +0 -13
- package/.agents/reports/graph-health.md +0 -20
- package/.agents/reports/skill-audit.md +0 -215
- package/tooling/generate-registry.js +0 -157
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: qk-help-eval
|
|
2
|
+
description: Đánh giá khả năng cung cấp thông tin hướng dẫn
|
|
3
|
+
version: 8.3.1
|
|
4
|
+
threshold: 100 # Kỹ năng đơn giản, yêu cầu độ chính xác cao khi cung cấp thông tin
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: provide_accurate_info
|
|
8
|
+
name: Cung cấp thông tin chính xác
|
|
9
|
+
description: Agent có in ra đúng các lệnh và kiến trúc V8.3 không?
|
|
10
|
+
weight: 100
|
|
11
|
+
criteria:
|
|
12
|
+
- Hướng dẫn cú pháp ./qk-[skill-name] rõ ràng (50đ)
|
|
13
|
+
- Liệt kê chính xác danh sách các Quality Gates của hệ thống (50đ)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-orchestrator
|
|
4
|
-
version: 8.
|
|
4
|
+
version: 8.3.1
|
|
5
5
|
status: stable
|
|
6
6
|
description: "Điều hướng yêu cầu của người dùng đến đúng skill với kỷ luật thép — kiểm tra preconditions và routing table."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
@@ -55,6 +55,7 @@ knowledge_scope:
|
|
|
55
55
|
- precondition-validation
|
|
56
56
|
references:
|
|
57
57
|
- all-skills # References registry to make decisions
|
|
58
|
+
- architecture
|
|
58
59
|
|
|
59
60
|
# ── V8: Verification ───────────────────────────────────────
|
|
60
61
|
verification:
|
|
@@ -86,7 +87,6 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
86
87
|
|
|
87
88
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
88
89
|
|
|
89
|
-
|
|
90
90
|
## Preconditions
|
|
91
91
|
- [ ] User request is provided (any language)
|
|
92
92
|
|
|
@@ -96,7 +96,6 @@ On missing precondition:
|
|
|
96
96
|
Message: "Vui lòng mô tả yêu cầu của bạn."
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
|
|
100
99
|
## Scope
|
|
101
100
|
- ✅ Analyze user intent and route to the correct skill
|
|
102
101
|
- ✅ Verify preconditions of target skill BEFORE delegating
|
|
@@ -108,7 +107,6 @@ On missing precondition:
|
|
|
108
107
|
- ❌ Allow UI work without `DESIGN.md` verified
|
|
109
108
|
- ❌ Allow logic work without context graph from `qk-context-loader`
|
|
110
109
|
|
|
111
|
-
|
|
112
110
|
## Priority Order
|
|
113
111
|
|
|
114
112
|
| Priority | Check | Skip Threshold |
|
|
@@ -118,7 +116,6 @@ On missing precondition:
|
|
|
118
116
|
| P3 | Check pipeline dependencies (e.g., context-loader first) | Never for logic tasks |
|
|
119
117
|
| P4 | Estimate cost/latency for user info | Budget < 70% |
|
|
120
118
|
|
|
121
|
-
|
|
122
119
|
## Workflow
|
|
123
120
|
|
|
124
121
|
### Phase 1 — Intent Classification
|
|
@@ -145,7 +142,6 @@ ELSE IF no match
|
|
|
145
142
|
- Skill identified → go to Phase 2
|
|
146
143
|
- No matching skill → EXIT: BLOCKED
|
|
147
144
|
|
|
148
|
-
|
|
149
145
|
### Phase 2 — Precondition Check
|
|
150
146
|
|
|
151
147
|
**Steps:**
|
|
@@ -165,7 +161,6 @@ ELSE
|
|
|
165
161
|
→ EXIT: BLOCKED
|
|
166
162
|
```
|
|
167
163
|
|
|
168
|
-
|
|
169
164
|
### Phase 3 — Pipeline Enforcement
|
|
170
165
|
|
|
171
166
|
**Steps:**
|
|
@@ -188,30 +183,8 @@ Release tasks:
|
|
|
188
183
|
[qk-validation-gate] → [qk-production-release]
|
|
189
184
|
```
|
|
190
185
|
|
|
191
|
-
|
|
192
186
|
## Routing Table (Quick Reference)
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
| Intent Keywords | Primary Skill | Pipeline |
|
|
196
|
-
|----------------|---------------|----------|
|
|
197
|
-
| bug, lỗi, error, broken, crash, fix, sửa | `qk-bug-resolution` | direct |
|
|
198
|
-
| tính năng, feature, thêm, mới, add, implement | `qk-feature-delivery` | context-loader first |
|
|
199
|
-
| UI, giao diện, design, component, layout, màn hình | `qk-ui-builder` | DESIGN.md check |
|
|
200
|
-
| slow, query, index, N+1, performance DB | `qk-db-optimizer` | context-loader first |
|
|
201
|
-
| deploy, release, production, CI/CD, build | `qk-production-release` | validation-gate first |
|
|
202
|
-
| schema, migration, database, table, model | `qk-data-lifecycle` | context-loader first |
|
|
203
|
-
| refactor, clean, SOLID, DRY, code quality | `qk-engineering-standard` | direct |
|
|
204
|
-
| test, lint, validate, check quality | `qk-validation-gate` | direct |
|
|
205
|
-
| upgrade, update thư viện, migrate library | `qk-system-evolution` | direct |
|
|
206
|
-
| docs, documentation, README, comment | `qk-docs` | direct |
|
|
207
|
-
| API, endpoint, route, contract | `qk-api-lifecycle` | context-loader first |
|
|
208
|
-
| access, role, permission, RBAC, auth | `qk-access-policy` | direct |
|
|
209
|
-
| AI, prompt, RAG, LLM, embedding | `qk-ai-builder` | direct |
|
|
210
|
-
| design system, token, CSS variable | `qk-ui-system-builder` | DESIGN.md check |
|
|
211
|
-
| project audit, health, tech debt | `qk-project-health` | direct |
|
|
212
|
-
| new project, bootstrap, init | `qk-project-bootstrap` | direct |
|
|
213
|
-
| memory, context, recall, lưu | `qk-project-memory` | direct |
|
|
214
|
-
|
|
187
|
+
Single source of truth: `references/routing-table.md` — do not duplicate here. Read that file before routing.
|
|
215
188
|
|
|
216
189
|
## Confidence Model
|
|
217
190
|
|
|
@@ -221,7 +194,6 @@ Full table: see `references/routing-table.md`
|
|
|
221
194
|
| MEDIUM | Multiple possible skills | Route to most likely, note ambiguity |
|
|
222
195
|
| LOW | Request is too vague | Ask clarifying question |
|
|
223
196
|
|
|
224
|
-
|
|
225
197
|
## Escalation Rules
|
|
226
198
|
|
|
227
199
|
```
|
|
@@ -234,7 +206,6 @@ Questions:
|
|
|
234
206
|
Recommended Assumptions: none — routing requires clear intent
|
|
235
207
|
```
|
|
236
208
|
|
|
237
|
-
|
|
238
209
|
## Handoff Contract
|
|
239
210
|
|
|
240
211
|
### Consumes
|
|
@@ -254,7 +225,6 @@ Recommended Assumptions: none — routing requires clear intent
|
|
|
254
225
|
}
|
|
255
226
|
```
|
|
256
227
|
|
|
257
|
-
|
|
258
228
|
## Output Format
|
|
259
229
|
|
|
260
230
|
```
|
|
@@ -272,7 +242,6 @@ Preconditions:
|
|
|
272
242
|
Exit Code: SUCCESS
|
|
273
243
|
```
|
|
274
244
|
|
|
275
|
-
|
|
276
245
|
## Exit Codes
|
|
277
246
|
|
|
278
247
|
| Code | Meaning | When |
|
|
@@ -284,4 +253,3 @@ Exit Code: SUCCESS
|
|
|
284
253
|
|
|
285
254
|
---
|
|
286
255
|
|
|
287
|
-
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Auto-generated from SKILL.md frontmatter
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: "qk-orchestrator"
|
|
4
|
+
version: "8.3.1"
|
|
5
|
+
description: "Điều hướng yêu cầu của người dùng đến đúng skill với kỷ luật thép — kiểm tra preconditions và routing table."
|
|
6
|
+
tools:
|
|
7
|
+
- "filesystem"
|
|
8
|
+
knowledge:
|
|
9
|
+
owns:
|
|
10
|
+
- "task-routing"
|
|
11
|
+
- "skill-selection"
|
|
12
|
+
- "precondition-validation"
|
|
13
|
+
references:
|
|
14
|
+
- "all-skills"
|
|
15
|
+
- "architecture"
|
|
16
|
+
eval:
|
|
17
|
+
scorecard: "evals/scorecard.yaml"
|
|
18
|
+
decision_boundary:
|
|
19
|
+
owns:
|
|
20
|
+
- "qk-orchestrator"
|
|
21
|
+
does_not_own: []
|
|
22
|
+
conflicts_with: []
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: qk-orchestrator-eval
|
|
2
|
+
description: Đánh giá khả năng điều phối và định tuyến tác vụ (Task Routing)
|
|
3
|
+
version: 8.3.1
|
|
4
|
+
threshold: 85 # Đóng vai trò kiểm soát luồng, yêu cầu độ chính xác cao
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: intent_classification
|
|
8
|
+
name: Phân loại Intent chính xác
|
|
9
|
+
description: Agent có hiểu đúng yêu cầu và route đến đúng skill tương ứng không?
|
|
10
|
+
weight: 35
|
|
11
|
+
criteria:
|
|
12
|
+
- Phân tích và map đúng ý định người dùng với Routing Table (20đ)
|
|
13
|
+
- Đặt câu hỏi làm rõ nếu yêu cầu quá mờ nhạt thay vì đoán mò (15đ)
|
|
14
|
+
|
|
15
|
+
- id: precondition_enforcement
|
|
16
|
+
name: Kỷ luật kiểm tra Tiền điều kiện (Preconditions)
|
|
17
|
+
description: Cố tình route tác vụ khi thiếu thông tin hay chặn lại để yêu cầu cung cấp thêm?
|
|
18
|
+
weight: 35
|
|
19
|
+
criteria:
|
|
20
|
+
- Bắt buộc kiểm tra Preconditions của skill đích TRƯỚC KHI thực sự gọi skill đó (35đ)
|
|
21
|
+
|
|
22
|
+
- id: pipeline_execution
|
|
23
|
+
name: Thực thi Pipeline tuần tự
|
|
24
|
+
description: Có đảm bảo tuân thủ chuỗi phụ thuộc (e.g., context-loader -> feature-delivery) không?
|
|
25
|
+
weight: 30
|
|
26
|
+
criteria:
|
|
27
|
+
- Bắt buộc gọi các kỹ năng bổ trợ (như qk-context-loader cho Logic) trước khi bắt đầu công việc chính (30đ)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Routing Table — qk-orchestrator V7.5
|
|
2
2
|
|
|
3
|
+
> This is the ONLY routing table in the system. qk-orchestrator/SKILL.md must not contain a duplicate table.
|
|
3
4
|
> Full intent → skill mapping. Updated whenever a new skill is added.
|
|
4
5
|
|
|
5
6
|
---
|
|
@@ -24,11 +25,22 @@
|
|
|
24
25
|
| design system, token, CSS variable, design tokens | `qk-ui-system-builder` | DESIGN.md check |
|
|
25
26
|
| project audit, health, tech debt, kiểm toán dự án | `qk-project-health` | direct |
|
|
26
27
|
| new project, bootstrap, init, khởi tạo dự án | `qk-project-bootstrap` | direct |
|
|
27
|
-
| help, list skills, danh sách, trợ giúp | `qk-orchestrator` | direct |
|
|
28
|
-
| memory, context, recall, lưu ngữ cảnh | `qk-project-memory` | direct |
|
|
29
|
-
| security, policy, authorization, bảo mật | `qk-policy-engine` | → redirect to `qk-access-policy` |
|
|
30
28
|
| consume API, tích hợp API backend, gọi API từ FE | `qk-fe-api-integration` | `qk-context-loader` first |
|
|
31
29
|
| UI audit, kiểm tra giao diện, anti-slop check | `qk-ui-audit` | DESIGN.md check |
|
|
30
|
+
| metrics, telemetry, trace, agent observability, mô hình lỗi | `qk-agent-observability` | direct |
|
|
31
|
+
| review code, kiểm toán, code review, PR | `qk-code-review` | direct |
|
|
32
|
+
| graph, dependency, context, đọc hiểu architecture | `qk-context-loader` | direct |
|
|
33
|
+
| design system rules, tokens structure, governance | `qk-design-system-engineering` | direct |
|
|
34
|
+
| CI/CD, devops, pipeline, infrastructure, deployment strategy | `qk-devops-platform` | direct |
|
|
35
|
+
| frontend architecture, file placement, routing strategy | `qk-frontend-architecture` | direct |
|
|
36
|
+
| help, list skills, danh sách, trợ giúp | `qk-help` | direct |
|
|
37
|
+
| orchestrate, định tuyến, phân loại yêu cầu | `qk-orchestrator` | direct |
|
|
38
|
+
| product spec, requirement, tiêu chí chấp nhận | `qk-product-specification` | direct |
|
|
39
|
+
| security, vulnerability scan, secret, OWASP | `qk-security-audit` | direct |
|
|
40
|
+
| test strategy, mock, coverage, e2e, unit test | `qk-test-engineering` | direct |
|
|
41
|
+
| web performance, accessibility, SEO, lighthouse | `qk-web-quality-gate` | direct |
|
|
42
|
+
| memory, context, recall, lưu ngữ cảnh | `qk-project-memory` | direct |
|
|
43
|
+
| security, policy, authorization, bảo mật | `qk-access-policy` | direct |
|
|
32
44
|
|
|
33
45
|
---
|
|
34
46
|
|
|
@@ -1,130 +1,253 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-product-specification
|
|
4
|
-
version: 8.1
|
|
5
|
-
status: experimental
|
|
6
|
-
description: "Product thinking (Idea → Requirement → Acceptance criteria → Technical spec)."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V8: Classification ─────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- product-specification
|
|
14
|
-
- requirement-analysis
|
|
15
|
-
- acceptance-criteria
|
|
16
|
-
- technical-spec
|
|
17
|
-
|
|
18
|
-
complexity:
|
|
19
|
-
level: medium
|
|
20
|
-
criteria:
|
|
21
|
-
files_affected: "1-3"
|
|
22
|
-
has_behavior_change: false
|
|
23
|
-
has_external_dependency: false
|
|
24
|
-
has_breaking_change: false
|
|
25
|
-
|
|
26
|
-
triggers:
|
|
27
|
-
- "viết spec"
|
|
28
|
-
- "phân tích yêu cầu"
|
|
29
|
-
- "ý tưởng sản phẩm"
|
|
30
|
-
- "acceptance criteria"
|
|
31
|
-
|
|
32
|
-
# ── V8: References ─────────────────────────────────────────
|
|
33
|
-
workflow: spec-driven-development
|
|
34
|
-
|
|
35
|
-
rules:
|
|
36
|
-
- global
|
|
37
|
-
- coding
|
|
38
|
-
|
|
39
|
-
tools:
|
|
40
|
-
- filesystem
|
|
41
|
-
|
|
42
|
-
related_skills:
|
|
43
|
-
- qk-feature-delivery
|
|
44
|
-
|
|
45
|
-
knowledge_scope:
|
|
46
|
-
domain:
|
|
47
|
-
- product-requirements
|
|
48
|
-
- technical-specifications
|
|
49
|
-
concepts:
|
|
50
|
-
- user-story
|
|
51
|
-
- acceptance-criteria
|
|
52
|
-
references:
|
|
53
|
-
- architecture
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ───────────────────────────────────────────────
|
|
3
|
+
name: qk-product-specification
|
|
4
|
+
version: 8.3.1
|
|
5
|
+
status: experimental
|
|
6
|
+
description: "Product thinking (Idea → Requirement → Acceptance criteria → Technical spec)."
|
|
7
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
+
|
|
9
|
+
# ── V8: Classification ─────────────────────────────────────
|
|
10
|
+
type: capability
|
|
11
|
+
|
|
12
|
+
intent:
|
|
13
|
+
- product-specification
|
|
14
|
+
- requirement-analysis
|
|
15
|
+
- acceptance-criteria
|
|
16
|
+
- technical-spec
|
|
17
|
+
|
|
18
|
+
complexity:
|
|
19
|
+
level: medium
|
|
20
|
+
criteria:
|
|
21
|
+
files_affected: "1-3"
|
|
22
|
+
has_behavior_change: false
|
|
23
|
+
has_external_dependency: false
|
|
24
|
+
has_breaking_change: false
|
|
25
|
+
|
|
26
|
+
triggers:
|
|
27
|
+
- "viết spec"
|
|
28
|
+
- "phân tích yêu cầu"
|
|
29
|
+
- "ý tưởng sản phẩm"
|
|
30
|
+
- "acceptance criteria"
|
|
31
|
+
|
|
32
|
+
# ── V8: References ─────────────────────────────────────────
|
|
33
|
+
workflow: spec-driven-development
|
|
34
|
+
|
|
35
|
+
rules:
|
|
36
|
+
- global
|
|
37
|
+
- coding
|
|
38
|
+
|
|
39
|
+
tools:
|
|
40
|
+
- filesystem
|
|
41
|
+
|
|
42
|
+
related_skills:
|
|
43
|
+
- qk-feature-delivery
|
|
44
|
+
|
|
45
|
+
knowledge_scope:
|
|
46
|
+
domain:
|
|
47
|
+
- product-requirements
|
|
48
|
+
- technical-specifications
|
|
49
|
+
concepts:
|
|
50
|
+
- user-story
|
|
51
|
+
- acceptance-criteria
|
|
52
|
+
references:
|
|
53
|
+
- architecture
|
|
54
|
+
- security
|
|
55
|
+
- anti-patterns
|
|
56
|
+
|
|
57
|
+
decision_boundary:
|
|
58
|
+
owns:
|
|
59
|
+
- technical-ready specification
|
|
60
|
+
- acceptance criteria
|
|
61
|
+
does_not_own:
|
|
62
|
+
- market research
|
|
63
|
+
- pricing
|
|
64
|
+
- roadmap
|
|
65
|
+
conflicts_with: []
|
|
66
|
+
delegates_to:
|
|
67
|
+
- qk-feature-delivery
|
|
68
|
+
|
|
69
|
+
# ── V8: Verification ───────────────────────────────────────
|
|
70
|
+
verification:
|
|
71
|
+
required: true
|
|
72
|
+
strategy: feature
|
|
73
|
+
|
|
74
|
+
lifecycle:
|
|
75
|
+
promotion_gate:
|
|
76
|
+
requirements:
|
|
77
|
+
tests:
|
|
78
|
+
minimum_pass_rate: 0.95
|
|
79
|
+
usage:
|
|
80
|
+
minimum_runs: 20
|
|
81
|
+
conflicts:
|
|
82
|
+
zero_boundary_violation: true
|
|
83
|
+
evidence:
|
|
84
|
+
required:
|
|
85
|
+
- evaluation_report
|
|
86
|
+
- usage_history
|
|
87
|
+
- boundary_audit
|
|
88
|
+
demotion_gate:
|
|
89
|
+
triggers:
|
|
90
|
+
- repeated_failure
|
|
91
|
+
- boundary_violation
|
|
92
|
+
- outdated_reference
|
|
93
|
+
action:
|
|
94
|
+
change_status: "stable -> experimental"
|
|
95
|
+
|
|
96
|
+
selection:
|
|
97
|
+
priority: medium
|
|
98
|
+
confidence_threshold: 0.80
|
|
99
|
+
|
|
100
|
+
examples: []
|
|
101
|
+
learnings: []
|
|
102
|
+
|
|
103
|
+
# ── V7 Runtime ─────────────────────────────────────────────
|
|
104
|
+
execution_mode: deterministic
|
|
105
|
+
cost: medium
|
|
106
|
+
latency: medium
|
|
107
|
+
risk: low
|
|
108
|
+
side_effects: read_only
|
|
109
|
+
produces: [report, specification]
|
|
110
|
+
consumes: [user-description]
|
|
111
|
+
|
|
112
|
+
token_budget:
|
|
113
|
+
max_files_read: 3
|
|
114
|
+
max_lines_per_read: 150
|
|
115
|
+
max_shell_commands: 0
|
|
116
|
+
stop_early: true
|
|
117
|
+
|
|
118
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
# qk-product-specification — Product Specifier
|
|
122
|
+
|
|
123
|
+
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
124
|
+
|
|
125
|
+
## Preconditions
|
|
126
|
+
- [ ] Tuân thủ workflow `spec-driven-development`.
|
|
127
|
+
|
|
128
|
+
## Scope
|
|
129
|
+
- Tiếp nhận Idea ban đầu từ user, thực hiện phân tích yêu cầu (Requirement Analysis).
|
|
130
|
+
- Xác định và làm rõ ranh giới của tính năng.
|
|
131
|
+
- Lên danh sách Acceptance Criteria (Tiêu chí nghiệm thu). **BẮT BUỘC có Security Acceptance Criteria để phòng ngừa rủi ro theo R-SEC-04 (Zero-Trust).**
|
|
132
|
+
- Đóng gói thành Technical Spec (đặc tả kỹ thuật) để chuẩn bị cho quá trình code (Plan & Implementation).
|
|
133
|
+
|
|
134
|
+
## Non-Goals
|
|
135
|
+
- ❌ Provide implementation outside of Product Thinking & Requirements scope
|
|
136
|
+
- ❌ Override explicit user directives without explanation
|
|
137
|
+
- ❌ Guess ambiguous requirements without asking
|
|
138
|
+
|
|
139
|
+
## Priority Order
|
|
140
|
+
|
|
141
|
+
| Priority | Task | Skip Threshold |
|
|
142
|
+
|----------|------|----------------|
|
|
143
|
+
| P1 | Core Product Thinking & Requirements analysis and decision making | Never |
|
|
144
|
+
| P2 | Validation of existing patterns | Budget < 30% |
|
|
145
|
+
| P3 | Detailed documentation generation | Budget < 50% |
|
|
146
|
+
| P4 | Edge case exploration | Budget < 70% |
|
|
147
|
+
|
|
148
|
+
## Workflow
|
|
149
|
+
|
|
150
|
+
### Phase 1 — Context Loading
|
|
151
|
+
**Steps:**
|
|
152
|
+
1. Read existing configuration and requirements related to Product Thinking & Requirements.
|
|
153
|
+
2. Check for missing preconditions.
|
|
154
|
+
|
|
155
|
+
**Decision:**
|
|
156
|
+
```
|
|
157
|
+
IF context is clear
|
|
158
|
+
→ Confidence: HIGH → go to Phase 2
|
|
159
|
+
ELSE
|
|
160
|
+
→ EXIT: BLOCKED — ask user
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Phase 2 — Analysis & Strategy
|
|
164
|
+
**Steps:**
|
|
165
|
+
1. Analyze the current state against Product Thinking & Requirements best practices.
|
|
166
|
+
2. Formulate strategy or audit report based on findings.
|
|
167
|
+
|
|
168
|
+
**Decision:**
|
|
169
|
+
```
|
|
170
|
+
IF strategy/audit is complete
|
|
171
|
+
→ Confidence: HIGH → go to Phase 3
|
|
172
|
+
ELSE IF minor gaps exist
|
|
173
|
+
→ Confidence: MEDIUM → proceed with assumptions noted
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Phase 3 — Finalization
|
|
177
|
+
**Steps:**
|
|
178
|
+
1. Generate final report or configuration.
|
|
179
|
+
2. Prepare handoff data for subsequent skills.
|
|
180
|
+
|
|
181
|
+
## Confidence Model
|
|
182
|
+
|
|
183
|
+
| Level | Condition | Action |
|
|
184
|
+
|-------|-----------|--------|
|
|
185
|
+
| HIGH | All preconditions met, context fully understood | Proceed directly |
|
|
186
|
+
| MEDIUM | Some context missing but safe defaults exist | Proceed and note assumptions |
|
|
187
|
+
| LOW | Core requirements missing | EXIT: BLOCKED |
|
|
188
|
+
|
|
189
|
+
## Severity (for findings)
|
|
190
|
+
|
|
191
|
+
| Level | Definition |
|
|
192
|
+
|-------|-----------|
|
|
193
|
+
| CRITICAL | Severe violation of Product Thinking & Requirements principles |
|
|
194
|
+
| HIGH | Significant risk or technical debt |
|
|
195
|
+
| MEDIUM | Suboptimal pattern but functional |
|
|
196
|
+
| LOW | Minor style or documentation issue |
|
|
197
|
+
|
|
198
|
+
## Evidence Format
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
[SEVERITY] Context/File
|
|
202
|
+
Issue: [what was found]
|
|
203
|
+
Confidence: HIGH
|
|
204
|
+
Recommendation: [actionable advice]
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Retry Policy
|
|
208
|
+
```
|
|
209
|
+
Task fails due to missing context
|
|
210
|
+
└─ Ask user for clarification
|
|
211
|
+
├─ Provided → Retry Phase 1
|
|
212
|
+
└─ Not provided → EXIT: BLOCKED
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Escalation Rules
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
BLOCKED: Missing critical context for Product Thinking & Requirements
|
|
219
|
+
Missing:
|
|
220
|
+
- [Specific requirement]
|
|
221
|
+
Questions:
|
|
222
|
+
1. Bạn có thể cung cấp thêm thông tin về yêu cầu này không?
|
|
223
|
+
2. Mục tiêu chính của bạn là gì?
|
|
224
|
+
Recommended Assumptions: none
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Handoff Contract
|
|
228
|
+
|
|
229
|
+
### Consumes
|
|
230
|
+
```json
|
|
231
|
+
{
|
|
232
|
+
"from": "user or qk-orchestrator",
|
|
233
|
+
"required_fields": ["context"],
|
|
234
|
+
"optional_fields": ["existing_config"]
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Produces
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"to": "user or downstream skill",
|
|
242
|
+
"output_fields": ["strategy_report", "exit_code"]
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Exit Codes
|
|
247
|
+
|
|
248
|
+
| Code | Meaning | When |
|
|
249
|
+
|------|---------|------|
|
|
250
|
+
| SUCCESS | Product Thinking & Requirements task completed successfully | Strategy/audit generated |
|
|
251
|
+
| PARTIAL | Task completed with assumptions | Medium confidence |
|
|
252
|
+
| BLOCKED | Missing context | Cannot proceed |
|
|
253
|
+
| FAILED | Critical conflict or error | Unresolvable constraint |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Auto-generated from SKILL.md frontmatter
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: "qk-product-specification"
|
|
4
|
+
version: "8.3.1"
|
|
5
|
+
description: "Product thinking (Idea → Requirement → Acceptance criteria → Technical spec)."
|
|
6
|
+
tools:
|
|
7
|
+
- "filesystem"
|
|
8
|
+
knowledge:
|
|
9
|
+
owns:
|
|
10
|
+
- "qk-product-specification"
|
|
11
|
+
references:
|
|
12
|
+
- "architecture"
|
|
13
|
+
- "security"
|
|
14
|
+
- "anti-patterns"
|
|
15
|
+
eval:
|
|
16
|
+
scorecard: "evals/scorecard.yaml"
|
|
17
|
+
decision_boundary:
|
|
18
|
+
owns:
|
|
19
|
+
- "technical-ready specification"
|
|
20
|
+
- "acceptance criteria"
|
|
21
|
+
does_not_own:
|
|
22
|
+
- "market research"
|
|
23
|
+
- "pricing"
|
|
24
|
+
- "roadmap"
|
|
25
|
+
conflicts_with: []
|
|
26
|
+
delegates_to:
|
|
27
|
+
- "qk-feature-delivery"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: qk-product-specification-eval
|
|
2
|
+
description: Đánh giá Tư duy Sản phẩm và Phân tích Yêu cầu
|
|
3
|
+
version: 8.3.1
|
|
4
|
+
threshold: 85 # Đảm bảo Spec rõ ràng và chứa đầy đủ tiêu chí bảo mật
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: requirement_clarification
|
|
8
|
+
name: Làm rõ Yêu cầu (Requirement Analysis)
|
|
9
|
+
description: Agent có phân tích sâu ý tưởng để xác định ranh giới tính năng không?
|
|
10
|
+
weight: 35
|
|
11
|
+
criteria:
|
|
12
|
+
- Từ một Idea mơ hồ, bóc tách thành các gạch đầu dòng rõ ràng về scope (những gì làm và KHÔNG làm) (35đ)
|
|
13
|
+
|
|
14
|
+
- id: acceptance_criteria_quality
|
|
15
|
+
name: Chất lượng Acceptance Criteria (AC)
|
|
16
|
+
description: Các tiêu chí nghiệm thu có định lượng và bao phủ các trường hợp không?
|
|
17
|
+
weight: 35
|
|
18
|
+
criteria:
|
|
19
|
+
- Liệt kê các AC mạch lạc, testable (kiểm thử được) (15đ)
|
|
20
|
+
- BẮT BUỘC phải có tiêu chí bảo mật (Security AC) theo chuẩn R-SEC-04 (Zero Trust) (20đ)
|
|
21
|
+
|
|
22
|
+
- id: technical_readiness
|
|
23
|
+
name: Mức độ sẵn sàng cho Kỹ thuật (Technical Spec)
|
|
24
|
+
description: Spec viết ra có đủ độ chi tiết để delegate cho qk-feature-delivery chưa?
|
|
25
|
+
weight: 30
|
|
26
|
+
criteria:
|
|
27
|
+
- Tài liệu đầu ra được cấu trúc chặt chẽ (Technical Ready) không để lập trình viên phải đoán mò (30đ)
|