ai-developer-skill-os 9.3.1 → 10.2.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 +73 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/LICENSE +21 -21
- package/.agents/docs/ARCHITECTURE.md +56 -120
- package/.agents/docs/GOVERNANCE.md +3 -3
- package/.agents/docs/SPEC.md +137 -60
- package/.agents/docs/VERSIONING.md +25 -57
- package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
- package/.agents/docs/schemas/learning.schema.yml +22 -57
- package/.agents/docs/schemas/skill.schema.yml +116 -161
- package/.agents/docs/schemas/workflow.schema.yml +51 -26
- package/.agents/docs/skill-classification.md +1 -1
- package/.agents/registry/graph.json +193 -346
- package/.agents/registry/index.yaml +90 -233
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +20 -9
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/rules/safety.md +1 -1
- package/.agents/rules/security.md +1 -1
- package/.agents/rules/skill-quality.md +18 -3
- package/.agents/skills/_template/SKILL.md +238 -88
- package/.agents/skills/qk-api-data-discovery/SKILL.md +456 -0
- package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
- package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
- package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
- package/.agents/skills/qk-backend-data/SKILL.md +339 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +328 -248
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-cleaner/SKILL.md +399 -0
- package/.agents/skills/qk-code-review/SKILL.md +320 -247
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
- package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
- package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
- package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
- package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
- package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
- package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
- package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
- package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
- package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
- package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
- package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
- package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
- package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
- package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
- package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
- package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
- package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
- package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
- package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
- package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
- package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
- package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
- package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
- package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
- package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
- package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
- package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
- package/.agents/skills/qk-devops-release/SKILL.md +294 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +331 -247
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/SKILL.md +286 -152
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
- package/.agents/skills/qk-product-spec/SKILL.md +262 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +444 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +286 -0
- package/.agents/workflows/_schema.yml +146 -146
- package/.agents/workflows/bug-resolution.yml +155 -121
- package/.agents/workflows/code-review.yml +127 -93
- package/.agents/workflows/context-discovery.yml +128 -94
- package/.agents/workflows/documentation.yml +124 -90
- package/.agents/workflows/feature-delivery.yml +158 -124
- package/.agents/workflows/production-release.yml +207 -173
- package/.agents/workflows/prompt-compilation.yml +126 -0
- package/.agents/workflows/refactor.yml +136 -102
- package/.agents/workflows/security-audit.yml +149 -115
- package/.agents/workflows/shared/quality-gate.yml +3 -1
- package/.agents/workflows/skin-governance.yml +149 -115
- package/.agents/workflows/spec-driven-development.yml +116 -87
- package/CHANGELOG.md +77 -0
- package/README.md +125 -205
- package/bin/install.js +324 -329
- package/package.json +68 -74
- package/tooling/build-registry.js +226 -208
- package/tooling/run-aar.js +55 -126
- package/tooling/sync-versions.js +2 -2
- package/tooling/validate-graph.js +100 -87
- package/tooling/validate-skills.js +32 -14
- 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/docs/decisions/ADR-001-v8-migration.md +0 -58
- package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
- package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
- package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
- package/.agents/registry/capability-graph.yml +0 -390
- package/.agents/registry/skills-index.yml +0 -305
- package/.agents/skills/_template/capability.yaml +0 -34
- package/.agents/skills/_template/evals/scorecard.yaml +0 -19
- 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,210 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-db-optimizer
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: stable
|
|
6
|
-
description: "Tối ưu hiệu năng Database dựa trên bằng chứng kỹ thuật: phân tích EXPLAIN/ANALYZE, phát hiện N+1 queries, thiết kế Composite/Partial Index, refactor câu truy vấn chậm. Dùng skill này khi user nhắc đến: tối ưu query, query chậm, optimize db, thêm index, explain, slow query, n+1 query, lag database — kể cả khi chỉ nói 'câu SQL này chạy mất 5 giây'."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: utility
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- database-optimization
|
|
14
|
-
- performance-tuning
|
|
15
|
-
|
|
16
|
-
complexity:
|
|
17
|
-
level: high
|
|
18
|
-
criteria:
|
|
19
|
-
files_affected: "1-5"
|
|
20
|
-
has_behavior_change: false
|
|
21
|
-
has_external_dependency: true
|
|
22
|
-
has_breaking_change: false
|
|
23
|
-
|
|
24
|
-
triggers:
|
|
25
|
-
- "tối ưu query"
|
|
26
|
-
- "query chậm"
|
|
27
|
-
- "optimize db"
|
|
28
|
-
- "thêm index"
|
|
29
|
-
- "explain"
|
|
30
|
-
- "slow query"
|
|
31
|
-
- "n+1 query"
|
|
32
|
-
- "lag database"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# ── V8: References ─────────────────────────────────────────
|
|
36
|
-
workflow: refactor
|
|
37
|
-
|
|
38
|
-
rules:
|
|
39
|
-
- global
|
|
40
|
-
- coding
|
|
41
|
-
|
|
42
|
-
tools:
|
|
43
|
-
- filesystem
|
|
44
|
-
- terminal
|
|
45
|
-
|
|
46
|
-
related_skills:
|
|
47
|
-
- qk-data-lifecycle
|
|
48
|
-
- qk-refactor
|
|
49
|
-
|
|
50
|
-
knowledge_scope:
|
|
51
|
-
owns:
|
|
52
|
-
- database-performance
|
|
53
|
-
- query-optimization
|
|
54
|
-
- index-engineering
|
|
55
|
-
references:
|
|
56
|
-
- architecture
|
|
57
|
-
- anti-patterns
|
|
58
|
-
|
|
59
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
60
|
-
verification:
|
|
61
|
-
required: true
|
|
62
|
-
strategy: performance-regression
|
|
63
|
-
|
|
64
|
-
selection:
|
|
65
|
-
priority: medium
|
|
66
|
-
confidence_threshold: 0.85
|
|
67
|
-
|
|
68
|
-
examples: []
|
|
69
|
-
learnings: []
|
|
70
|
-
|
|
71
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
72
|
-
execution_mode: deterministic
|
|
73
|
-
cost: medium
|
|
74
|
-
latency: medium
|
|
75
|
-
risk: medium
|
|
76
|
-
side_effects: edit_files
|
|
77
|
-
produces: [code, report]
|
|
78
|
-
consumes: [query-log, source-code]
|
|
79
|
-
|
|
80
|
-
token_budget:
|
|
81
|
-
max_files_read: 5
|
|
82
|
-
max_lines_per_read: 150
|
|
83
|
-
max_shell_commands: 2
|
|
84
|
-
stop_early: true
|
|
85
|
-
|
|
86
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
# qk-db-optimizer — Evidence-Based Database Performance Tuner
|
|
90
|
-
|
|
91
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
92
|
-
|
|
93
|
-
Chịu trách nhiệm chẩn đoán và khắc phục điểm nghẽn hiệu năng cơ sở dữ liệu dựa trên **bằng chứng đo lường thực tế**: `EXPLAIN (ANALYZE, BUFFERS)` → tìm root cause → đề xuất Index / Query Rewrite — **tuyệt đối không đoán mò**.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Preconditions
|
|
98
|
-
|
|
99
|
-
Trước khi đề xuất tối ưu, AI BẮT BUỘC xác nhận:
|
|
100
|
-
|
|
101
|
-
- [ ] Đoạn query cụ thể (SQL thô hoặc câu gọi ORM) đang bị chậm.
|
|
102
|
-
- [ ] Schema định nghĩa bảng và **danh sách index hiện có** trên các cột liên quan.
|
|
103
|
-
- [ ] Output `EXPLAIN` hoặc `EXPLAIN ANALYZE` (nếu môi trường cho phép chạy query).
|
|
104
|
-
- [ ] Quy mô dữ liệu ước tính (e.g. bảng có 1.000 rows hay 50.000.000 rows).
|
|
105
|
-
|
|
106
|
-
*Nếu user yêu cầu "tối ưu database" mà không cung cấp query cụ thể hoặc slow log:*
|
|
107
|
-
→ **EXIT: BLOCKED**
|
|
108
|
-
→ Phản hồi: "Vui lòng cung cấp câu query bị chậm hoặc output log EXPLAIN để phân tích chính xác."
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Scope
|
|
113
|
-
|
|
114
|
-
✅ Skill này làm:
|
|
115
|
-
- Phân tích Execution Plan: Xác định `Seq Scan` trên bảng lớn, `Nested Loop` kém hiệu quả, `Temporary disk spill`, hoặc `Filter cost` cao.
|
|
116
|
-
- Phát hiện và giải quyết triệt để **N+1 queries** trong ORM (Prisma, Drizzle, Hibernate, ActiveRecord).
|
|
117
|
-
- Thiết kế Index chính xác: Composite Index (tuân thủ quy tắc Left-to-Right prefix), Partial Index (lọc `WHERE is_deleted = false`), Covering Index (`INCLUDE`).
|
|
118
|
-
- Tái cấu trúc câu truy vấn (Query rewrite): Chuyển `OFFSET` lớn sang Keyset Pagination (Cursor-based), thay `NOT IN` bằng `NOT EXISTS` hoặc `LEFT JOIN ... IS NULL`.
|
|
119
|
-
- Báo cáo định lượng trước và sau (Before / After Cost & Execution Time).
|
|
120
|
-
|
|
121
|
-
❌ Skill này KHÔNG làm:
|
|
122
|
-
- Thêm index bừa bãi vào mọi cột (làm chậm `INSERT`, `UPDATE`, tăng dung lượng đĩa).
|
|
123
|
-
- Tự ý thay đổi cấu trúc bảng hoặc drop cột (thuộc `qk-data-lifecycle`).
|
|
124
|
-
- Can thiệp phần cứng DB hoặc tune memory server nếu không có file cấu hình repo.
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Execution Steps
|
|
129
|
-
|
|
130
|
-
### Step 1 — Thu thập Query & Phân tích EXPLAIN Plan
|
|
131
|
-
```
|
|
132
|
-
Inputs: Slow query SQL/ORM, Schema & Existing Indexes
|
|
133
|
-
Actions:
|
|
134
|
-
- Đọc câu query: xác định predicates (WHERE, JOIN, ORDER BY, GROUP BY).
|
|
135
|
-
- Đọc EXPLAIN output (nếu có):
|
|
136
|
-
- Tìm Node có `Cost` cao nhất.
|
|
137
|
-
- Kiểm tra `Rows Removed by Filter` (dấu hiệu thiếu index).
|
|
138
|
-
- Kiểm tra Sort method (in-memory quicksort hay external merge on disk).
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Step 2 — Chẩn đoán Root Cause
|
|
142
|
-
```
|
|
143
|
-
Xác định vấn đề cốt lõi:
|
|
144
|
-
- Missing Index: Cột lọc không có index dẫn tới Full Table Scan.
|
|
145
|
-
- Sub-optimal Index: Có index nhưng sai thứ tự cột trong Composite Index.
|
|
146
|
-
- Implicit Type Casting: So sánh varchar với int làm database vô hiệu hóa index.
|
|
147
|
-
- N+1 Query: Gọi loop query con thay vì batch load.
|
|
148
|
-
- Expensive Pagination: `OFFSET 100000` quét qua 100.000 dòng rồi vứt bỏ.
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Step 3 — Thiết kế Giải pháp Tối ưu
|
|
152
|
-
```
|
|
153
|
-
Actions:
|
|
154
|
-
- Chiến lược Index:
|
|
155
|
-
- Composite Index: Đặt cột equality (`=`) trước, cột range (`<`, `>`, `BETWEEN`) sau.
|
|
156
|
-
- Partial Index: Khi chỉ query tập con dữ liệu (VD: `WHERE status = 'PENDING'`).
|
|
157
|
-
- Chiến lược Query Rewrite:
|
|
158
|
-
- Viết lại sang Cursor Pagination (`WHERE id > :last_id LIMIT 20`).
|
|
159
|
-
- Dùng CTE hoặc Window functions thay cho multiple subqueries lặp lại.
|
|
160
|
-
- Chiến lược ORM: Thêm `include`/`select` cụ thể, tránh `SELECT *`, áp dụng batch loader.
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Step 4 — Verification & So sánh định lượng
|
|
164
|
-
```
|
|
165
|
-
Actions:
|
|
166
|
-
- Đối chiếu Expected Cost trước và sau tối ưu:
|
|
167
|
-
Before: Seq Scan on orders (cost=0.00..45210.00 rows=1200000)
|
|
168
|
-
After: Index Scan using idx_orders_customer_created (cost=0.43..8.45 rows=20)
|
|
169
|
-
- Đảm bảo câu query sau khi rewrite trả về đúng 100% dữ liệu như câu query cũ.
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## Prompt Template
|
|
175
|
-
|
|
176
|
-
```
|
|
177
|
-
DB Engine: [PostgreSQL / MySQL / SQLite / MongoDB]
|
|
178
|
-
Slow Query: [Câu SQL hoặc đoạn code ORM cần tối ưu]
|
|
179
|
-
Schema: [Định nghĩa bảng và index hiện tại]
|
|
180
|
-
Triệu chứng: [Chạy mất bao lâu / Execution Plan nếu có]
|
|
181
|
-
Volume: [Số lượng bản ghi trong các bảng liên quan]
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### Ví dụ theo Stack:
|
|
185
|
-
|
|
186
|
-
**PostgreSQL (Composite Index & Keyset Pagination)**
|
|
187
|
-
```
|
|
188
|
-
DB Engine: PostgreSQL 15
|
|
189
|
-
Slow Query: SELECT * FROM orders WHERE customer_id = 123 AND status = 'COMPLETED' ORDER BY created_at DESC LIMIT 20 OFFSET 50000;
|
|
190
|
-
Volume: Bảng orders có 10 triệu records. Hiện có index trên (customer_id).
|
|
191
|
-
```
|
|
192
|
-
→ AI chẩn đoán:
|
|
193
|
-
1. Offset 50.000 buộc engine quét qua 50.000 index entries.
|
|
194
|
-
2. Index hiện tại thiếu `status` và `created_at`.
|
|
195
|
-
→ AI giải pháp:
|
|
196
|
-
1. Đề xuất Composite Index: `CREATE INDEX CONCURRENTLY idx_orders_cust_stat_created ON orders (customer_id, status, created_at DESC);`
|
|
197
|
-
2. Rewrite sang Cursor Pagination: `SELECT id, total, created_at FROM orders WHERE customer_id = 123 AND status = 'COMPLETED' AND created_at < :last_created_at ORDER BY created_at DESC LIMIT 20;`
|
|
198
|
-
|
|
199
|
-
**Prisma ORM (Khắc phục N+1 Query)**
|
|
200
|
-
```
|
|
201
|
-
ORM: Prisma
|
|
202
|
-
Code:
|
|
203
|
-
const users = await prisma.user.findMany({ take: 50 });
|
|
204
|
-
for (const user of users) {
|
|
205
|
-
user.posts = await prisma.post.findMany({ where: { authorId: user.id } });
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
→ AI sửa thành single query batching với eager load:
|
|
209
|
-
`const users = await prisma.user.findMany({ take: 50, include: { posts: { select: { id: true, title: true } } } });`
|
|
210
|
-
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-db-optimizer"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Tối ưu Database dựa trên bằng chứng: EXPLAIN → phân tích → index/join — không đoán mò."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "database-performance"
|
|
12
|
-
- "query-optimization"
|
|
13
|
-
references:
|
|
14
|
-
- "architecture"
|
|
15
|
-
- "anti-patterns"
|
|
16
|
-
eval:
|
|
17
|
-
scorecard: "evals/scorecard.yaml"
|
|
18
|
-
decision_boundary:
|
|
19
|
-
owns:
|
|
20
|
-
- "qk-db-optimizer"
|
|
21
|
-
does_not_own: []
|
|
22
|
-
conflicts_with: []
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: qk-db-optimizer-eval
|
|
2
|
-
description: Đánh giá chất lượng tối ưu hóa Database
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Yêu cầu dựa trên bằng chứng, không đoán mò
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: evidence_based_analysis
|
|
8
|
-
name: Phân tích dựa trên bằng chứng (EXPLAIN)
|
|
9
|
-
description: Agent có chạy EXPLAIN/Analyze trước khi thêm Index/Sửa query không?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Bắt buộc phải có thông tin Slow query log hoặc chạy EXPLAIN trước khi hành động (20đ)
|
|
13
|
-
- Phân tích đúng nguyên nhân từ Plan (vd: Seq Scan, Nested Loop, N+1) (20đ)
|
|
14
|
-
|
|
15
|
-
- id: optimal_solution
|
|
16
|
-
name: Đưa ra giải pháp tối ưu
|
|
17
|
-
description: Giải pháp đưa ra có giải quyết triệt để và an toàn không?
|
|
18
|
-
weight: 35
|
|
19
|
-
criteria:
|
|
20
|
-
- Không tạo các index dư thừa (overlapping) (15đ)
|
|
21
|
-
- Xử lý triệt để bài toán N+1 bằng JOIN hoặc DataLoader theo đúng chuẩn dự án (20đ)
|
|
22
|
-
|
|
23
|
-
- id: verification
|
|
24
|
-
name: Kiểm chứng cải thiện (Verification)
|
|
25
|
-
description: Agent có cố gắng đo lường lại sau khi sửa không?
|
|
26
|
-
weight: 25
|
|
27
|
-
criteria:
|
|
28
|
-
- Đối chiếu/ước lượng mức độ cải thiện sau khi áp dụng giải pháp (25đ)
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-design-system-engineering
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: experimental
|
|
6
|
-
description: "Quản trị hệ thống thiết kế (Định nghĩa quy tắc hệ thống, tokens, các biến thể component). Dùng skill này khi user nhắc đến: định nghĩa design system, cấu trúc token, quy chuẩn ui, design tokens, component variants, quản trị thiết kế — kể cả khi chỉ nói 'chuẩn hóa lại cách đặt tên tokens và variants của nút'."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- design-system
|
|
14
|
-
- tokens
|
|
15
|
-
- component-library
|
|
16
|
-
- accessibility
|
|
17
|
-
|
|
18
|
-
complexity:
|
|
19
|
-
level: medium
|
|
20
|
-
criteria:
|
|
21
|
-
files_affected: "1-5"
|
|
22
|
-
has_behavior_change: true
|
|
23
|
-
has_external_dependency: false
|
|
24
|
-
has_breaking_change: false
|
|
25
|
-
|
|
26
|
-
triggers:
|
|
27
|
-
- "định nghĩa design system"
|
|
28
|
-
- "cấu trúc token"
|
|
29
|
-
- "quy chuẩn ui"
|
|
30
|
-
- "design tokens"
|
|
31
|
-
- "component variants"
|
|
32
|
-
- "quản trị thiết kế"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# ── V8: References ─────────────────────────────────────────
|
|
36
|
-
workflow: feature-delivery
|
|
37
|
-
|
|
38
|
-
rules:
|
|
39
|
-
- global
|
|
40
|
-
- coding
|
|
41
|
-
|
|
42
|
-
tools:
|
|
43
|
-
- filesystem
|
|
44
|
-
|
|
45
|
-
related_skills:
|
|
46
|
-
- qk-ui-system-builder
|
|
47
|
-
- qk-ui-builder
|
|
48
|
-
|
|
49
|
-
knowledge_scope:
|
|
50
|
-
domain:
|
|
51
|
-
- design-system
|
|
52
|
-
- tokens
|
|
53
|
-
concepts:
|
|
54
|
-
- visual-consistency
|
|
55
|
-
- components-rules
|
|
56
|
-
references:
|
|
57
|
-
- architecture
|
|
58
|
-
- anti-patterns
|
|
59
|
-
|
|
60
|
-
decision_boundary:
|
|
61
|
-
owns:
|
|
62
|
-
- tokens
|
|
63
|
-
- components rules
|
|
64
|
-
- design governance
|
|
65
|
-
does_not_own:
|
|
66
|
-
- page implementation
|
|
67
|
-
- business logic
|
|
68
|
-
conflicts_with:
|
|
69
|
-
- qk-ui-system-builder
|
|
70
|
-
|
|
71
|
-
knowledge_dependencies:
|
|
72
|
-
- design-intelligence
|
|
73
|
-
- accessibility-guidelines
|
|
74
|
-
- component-patterns
|
|
75
|
-
|
|
76
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
77
|
-
verification:
|
|
78
|
-
required: true
|
|
79
|
-
strategy: feature
|
|
80
|
-
|
|
81
|
-
selection:
|
|
82
|
-
priority: medium
|
|
83
|
-
confidence_threshold: 0.80
|
|
84
|
-
|
|
85
|
-
examples: []
|
|
86
|
-
learnings: []
|
|
87
|
-
|
|
88
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
89
|
-
execution_mode: deterministic
|
|
90
|
-
cost: medium
|
|
91
|
-
latency: medium
|
|
92
|
-
risk: low
|
|
93
|
-
side_effects: read_only
|
|
94
|
-
produces: [report, tokens_definition]
|
|
95
|
-
consumes: [user-description]
|
|
96
|
-
|
|
97
|
-
token_budget:
|
|
98
|
-
max_files_read: 5
|
|
99
|
-
max_lines_per_read: 150
|
|
100
|
-
max_shell_commands: 0
|
|
101
|
-
stop_early: true
|
|
102
|
-
|
|
103
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
# qk-design-system-engineering — Design System Governance & Architecture
|
|
107
|
-
|
|
108
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
109
|
-
|
|
110
|
-
Chịu trách nhiệm quản trị kiến trúc hệ thống thiết kế (Design System Governance), định nghĩa các tầng abstraction của Token (Global → Semantic → Component-scoped), chuẩn hóa Component API (Props, Variants theo CVA - Class Variance Authority) và thiết lập quy tắc mở rộng dài hạn.
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Preconditions
|
|
115
|
-
|
|
116
|
-
Trước khi định nghĩa quy chuẩn design system, AI BẮT BUỘC kiểm tra:
|
|
117
|
-
|
|
118
|
-
- [ ] Xác định triết lý thiết kế và framework UI hiện tại (React, Vue, Web Components) từ `.agents/DEV_PROFILE.md`.
|
|
119
|
-
- [ ] Kiểm tra hệ thống tokens và component library hiện hữu (nếu có).
|
|
120
|
-
- [ ] Xác định phương pháp quản lý variant (CVA, Stitches, Vanilla CSS, Tailwind).
|
|
121
|
-
- [ ] Nếu có sự xung đột giữa các biến thể hoặc phá vỡ tính nhất quán cốt lõi:
|
|
122
|
-
→ **EXIT: BLOCKED**
|
|
123
|
-
→ Báo cáo user ma trận xung đột và đề xuất nguyên tắc chuẩn hóa trước khi ban hành spec.
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Scope
|
|
128
|
-
|
|
129
|
-
✅ Skill này làm:
|
|
130
|
-
- Thiết kế hệ thống phân cấp Tokens 3 tầng:
|
|
131
|
-
1. Primitive / Global Tokens: Giá trị thô (`blue-500: #3b82f6`, `spacing-4: 16px`).
|
|
132
|
-
2. Semantic / System Tokens: Ý nghĩa sử dụng (`color-intent-primary`, `surface-background-elevated`).
|
|
133
|
-
3. Component Tokens: Riêng cho component (`button-primary-bg`, `card-border-radius`).
|
|
134
|
-
- Định nghĩa Component Variant Matrix (Primary, Secondary, Outline, Ghost, Destructive; Sizes: sm, md, lg).
|
|
135
|
-
- Thiết lập quy tắc kế thừa (Design Governance) và tài liệu hóa `DESIGN.md`.
|
|
136
|
-
- Hướng dẫn cấu trúc props component theo hướng composable (Compound Components).
|
|
137
|
-
|
|
138
|
-
❌ Skill này KHÔNG làm:
|
|
139
|
-
- Tự động dựng giao diện các màn hình nghiệp vụ cụ thể (→ `qk-ui-builder`).
|
|
140
|
-
- Trực tiếp generate các file cấu hình build như tailwind.config (→ `qk-ui-system-builder`).
|
|
141
|
-
- Viết API hoặc truy vấn cơ sở dữ liệu.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Execution Steps
|
|
146
|
-
|
|
147
|
-
### Step 1 — Token Hierarchy & Taxonomy Design
|
|
148
|
-
```
|
|
149
|
-
Inputs: Yêu cầu quy chuẩn, Brand Identity
|
|
150
|
-
Actions:
|
|
151
|
-
- Thiết lập quy ước đặt tên (Naming convention: category-context-property-variant-state).
|
|
152
|
-
- Phân tách rạch ròi 3 tầng: Primitive → Semantic → Component.
|
|
153
|
-
- Đảm bảo tính linh hoạt khi thay đổi chủ đề (Theming / Multi-brand).
|
|
154
|
-
Output: Token Taxonomy Specification
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Step 2 — Component Variant & API Matrix
|
|
158
|
-
```
|
|
159
|
-
Inputs: Token Taxonomy, Target UI Components (Button, Input, Card, Modal)
|
|
160
|
-
Actions:
|
|
161
|
-
- Định nghĩa ma trận biến thể (Variants: intent, size, state).
|
|
162
|
-
- Soạn thảo hợp đồng TypeScript Props cho từng component chuẩn (sử dụng Class Variance Authority).
|
|
163
|
-
Output: Component API Contracts
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Step 3 — Governance & Documentation
|
|
167
|
-
```
|
|
168
|
-
Inputs: Taxonomy & Component Contracts
|
|
169
|
-
Actions:
|
|
170
|
-
- Cập nhật hoặc khởi tạo file `DESIGN.md` ở root dự án.
|
|
171
|
-
- Viết hướng dẫn sử dụng (Do's and Don'ts) cho các lập trình viên khác tuân theo.
|
|
172
|
-
Output: DESIGN.md & Usage Guide
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Step 4 — Verification & Peer Review
|
|
176
|
-
```
|
|
177
|
-
Inputs: Specification Draft
|
|
178
|
-
Actions:
|
|
179
|
-
- Kiểm tra tính tương thích ngược với các component cũ đang chạy.
|
|
180
|
-
- Xác nhận tính khả thi với UI developer.
|
|
181
|
-
Exit: SUCCESS
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Prompt Template
|
|
187
|
-
|
|
188
|
-
```
|
|
189
|
-
Hệ thống thiết kế: [Tên design system hoặc đối tượng cần quy chuẩn]
|
|
190
|
-
Mục tiêu: [Định nghĩa cấu trúc token 3 tầng / Chuẩn hóa variants cho Button & Input]
|
|
191
|
-
Công nghệ: [React + Tailwind + CVA / Vue + SCSS / ...]
|
|
192
|
-
Quy tắc hiện tại: [Tài liệu DESIGN.md cũ hoặc mô tả cách team đang dùng]
|
|
193
|
-
```
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-design-system-engineering"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Quản trị hệ thống thiết kế (Định nghĩa quy tắc hệ thống, tokens, các biến thể component)."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
knowledge:
|
|
9
|
-
owns:
|
|
10
|
-
- "qk-design-system-engineering"
|
|
11
|
-
references:
|
|
12
|
-
- "architecture"
|
|
13
|
-
- "anti-patterns"
|
|
14
|
-
eval:
|
|
15
|
-
scorecard: "evals/scorecard.yaml"
|
|
16
|
-
decision_boundary:
|
|
17
|
-
owns:
|
|
18
|
-
- "tokens"
|
|
19
|
-
- "components rules"
|
|
20
|
-
- "design governance"
|
|
21
|
-
does_not_own:
|
|
22
|
-
- "page implementation"
|
|
23
|
-
- "business logic"
|
|
24
|
-
conflicts_with:
|
|
25
|
-
- "qk-ui-system-builder"
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: qk-design-system-engineering-eval
|
|
2
|
-
description: Đánh giá chất lượng quản trị hệ thống thiết kế (Design System)
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Đảm bảo sự nhất quán và ngăn chặn UI Slop từ gốc
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: token_and_rules_definition
|
|
8
|
-
name: Định nghĩa Token và Quy tắc
|
|
9
|
-
description: Agent có thiết lập hệ thống token rõ ràng và nhất quán không?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Định nghĩa đầy đủ các quy tắc cho spacing, colors, typography (20đ)
|
|
13
|
-
- Ngăn chặn triệt để UI Slop bằng cách không cung cấp các token sai chuẩn (vd: độ tương phản quá thấp, font quá bé) (20đ)
|
|
14
|
-
|
|
15
|
-
- id: a11y_compliance
|
|
16
|
-
name: Tuân thủ Accessibility (A11y)
|
|
17
|
-
description: Các quy chuẩn có tính đến khả năng truy cập không?
|
|
18
|
-
weight: 30
|
|
19
|
-
criteria:
|
|
20
|
-
- Thiết lập quy tắc A11y ngay từ cấp độ Token (30đ)
|
|
21
|
-
|
|
22
|
-
- id: boundary_respect
|
|
23
|
-
name: Tôn trọng ranh giới (Decision Boundary)
|
|
24
|
-
description: Agent có giữ đúng vai trò Governance mà không lấn sân sang Implementation không?
|
|
25
|
-
weight: 30
|
|
26
|
-
criteria:
|
|
27
|
-
- Chỉ tập trung định nghĩa (Governance), KHÔNG thay thế việc viết UI code trực tiếp (nhường lại cho qk-ui-system-builder) (30đ)
|