ai-developer-skill-os 2.0.1 → 3.0.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 +48 -0
- package/README.md +77 -130
- package/knowledge/frontend/react.md +27 -0
- package/package.json +1 -1
- package/skills/qk-access-policy/SKILL.md +40 -127
- package/skills/qk-ai-builder/SKILL.md +41 -33
- package/skills/qk-api-lifecycle/SKILL.md +62 -420
- package/skills/qk-bug-resolution/SKILL.md +65 -371
- package/skills/qk-context-loader/SKILL.md +47 -206
- package/skills/qk-data-lifecycle/SKILL.md +60 -135
- package/skills/qk-design-to-code/SKILL.md +46 -33
- package/skills/qk-docs/SKILL.md +52 -335
- package/skills/qk-documentation-system/SKILL.md +38 -33
- package/skills/qk-engineering-standard/SKILL.md +61 -171
- package/skills/qk-feature-delivery/SKILL.md +63 -432
- package/skills/qk-help/SKILL.md +37 -95
- package/skills/qk-orchestrator/SKILL.md +52 -272
- package/skills/qk-policy-engine/SKILL.md +52 -33
- package/skills/qk-production-release/SKILL.md +45 -127
- package/skills/qk-project-bootstrap/SKILL.md +43 -33
- package/skills/qk-project-health/SKILL.md +56 -650
- package/skills/qk-project-memory/SKILL.md +35 -33
- package/skills/qk-system-evolution/SKILL.md +63 -315
- package/skills/qk-ui-audit/SKILL.md +58 -152
- package/skills/qk-ui-system-builder/SKILL.md +40 -444
- package/skills/qk-validation-gate/SKILL.md +59 -33
- package/templates/bug-report.md +21 -0
- package/templates/design-report.md +21 -0
- package/templates/feature-report.md +20 -0
- package/templates/review-report.md +21 -0
|
@@ -1,152 +1,58 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-ui-audit
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
1. **
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
##
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Scope
|
|
63
|
-
|
|
64
|
-
- ✅ **Keyboard Navigation:** Ensure all interactive elements are reachable via `Tab`, and operable via `Enter`/`Space`/Arrows. Focus management (trapping focus in modals).
|
|
65
|
-
- ✅ **Screen Reader Support:** Add proper `aria-` attributes, `alt` text, and visually hidden text (`sr-only`).
|
|
66
|
-
- ✅ **Semantic HTML:** Replace `div` soups with `<nav>`, `<main>`, `<article>`, `<button>`, etc.
|
|
67
|
-
- ✅ **Color Contrast:** Verify text vs. background contrast meets WCAG AA (4.5:1 for normal text).
|
|
68
|
-
- ✅ **Form Labels:** Ensure all inputs have associated `<label>`s or `aria-label`s.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Non-goals
|
|
73
|
-
|
|
74
|
-
- ❌ Do NOT completely redesign the UI visually (unless fixing a severe contrast issue, and even then, ask first).
|
|
75
|
-
- ❌ Do NOT overuse ARIA. The first rule of ARIA is: "No ARIA is better than bad ARIA." Use semantic HTML first.
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Workflow
|
|
80
|
-
|
|
81
|
-
### Phase 1 — Semantic HTML Check
|
|
82
|
-
|
|
83
|
-
Scan the component for basic HTML semantics:
|
|
84
|
-
- Are buttons actually `<button>` elements (not `<div onClick>`)?
|
|
85
|
-
- Are links actually `<a>` elements with `href`s?
|
|
86
|
-
- Do images have meaningful `alt` text (or `alt=""` if decorative)?
|
|
87
|
-
- Are headings (`h1`-`h6`) in a logical, unbroken hierarchy?
|
|
88
|
-
|
|
89
|
-
### Phase 2 — Keyboard & Focus Management
|
|
90
|
-
|
|
91
|
-
- Can the user tab through the component logically?
|
|
92
|
-
- Does every interactive element have a visible focus state (`:focus-visible`)?
|
|
93
|
-
- For Modals/Dialogs: Is focus trapped inside when open? Is focus restored when closed?
|
|
94
|
-
- For custom widgets (Tabs/Dropdowns): Implement correct arrow key navigation per WAI-ARIA authoring practices.
|
|
95
|
-
|
|
96
|
-
### Phase 3 — Screen Reader (ARIA) Check
|
|
97
|
-
|
|
98
|
-
- Do custom interactive elements have correct `role`s (e.g., `role="tablist"`)?
|
|
99
|
-
- Is dynamic state communicated? (`aria-expanded`, `aria-selected`, `aria-invalid`, `aria-busy`).
|
|
100
|
-
- Are icon-only buttons properly labeled? (`aria-label` or `<span className="sr-only">Label</span>`).
|
|
101
|
-
- Are dynamic live regions used for important announcements (`aria-live="polite"` or `assertive`)?
|
|
102
|
-
|
|
103
|
-
### Phase 4 — Contrast & Visuals
|
|
104
|
-
|
|
105
|
-
- Check text colors against backgrounds.
|
|
106
|
-
- Ensure form fields have visible borders or indicators.
|
|
107
|
-
- Ensure information is not conveyed *only* by color (e.g., a red border for an error must also have error text).
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Decision Tree
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
Is the component a native HTML element (e.g., standard `<button>`)?
|
|
115
|
-
├── Yes → Ensure it has accessible text/labels. No ARIA roles needed.
|
|
116
|
-
└── No → (e.g., a custom `div` acting as a checkbox)
|
|
117
|
-
├── Can it be refactored to use native HTML?
|
|
118
|
-
│ ├── Yes → Refactor to native HTML `<input type="checkbox">`
|
|
119
|
-
│ └── No → Apply `role="checkbox"`, `tabIndex={0}`, `aria-checked`, and keyboard event handlers.
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## Output Format
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
♿ Accessibility Audit Report
|
|
128
|
-
─────────────────────────────────────────────────
|
|
129
|
-
Component: [ComponentName]
|
|
130
|
-
|
|
131
|
-
Issues Found & Fixed:
|
|
132
|
-
✅ Semantic HTML: Replaced `<div onClick>` with `<button>`
|
|
133
|
-
✅ Screen Readers: Added `aria-label` to icon-only close button
|
|
134
|
-
✅ Keyboard: Added focus trap inside the Modal
|
|
135
|
-
✅ Forms: Associated `<label htmlFor="email">` with Input
|
|
136
|
-
|
|
137
|
-
⚠️ Remaining Warnings (Manual Check Required):
|
|
138
|
-
- Please verify color contrast of primary button in light mode (needs 4.5:1 ratio).
|
|
139
|
-
|
|
140
|
-
🔗 Next Steps:
|
|
141
|
-
Code updated. Recommend testing with a screen reader (VoiceOver/NVDA).
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## Validation Checklist
|
|
147
|
-
|
|
148
|
-
- [ ] Semantic HTML preferred over ARIA
|
|
149
|
-
- [ ] Keyboard navigation (Tab + Enter/Space) works correctly
|
|
150
|
-
- [ ] Focus is visible on all interactive elements
|
|
151
|
-
- [ ] Forms have proper labels
|
|
152
|
-
- [ ] Icon-only buttons have accessible names
|
|
1
|
+
---
|
|
2
|
+
name: qk-ui-audit
|
|
3
|
+
version: 3.0.0
|
|
4
|
+
updated: 2026-07-02
|
|
5
|
+
description: Audit UI for Consistency, Accessibility, Responsive, and Performance.
|
|
6
|
+
category: validation
|
|
7
|
+
priority: medium
|
|
8
|
+
tags: [ui, audit, frontend, a11y, responsive]
|
|
9
|
+
platforms: [claude-code, cursor, windsurf, gemini-cli]
|
|
10
|
+
trigger: User asks to check the UI, review styling, or run an audit on a component.
|
|
11
|
+
inputs: [Target UI component, File path]
|
|
12
|
+
outputs: [UI Audit Score, Fix recommendations]
|
|
13
|
+
allowed_tools: [grep_search, read_file]
|
|
14
|
+
pipeline: [analyze, review, validate, complete]
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# 🛠️ qk-ui-audit - Standard Operating Procedure
|
|
18
|
+
|
|
19
|
+
> **Goal:** Kiểm toán chất lượng Giao diện Người dùng (UI QA). Tìm ra các lỗi hiển thị, sự thiếu đồng nhất và vi phạm Accessibility (a11y).
|
|
20
|
+
|
|
21
|
+
## 🔄 1. Chain of Thought (SOP)
|
|
22
|
+
1. **Analyze (Scan UI):**
|
|
23
|
+
- Read the UI component's source code.
|
|
24
|
+
- Look for inline styles (`style={{...}}`) and hardcoded magic numbers (e.g., `px`, `%` instead of standard tokens).
|
|
25
|
+
2. **Review (Consistency & Responsive):**
|
|
26
|
+
- Check if standard Design System tokens (e.g., Tailwind classes like `p-4`, `text-lg`) are used.
|
|
27
|
+
- Check for mobile-first implementation (e.g., base classes for mobile, `md:` for desktop).
|
|
28
|
+
3. **Validate (Accessibility - A11y):**
|
|
29
|
+
- Verify `<img>` tags have `alt` attributes.
|
|
30
|
+
- Verify `<button>` tags without text have `aria-label`.
|
|
31
|
+
- Verify interactive `<div>` elements have `role="button"` and `tabIndex`.
|
|
32
|
+
4. **Complete (Report):**
|
|
33
|
+
- Calculate a rough score (0-100) based on violations.
|
|
34
|
+
|
|
35
|
+
## 🛡️ 2. Constraints & Rules
|
|
36
|
+
- **Audit Only:** Do not modify the code automatically unless the user explicitly requests you to apply the fixes.
|
|
37
|
+
- **Evidence Based:** Point out the exact line number where the violation occurs.
|
|
38
|
+
|
|
39
|
+
## 🌳 3. Decision Tree
|
|
40
|
+
```text
|
|
41
|
+
Does the component contain hardcoded `#hex` colors or `px` values?
|
|
42
|
+
├── YES → Deduct Consistency score. Recommend using Design Tokens.
|
|
43
|
+
└── NO → Pass.
|
|
44
|
+
|
|
45
|
+
Does the component have clickable `<div>` elements?
|
|
46
|
+
├── YES → Deduct A11y score. Recommend using `<button>` or adding roles.
|
|
47
|
+
└── NO → Pass.
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 🤝 4. Handoff Pipeline
|
|
51
|
+
1. `complete`: Generate the UI Audit Report.
|
|
52
|
+
|
|
53
|
+
## 📝 5. Output Format
|
|
54
|
+
Vui lòng trả kết quả bằng Tiếng Việt.
|
|
55
|
+
- **Tóm tắt (Summary):** Chấm điểm Giao diện (Score: X/100).
|
|
56
|
+
- **Chi tiết (Changes):** Liệt kê các lỗi Consistency, A11y, Responsive (ghi rõ dòng).
|
|
57
|
+
- **Nguyên nhân (Reasoning):** Tại sao lại đánh lỗi điểm đó.
|
|
58
|
+
- **Hành động tiếp (Next Action):** Hỏi User có muốn tự động sửa các lỗi này không.
|