ai-developer-skill-os 9.3.1 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +60 -40
- package/.agents/DEV_PROFILE.md +36 -2
- package/.agents/registry/graph.json +95 -342
- package/.agents/registry/index.yaml +61 -237
- package/.agents/rules/coding.md +30 -12
- package/.agents/rules/command-safety.md +19 -8
- package/.agents/rules/global.md +234 -28
- package/.agents/rules/prompt-compiler.md +170 -0
- package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
- package/.agents/skills/qk-backend-data/SKILL.md +190 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
- package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
- package/.agents/skills/qk-code-review/SKILL.md +126 -247
- package/.agents/skills/qk-devops-release/SKILL.md +145 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
- package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
- package/.agents/skills/qk-product-spec/SKILL.md +113 -0
- package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
- package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
- package/.agents/workflows/feature-delivery.yml +1 -1
- package/.agents/workflows/production-release.yml +1 -1
- package/.agents/workflows/spec-driven-development.yml +109 -87
- package/CHANGELOG.md +16 -0
- package/README.md +125 -205
- package/bin/install.js +337 -329
- package/package.json +2 -2
- package/.agents/README.md +0 -90
- package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
- package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
- package/.agents/docs/MIGRATION-STATUS.md +0 -35
- package/.agents/docs/MIGRATION-V8.md +0 -10
- package/.agents/docs/ROADMAP-V8.2.md +0 -78
- package/.agents/docs/V8-CERTIFICATION.md +0 -27
- package/.agents/skills/qk-access-policy/SKILL.md +0 -206
- package/.agents/skills/qk-access-policy/capability.yaml +0 -23
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
- package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
- package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
- package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
- package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
- package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
- package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
- package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
- package/.agents/skills/qk-code-review/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/SKILL.md +0 -198
- package/.agents/skills/qk-context-loader/capability.yaml +0 -23
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
- package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
- package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
- package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
- package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
- package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-docs/SKILL.md +0 -193
- package/.agents/skills/qk-docs/capability.yaml +0 -23
- package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
- package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
- package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
- package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
- package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
- package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
- package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
- package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
- package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
- package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-help/SKILL.md +0 -107
- package/.agents/skills/qk-help/capability.yaml +0 -20
- package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
- package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
- package/.agents/skills/qk-product-specification/SKILL.md +0 -187
- package/.agents/skills/qk-product-specification/capability.yaml +0 -27
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-production-release/SKILL.md +0 -188
- package/.agents/skills/qk-production-release/capability.yaml +0 -27
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-audit/SKILL.md +0 -174
- package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
- package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
- package/.agents/skills/qk-project-health/SKILL.md +0 -202
- package/.agents/skills/qk-project-health/capability.yaml +0 -23
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-project-memory/SKILL.md +0 -303
- package/.agents/skills/qk-project-memory/capability.yaml +0 -23
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-refactor/SKILL.md +0 -243
- package/.agents/skills/qk-refactor/capability.yaml +0 -26
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-security-audit/SKILL.md +0 -280
- package/.agents/skills/qk-security-audit/capability.yaml +0 -29
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
- package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
- package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
- package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
- package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
- package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
- package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
- package/.agents/skills/qk-ui-builder/references/color.md +0 -115
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
- package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
- package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
- package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
- package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
- package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
- package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
- package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
- package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-upgrade/SKILL.md +0 -301
- package/.agents/skills/qk-upgrade/capability.yaml +0 -24
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
- package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
- package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
- package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
- package/.agents/workflows/research.yml +0 -75
- package/.agents/workflows/skill-evolution.yml +0 -97
- package/tooling/fix-refactor.js +0 -8
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: qk-validation-gate-eval
|
|
2
|
-
description: Đánh giá Cổng kiểm tra Chất lượng V8.2
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 100 # Phải đạt 100 điểm tuyệt đối vì đây là lưới rà soát cuối cùng trước khi Release
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: threshold_enforcement
|
|
8
|
-
name: Thi hành Threshold nghiêm ngặt
|
|
9
|
-
description: Agent có bỏ qua lỗi Lint, Type check hoặc Test coverage không?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Chặn đứng (FAILED) ngay lập tức nếu Lint error > 0, Type error > 0, hoặc Coverage < 80% (40đ)
|
|
13
|
-
|
|
14
|
-
- id: quantitative_eval_execution
|
|
15
|
-
name: Đánh giá định lượng AI (Eval Pipeline)
|
|
16
|
-
description: Có đọc và áp dụng scorecard.yaml để chấm điểm AI agent output không?
|
|
17
|
-
weight: 35
|
|
18
|
-
criteria:
|
|
19
|
-
- Áp dụng rubric để chấm điểm và từ chối kết quả nếu tổng điểm < Threshold (35đ)
|
|
20
|
-
|
|
21
|
-
- id: trace_verification
|
|
22
|
-
name: Xác minh Trace (Zero Hallucination)
|
|
23
|
-
description: Có đối chiếu kết quả với file log traces thực tế không?
|
|
24
|
-
weight: 25
|
|
25
|
-
criteria:
|
|
26
|
-
- Bắt buộc kiểm tra dấu vết (traces) thực thi để đảm bảo AI không tự bịa ra kết quả test (25đ)
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# ── Identity ───────────────────────────────────────────────
|
|
3
|
-
name: qk-web-quality-gate
|
|
4
|
-
version: 9.2.0
|
|
5
|
-
status: experimental
|
|
6
|
-
description: "Đo lường chất lượng kỹ thuật Web: Accessibility violations (WCAG), Core Web Vitals, Lighthouse score, SEO tags, security headers. Output là số đo và lỗi kỹ thuật cụ thể. Dùng skill này khi user nhắc đến: a11y, accessibility, wcag, lighthouse, core web vitals, seo audit, page speed, performance score, security headers — KHÔNG dùng cho review thiết kế UI hay spacing."
|
|
7
|
-
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
|
-
|
|
9
|
-
# ── V9: Classification ─────────────────────────────────────
|
|
10
|
-
type: capability
|
|
11
|
-
|
|
12
|
-
intent:
|
|
13
|
-
- web-performance
|
|
14
|
-
- accessibility
|
|
15
|
-
- seo
|
|
16
|
-
- lighthouse
|
|
17
|
-
- ux-audit
|
|
18
|
-
|
|
19
|
-
complexity:
|
|
20
|
-
level: high
|
|
21
|
-
criteria:
|
|
22
|
-
files_affected: "1-5"
|
|
23
|
-
has_behavior_change: false
|
|
24
|
-
has_external_dependency: true
|
|
25
|
-
has_breaking_change: false
|
|
26
|
-
|
|
27
|
-
triggers:
|
|
28
|
-
- "a11y"
|
|
29
|
-
- "accessibility"
|
|
30
|
-
- "wcag"
|
|
31
|
-
- "lighthouse"
|
|
32
|
-
- "core web vitals"
|
|
33
|
-
- "seo audit"
|
|
34
|
-
- "page speed"
|
|
35
|
-
- "performance score"
|
|
36
|
-
- "security headers"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
# ── V8: References ─────────────────────────────────────────
|
|
40
|
-
workflow: feature-delivery
|
|
41
|
-
|
|
42
|
-
rules:
|
|
43
|
-
- global
|
|
44
|
-
- coding
|
|
45
|
-
|
|
46
|
-
tools:
|
|
47
|
-
- filesystem
|
|
48
|
-
- terminal
|
|
49
|
-
|
|
50
|
-
related_skills:
|
|
51
|
-
- qk-ui-audit
|
|
52
|
-
- qk-ui-builder
|
|
53
|
-
|
|
54
|
-
knowledge_scope:
|
|
55
|
-
domain:
|
|
56
|
-
- web-performance
|
|
57
|
-
- web-accessibility
|
|
58
|
-
concepts:
|
|
59
|
-
- lighthouse
|
|
60
|
-
- seo
|
|
61
|
-
- ux-heuristics
|
|
62
|
-
references:
|
|
63
|
-
- architecture
|
|
64
|
-
|
|
65
|
-
decision_boundary:
|
|
66
|
-
owns:
|
|
67
|
-
- lighthouse audit
|
|
68
|
-
- accessibility review
|
|
69
|
-
- performance audit
|
|
70
|
-
- seo audit
|
|
71
|
-
does_not_own:
|
|
72
|
-
- ui component implementation
|
|
73
|
-
conflicts_with: []
|
|
74
|
-
|
|
75
|
-
# ── V8: Verification ───────────────────────────────────────
|
|
76
|
-
verification:
|
|
77
|
-
required: true
|
|
78
|
-
strategy: web-quality-review
|
|
79
|
-
|
|
80
|
-
selection:
|
|
81
|
-
priority: medium
|
|
82
|
-
confidence_threshold: 0.80
|
|
83
|
-
|
|
84
|
-
examples: []
|
|
85
|
-
learnings: []
|
|
86
|
-
|
|
87
|
-
# ── V7 Runtime ─────────────────────────────────────────────
|
|
88
|
-
execution_mode: deterministic
|
|
89
|
-
cost: medium
|
|
90
|
-
latency: slow
|
|
91
|
-
risk: low
|
|
92
|
-
side_effects: read_only
|
|
93
|
-
produces: [report]
|
|
94
|
-
consumes: [user-description, source-code]
|
|
95
|
-
|
|
96
|
-
token_budget:
|
|
97
|
-
max_files_read: 5
|
|
98
|
-
max_lines_per_read: 150
|
|
99
|
-
max_shell_commands: 2
|
|
100
|
-
stop_early: true
|
|
101
|
-
|
|
102
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
# qk-web-quality-gate — Web Quality, A11y & Performance Auditor
|
|
106
|
-
|
|
107
|
-
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
108
|
-
|
|
109
|
-
Chịu trách nhiệm đo lường và đánh giá các chỉ số chất lượng kỹ thuật của ứng dụng Web: **Accessibility (WCAG 2.1 AA) → Core Web Vitals (LCP, FID/INP, CLS) → SEO meta tags → Security Headers**. Xuất báo cáo định lượng và chỉ dẫn khắc phục cụ thể.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## Preconditions
|
|
114
|
-
|
|
115
|
-
Trước khi audit chất lượng web, AI BẮT BUỘC kiểm tra:
|
|
116
|
-
|
|
117
|
-
- [ ] Xác định trang hoặc component web cần kiểm tra.
|
|
118
|
-
- [ ] Xác định frontend framework và rendering method (SSR, SSG, CSR, Next.js, Nuxt) từ `.agents/DEV_PROFILE.md`.
|
|
119
|
-
- [ ] Đảm bảo có thể truy cập mã nguồn template HTML / JSX để đọc semantic tags.
|
|
120
|
-
- [ ] Nếu trang hoàn toàn là client-side SPA mà không có mã nguồn cấu trúc DOM:
|
|
121
|
-
→ **EXIT: BLOCKED**
|
|
122
|
-
→ Báo cáo user cung cấp URL môi trường staging hoặc file mã nguồn template tương ứng.
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Scope
|
|
127
|
-
|
|
128
|
-
✅ Skill này làm:
|
|
129
|
-
- Kiểm toán Accessibility (A11y theo chuẩn WCAG 2.1 AA):
|
|
130
|
-
- Semantic HTML (`<main>`, `<nav>`, `<header>`, `<h1>-<h6>` thứ tự đúng).
|
|
131
|
-
- ARIA attributes (`aria-label`, `aria-expanded`, `aria-hidden`, `role`).
|
|
132
|
-
- Keyboard navigation (tab order, focus trap trong modals, skip links).
|
|
133
|
-
- Alt text cho hình ảnh và caption cho media.
|
|
134
|
-
- Phân tích Core Web Vitals & Performance:
|
|
135
|
-
- LCP (Largest Contentful Paint): Tối ưu hóa ảnh (next/image, webp, priority loading).
|
|
136
|
-
- CLS (Cumulative Layout Shift): Khai báo width/height cho hình ảnh, placeholder cho ad slots.
|
|
137
|
-
- INP/FID: Tối ưu bundle size, dynamic imports / code-splitting.
|
|
138
|
-
- Kiểm tra SEO Technical: Title tag, Meta description, OpenGraph tags, Canonical link, Robots/Sitemap.
|
|
139
|
-
- Kiểm tra HTTP Security Headers khuyến nghị: CSP, X-Frame-Options, HSTS.
|
|
140
|
-
|
|
141
|
-
❌ Skill này KHÔNG làm:
|
|
142
|
-
- Đánh giá tính thẩm mỹ hoặc spacing thị giác (→ `qk-ui-audit`).
|
|
143
|
-
- Tự viết component UI mới từ đầu (→ `qk-ui-builder`).
|
|
144
|
-
- Thiết lập hạ tầng CDN hoặc server proxy Nginx/Cloudflare (→ `qk-devops-platform`).
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Execution Steps
|
|
149
|
-
|
|
150
|
-
### Step 1 — Semantic & A11y DOM Inspection
|
|
151
|
-
```
|
|
152
|
-
Inputs: Page/Component source code
|
|
153
|
-
Actions:
|
|
154
|
-
- Kiểm tra tính hợp lệ của cây phân cấp headings (h1 -> h2 -> h3, không nhảy cóc).
|
|
155
|
-
- Soát tất cả thẻ `<img>` thiếu `alt` hoặc thẻ tương tác (`<button>`, `<a>`) thiếu text/aria-label.
|
|
156
|
-
- Kiểm tra form inputs có gắn kèm `<label>` tường minh hay không.
|
|
157
|
-
Output: A11y violation list
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Step 2 — Performance & Core Web Vitals Analysis
|
|
161
|
-
```
|
|
162
|
-
Inputs: Asset imports, Rendering architecture
|
|
163
|
-
Actions:
|
|
164
|
-
- Kiểm tra cách load font chữ (font-display: swap) và CSS render-blocking.
|
|
165
|
-
- Phát hiện các ảnh dung lượng lớn chưa được responsive srcset hoặc nén modern formats (AVIF/WebP).
|
|
166
|
-
- Đánh giá chiến lược lazy-loading cho các components nằm dưới màn hình đầu tiên (below the fold).
|
|
167
|
-
Output: Web Vitals bottleneck map
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### Step 3 — SEO & Security Header Audit
|
|
171
|
-
```
|
|
172
|
-
Inputs: HTML Head configuration, Next.js metadata / Nuxt useHead
|
|
173
|
-
Actions:
|
|
174
|
-
- Soát độ dài Title (50-60 ký tự) và Description (150-160 ký tự).
|
|
175
|
-
- Kiểm tra cấu hình thẻ mạng xã hội (og:image, og:title, twitter:card).
|
|
176
|
-
- Đánh giá Content Security Policy (CSP).
|
|
177
|
-
Output: SEO & Security posture report
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### Step 4 — Remediation Guide Formulation
|
|
181
|
-
```
|
|
182
|
-
Inputs: Findings across all categories
|
|
183
|
-
Actions:
|
|
184
|
-
- Tổng hợp thành bảng điểm định lượng và phân loại độ ưu tiên (P0: Blockers, P1: High, P2: Polish).
|
|
185
|
-
- Cung cấp đoạn code JSX/HTML sửa mẫu trực quan.
|
|
186
|
-
Exit: SUCCESS
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Prompt Template
|
|
192
|
-
|
|
193
|
-
```
|
|
194
|
-
Trang / URL: [Đường dẫn file page hoặc route URL cần kiểm tra]
|
|
195
|
-
Trọng tâm audit: [A11y WCAG / Core Web Vitals / SEO Technical / Tất cả]
|
|
196
|
-
Vấn đề ghi nhận: [Chậm tải trang, lighthouse điểm đỏ, cảnh báo screen reader, ...]
|
|
197
|
-
```
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Auto-generated from SKILL.md frontmatter
|
|
2
|
-
schema_version: 1
|
|
3
|
-
id: "qk-web-quality-gate"
|
|
4
|
-
version: "9.1.0"
|
|
5
|
-
description: "Kiểm toán tổng thể chất lượng Web: Accessibility (A11y), SEO, Web Performance, Security, UX Heuristics."
|
|
6
|
-
tools:
|
|
7
|
-
- "filesystem"
|
|
8
|
-
- "terminal"
|
|
9
|
-
knowledge:
|
|
10
|
-
owns:
|
|
11
|
-
- "qk-web-quality-gate"
|
|
12
|
-
references:
|
|
13
|
-
- "architecture"
|
|
14
|
-
eval:
|
|
15
|
-
scorecard: "evals/scorecard.yaml"
|
|
16
|
-
decision_boundary:
|
|
17
|
-
owns:
|
|
18
|
-
- "lighthouse audit"
|
|
19
|
-
- "accessibility review"
|
|
20
|
-
- "performance audit"
|
|
21
|
-
- "seo audit"
|
|
22
|
-
does_not_own:
|
|
23
|
-
- "ui component implementation"
|
|
24
|
-
conflicts_with: []
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: qk-web-quality-gate-eval
|
|
2
|
-
description: Đánh giá chất lượng tổng thể của Web (Performance, SEO, A11y, UX)
|
|
3
|
-
version: 9.1.0
|
|
4
|
-
threshold: 85 # Đảm bảo đo lường đầy đủ 4 trục chất lượng của ứng dụng Web
|
|
5
|
-
|
|
6
|
-
metrics:
|
|
7
|
-
- id: core_web_vitals_focus
|
|
8
|
-
name: Phân tích Core Web Vitals
|
|
9
|
-
description: Có đánh giá đúng các chỉ số ảnh hưởng đến trải nghiệm (LCP, CLS, INP) không?
|
|
10
|
-
weight: 40
|
|
11
|
-
criteria:
|
|
12
|
-
- Báo cáo rõ ràng về kích thước Bundle, chiến lược Lazy loading và tối ưu hình ảnh (40đ)
|
|
13
|
-
|
|
14
|
-
- id: seo_and_accessibility
|
|
15
|
-
name: Kiểm tra SEO & A11y
|
|
16
|
-
description: Web có thân thiện với bot tìm kiếm và người khuyết tật không?
|
|
17
|
-
weight: 35
|
|
18
|
-
criteria:
|
|
19
|
-
- Quét Semantic HTML, Meta tags, và các rào cản truy cập ARIA (35đ)
|
|
20
|
-
|
|
21
|
-
- id: actionable_recommendations
|
|
22
|
-
name: Khuyến nghị thực tiễn (Actionable)
|
|
23
|
-
description: Các đề xuất tối ưu có khả thi để lập trình viên thực hiện ngay không?
|
|
24
|
-
weight: 25
|
|
25
|
-
criteria:
|
|
26
|
-
- "Không chỉ ra lỗi chung chung mà chỉ định rõ cách fix (ví dụ: Thêm loading='lazy' vào thẻ img dòng 15) (25đ)"
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
name: research
|
|
2
|
-
version: 8.0.0
|
|
3
|
-
description: "Pipeline nghiên cứu codebase để hiểu context, dependency, và architecture trước khi thực hiện task lớn."
|
|
4
|
-
|
|
5
|
-
owner:
|
|
6
|
-
type: engineering
|
|
7
|
-
maintained_by: qk-team
|
|
8
|
-
|
|
9
|
-
verification_profile: review
|
|
10
|
-
|
|
11
|
-
triggers:
|
|
12
|
-
- "how does this work"
|
|
13
|
-
- "tìm hiểu codebase"
|
|
14
|
-
- "explore this repo"
|
|
15
|
-
- "nghiên cứu"
|
|
16
|
-
- "explain the architecture"
|
|
17
|
-
- "trace dependency"
|
|
18
|
-
|
|
19
|
-
ide_binding:
|
|
20
|
-
slash_command: "/research"
|
|
21
|
-
aliases: ["/explore", "/explain"]
|
|
22
|
-
|
|
23
|
-
steps:
|
|
24
|
-
- id: define_scope
|
|
25
|
-
name: "Xác định phạm vi nghiên cứu"
|
|
26
|
-
purpose: "Biết chính xác cần tìm hiểu gì để phục vụ task"
|
|
27
|
-
required: true
|
|
28
|
-
skip_if: null
|
|
29
|
-
inputs:
|
|
30
|
-
- research_goal # What decision does this research enable?
|
|
31
|
-
outputs:
|
|
32
|
-
- research_questions # Specific questions to answer
|
|
33
|
-
- entry_points # Files to start reading
|
|
34
|
-
exit_on_fail: BLOCKED
|
|
35
|
-
|
|
36
|
-
- id: explore
|
|
37
|
-
name: "Khám phá codebase"
|
|
38
|
-
purpose: "Thu thập thông tin đủ để trả lời research questions"
|
|
39
|
-
required: true
|
|
40
|
-
skip_if: null
|
|
41
|
-
inputs:
|
|
42
|
-
- entry_points
|
|
43
|
-
- research_questions
|
|
44
|
-
outputs:
|
|
45
|
-
- findings # Answers to research questions
|
|
46
|
-
- dependency_map # How components relate
|
|
47
|
-
- relevant_files # Files most relevant to the task
|
|
48
|
-
context_budget: 100
|
|
49
|
-
actions:
|
|
50
|
-
- "Dùng grep_search để tìm patterns, không đọc toàn bộ repo"
|
|
51
|
-
- "Đọc targeted sections (≤ 100 lines per read)"
|
|
52
|
-
- "Build mental model của dependency relationship"
|
|
53
|
-
|
|
54
|
-
- id: synthesize
|
|
55
|
-
name: "Tổng hợp kết quả"
|
|
56
|
-
purpose: "Trả lời research questions + tạo context cho task tiếp theo"
|
|
57
|
-
required: true
|
|
58
|
-
skip_if: null
|
|
59
|
-
inputs:
|
|
60
|
-
- findings
|
|
61
|
-
- dependency_map
|
|
62
|
-
outputs:
|
|
63
|
-
- context_summary # Ready-to-use context for next skill
|
|
64
|
-
- architecture_notes # Key patterns và conventions
|
|
65
|
-
- warnings # Gotchas, deprecated patterns, risks
|
|
66
|
-
actions:
|
|
67
|
-
- "Viết summary ngắn gọn (không cần exhaustive)"
|
|
68
|
-
- "Flag các pattern cũ/deprecated nếu thấy"
|
|
69
|
-
- "Báo cáo mọi pattern vi phạm R-SEC-04 nếu thấy"
|
|
70
|
-
- "Ghi log execution trace vào evals/traces/"
|
|
71
|
-
- "Liệt kê relevant files để task tiếp theo load"
|
|
72
|
-
|
|
73
|
-
escalation:
|
|
74
|
-
max_retries: 1
|
|
75
|
-
on_failure: "Report partial findings với confidence level"
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
name: skill-evolution
|
|
2
|
-
version: 8.0.0
|
|
3
|
-
description: "Workflow vòng lặp tiến hóa và tối ưu hóa skill (Skill Evolution)."
|
|
4
|
-
|
|
5
|
-
owner:
|
|
6
|
-
type: engineering
|
|
7
|
-
maintained_by: qk-team
|
|
8
|
-
|
|
9
|
-
verification_profile: skill-evolution
|
|
10
|
-
|
|
11
|
-
triggers:
|
|
12
|
-
- "improve this skill"
|
|
13
|
-
- "tối ưu skill"
|
|
14
|
-
- "why does this skill keep failing"
|
|
15
|
-
- "optimize this workflow"
|
|
16
|
-
- "phân tích usage skill"
|
|
17
|
-
|
|
18
|
-
ide_binding:
|
|
19
|
-
slash_command: "/evolve-skill"
|
|
20
|
-
aliases: ["/skill-tune"]
|
|
21
|
-
|
|
22
|
-
steps:
|
|
23
|
-
- id: observe_usage
|
|
24
|
-
name: "Observe Usage"
|
|
25
|
-
purpose: "Theo dõi cách skill được sử dụng"
|
|
26
|
-
required: true
|
|
27
|
-
inputs:
|
|
28
|
-
- skill_logs
|
|
29
|
-
outputs:
|
|
30
|
-
- usage_metrics
|
|
31
|
-
actions:
|
|
32
|
-
- "Thống kê trigger rate và token usage"
|
|
33
|
-
|
|
34
|
-
- id: measure_success
|
|
35
|
-
name: "Measure Success"
|
|
36
|
-
purpose: "Đánh giá tỷ lệ thành công"
|
|
37
|
-
required: true
|
|
38
|
-
inputs:
|
|
39
|
-
- usage_metrics
|
|
40
|
-
- execution_results
|
|
41
|
-
outputs:
|
|
42
|
-
- success_rate
|
|
43
|
-
actions:
|
|
44
|
-
- "Xác định các lần exit SUCCESS vs FAILED/PARTIAL"
|
|
45
|
-
|
|
46
|
-
- id: detect_failure
|
|
47
|
-
name: "Detect Failure Patterns"
|
|
48
|
-
purpose: "Phát hiện lý do thất bại"
|
|
49
|
-
required: true
|
|
50
|
-
inputs:
|
|
51
|
-
- execution_results
|
|
52
|
-
outputs:
|
|
53
|
-
- failure_patterns
|
|
54
|
-
actions:
|
|
55
|
-
- "Phân tích log lỗi, hallucination, out of budget"
|
|
56
|
-
|
|
57
|
-
- id: improve_skill
|
|
58
|
-
name: "Improve Skill"
|
|
59
|
-
purpose: "Đề xuất tối ưu skill"
|
|
60
|
-
required: true
|
|
61
|
-
inputs:
|
|
62
|
-
- failure_patterns
|
|
63
|
-
- skill_body
|
|
64
|
-
outputs:
|
|
65
|
-
- improved_skill_proposal
|
|
66
|
-
actions:
|
|
67
|
-
- "Giảm noise trong instruction"
|
|
68
|
-
- "Cập nhật examples và learnings"
|
|
69
|
-
- "Tinh chỉnh token budget"
|
|
70
|
-
|
|
71
|
-
- id: validate_improvement
|
|
72
|
-
name: "Validate Improvement"
|
|
73
|
-
purpose: "Xác thực bản nâng cấp"
|
|
74
|
-
required: true
|
|
75
|
-
inputs:
|
|
76
|
-
- improved_skill_proposal
|
|
77
|
-
outputs:
|
|
78
|
-
- validation_result
|
|
79
|
-
actions:
|
|
80
|
-
- "Chạy qua validate-skills.js"
|
|
81
|
-
- "Đảm bảo skill không vi phạm R-C-09"
|
|
82
|
-
- "Kiểm tra schema compliance"
|
|
83
|
-
|
|
84
|
-
- id: promote
|
|
85
|
-
name: "Promote Skill"
|
|
86
|
-
purpose: "Đưa bản cải tiến vào sử dụng"
|
|
87
|
-
required: true
|
|
88
|
-
inputs:
|
|
89
|
-
- validation_result
|
|
90
|
-
outputs:
|
|
91
|
-
- stable_skill
|
|
92
|
-
actions:
|
|
93
|
-
- "Chuyển status thành stable"
|
|
94
|
-
|
|
95
|
-
escalation:
|
|
96
|
-
max_retries: 1
|
|
97
|
-
on_failure: "Hủy bỏ bản cải tiến nếu validation thất bại"
|
package/tooling/fix-refactor.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
|
|
3
|
-
const skillMd = `---\nname: qk-refactor\nversion: 8.0.0\nstatus: stable\ndescription: "Tái cấu trúc và dọn dẹp mã nguồn để dễ bảo trì hơn mà không làm thay đổi logic hoạt động bên ngoài."\nplatforms: [antigravity, claude-code, cursor, windsurf, kilo-code]\n\ntype: capability\n\nintent:\n - refactoring\n - code-cleanup\n - complexity-reduction\n\ncomplexity:\n level: medium\n criteria:\n files_affected: "2-5"\n has_behavior_change: false\n has_external_dependency: false\n has_breaking_change: false\n\ntriggers:\n - refactor\n - tái cấu trúc\n - clean up this code\n - simplify\n - reduce complexity\n - dẫn cấu trúc code\n\nselection:\n priority: medium\n confidence_threshold: 0.80\n\nworkflow: refactor\n\nrules:\n - global\n - coding\n - safety\n\ntools:\n - filesystem\n - terminal\n\nrelated_skills:\n - qk-engineering-standard\n - qk-project-health\n\nknowledge_scope:\n owns:\n - refactoring-patterns\n - code-smells\n references:\n - architecture\n - coding-standards\n\nverification:\n required: true\n strategy: refactor\n\nexamples: []\nlearnings: []\n\nexecution_mode: deterministic\ncost: medium\nlatency: medium\nrisk: medium\nside_effects: edit_files\nproduces: [code, report]\nconsumes: [source-code]\n\ntoken_budget:\n max_files_read: 3\n max_lines_per_read: 150\n max_shell_commands: 2\n stop_early: true\n\nexit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]\n---\n\n# qk-refactor - Safe Refactor\n\n> Language rule: Code, identifiers, file names → English. Explanations, summaries → Vietnamese.\n\n## Preconditions\n- [ ] Target file(s) or module(s) are specified\n- [ ] Tests exist for the target code (or can be created)\n\nOn missing precondition:\n EXIT: BLOCKED\n Message: "Missing: target files or test coverage"\n\n## Scope\n- Improve internal code quality without changing external behavior\n- Reduce complexity, improve naming, extract functions\n- Remove dead code and duplication\n\n## Non-Goals\n- Add new functionality\n- Change public API signatures\n- Modify behavior or business logic\n\n## Workflow\n1. Establish baseline (current behavior + tests)\n2. Plan refactor steps\n3. Execute step by step\n4. Verify behavior unchanged\n5. Run validation gate\n\n## Exit Codes\n| Code | Meaning |\n|------|---------|\n| SUCCESS | Refactor complete, behavior preserved, tests pass |\n| PARTIAL | Refactor done, some tests need attention |\n| BLOCKED | Missing preconditions |\n| FAILED | Behavior changed or tests broken |\n`;
|
|
4
|
-
|
|
5
|
-
const capYaml = `schema_version: 1\nid: "qk-refactor"\nversion: "8.0.0"\ndescription: "Tái cấu trúc và dọn dẹp mã nguồn để dễ bảo trì hơn mà không làm thay đổi logic hoạt động bên ngoài."\ndependencies:\n - "refactor"\ntools:\n - "filesystem"\n - "terminal"\nknowledge:\n owns:\n - "refactoring-patterns"\n - "code-smells"\n references:\n - "architecture"\n - "coding-standards"\neval:\n scorecard: "evals/scorecard.yaml"\ndecision_boundary:\n owns:\n - "refactoring-patterns"\n does_not_own:\n - "new-functionality"\n - "api-changes"\n conflicts_with: []\n delegates_to: []\n`;\n
|
|
6
|
-
fs.writeFileSync('.agents/skills/qk-refactor/SKILL.md', skillMd, 'utf8');
|
|
7
|
-
fs.writeFileSync('.agents/skills/qk-refactor/capability.yaml', capYaml, 'utf8');
|
|
8
|
-
console.log('Written qk-refactor files with correct UTF-8 encoding');
|