ai-developer-skill-os 7.0.2 → 7.5.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.
Files changed (206) hide show
  1. package/.agents/AGENTS.md +44 -88
  2. package/.agents/CHANGELOG.md +70 -0
  3. package/.agents/LICENSE +21 -0
  4. package/.agents/README.md +100 -0
  5. package/.agents/docs/CHI_TIET_SKILLS.md +126 -0
  6. package/.agents/docs/GOVERNANCE.md +40 -0
  7. package/.agents/docs/HUONG_DAN_SU_DUNG.md +120 -0
  8. package/.agents/docs/SPEC.md +87 -0
  9. package/.agents/docs/adr/0001-intent-based-architecture.md +19 -0
  10. package/.agents/docs/adr/0002-kernel-freeze.md +21 -0
  11. package/.agents/docs/adr/0003-risk-based-verification.md +20 -0
  12. package/.agents/docs/adr/0004-progressive-evidence.md +19 -0
  13. package/.agents/docs/skill-classification.md +25 -0
  14. package/.agents/skills/qk-access-policy/SKILL.md +179 -0
  15. package/.agents/skills/qk-ai-builder/SKILL.md +215 -0
  16. package/.agents/skills/qk-api-lifecycle/SKILL.md +176 -0
  17. package/.agents/skills/qk-bug-resolution/SKILL.md +307 -0
  18. package/.agents/skills/qk-context-loader/SKILL.md +218 -0
  19. package/.agents/skills/qk-data-lifecycle/SKILL.md +192 -0
  20. package/.agents/skills/qk-db-optimizer/SKILL.md +196 -0
  21. package/.agents/skills/qk-docs/SKILL.md +198 -0
  22. package/.agents/skills/qk-engineering-standard/SKILL.md +351 -0
  23. package/.agents/skills/qk-engineering-standard/rules/backend.md +122 -0
  24. package/.agents/skills/qk-engineering-standard/rules/database.md +3 -0
  25. package/.agents/skills/qk-engineering-standard/rules/frontend.md +152 -0
  26. package/.agents/skills/qk-engineering-standard/rules/security.md +3 -0
  27. package/.agents/skills/qk-engineering-standard/rules/testing.md +3 -0
  28. package/.agents/skills/qk-fe-api-integration/SKILL.md +326 -0
  29. package/.agents/skills/qk-feature-delivery/SKILL.md +305 -0
  30. package/.agents/skills/qk-help/SKILL.md +193 -0
  31. package/.agents/skills/qk-orchestrator/SKILL.md +278 -0
  32. package/.agents/skills/qk-orchestrator/references/routing-table.md +78 -0
  33. package/.agents/skills/qk-production-release/SKILL.md +284 -0
  34. package/.agents/skills/qk-project-bootstrap/SKILL.md +235 -0
  35. package/.agents/skills/qk-project-health/SKILL.md +199 -0
  36. package/.agents/skills/qk-project-memory/SKILL.md +218 -0
  37. package/.agents/skills/qk-system-evolution/SKILL.md +281 -0
  38. package/.agents/skills/qk-ui-audit/SKILL.md +315 -0
  39. package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
  40. package/.agents/skills/qk-ui-builder/SKILL.md +446 -0
  41. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
  42. package/.agents/skills/qk-ui-builder/references/color.md +115 -0
  43. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
  44. package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
  45. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
  46. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
  47. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
  48. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
  49. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
  50. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
  51. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
  52. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
  53. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
  54. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
  55. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
  56. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
  57. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
  58. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
  59. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
  60. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
  61. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
  62. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
  63. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
  64. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
  65. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
  66. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
  67. package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
  68. package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
  69. package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
  70. package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
  71. package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
  72. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
  73. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
  74. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
  75. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
  76. package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
  77. package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
  78. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
  79. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
  80. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
  81. package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
  82. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
  83. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
  84. package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
  85. package/.agents/skills/qk-ui-system-builder/SKILL.md +221 -0
  86. package/.agents/skills/qk-validation-gate/SKILL.md +359 -0
  87. package/.agents/skills.json +819 -0
  88. package/.github/workflows/ci.yml +1 -1
  89. package/CHANGELOG.md +2 -1
  90. package/CLAUDE.md +110 -0
  91. package/README.md +52 -10
  92. package/add_lang.js +21 -0
  93. package/add_lang.py +25 -0
  94. package/add_sections.py +53 -0
  95. package/bin/install.js +225 -170
  96. package/bin/lint.js +123 -0
  97. package/docs/CHI_TIET_SKILLS.md +27 -26
  98. package/docs/HUONG_DAN_SU_DUNG.md +3 -3
  99. package/docs/SPEC.md +70 -20
  100. package/framework/decision-primitives.md +2 -1
  101. package/framework/skill-schema.md +310 -0
  102. package/package.json +16 -5
  103. package/patch.js +15 -0
  104. package/patch.py +89 -0
  105. package/patch2.py +83 -0
  106. package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +1 -0
  107. package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +1 -0
  108. package/skills/_archive_old_skills/qk-api-integration/SKILL.md +1 -0
  109. package/skills/_archive_old_skills/qk-auth-security/SKILL.md +1 -0
  110. package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +1 -0
  111. package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +1 -0
  112. package/skills/_archive_old_skills/qk-component-generator/SKILL.md +1 -0
  113. package/skills/_archive_old_skills/qk-context-manager/SKILL.md +1 -0
  114. package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +1 -0
  115. package/skills/_archive_old_skills/qk-deployment/SKILL.md +1 -0
  116. package/skills/_archive_old_skills/qk-design-system/SKILL.md +1 -0
  117. package/skills/_archive_old_skills/qk-form-builder/SKILL.md +1 -0
  118. package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +1 -0
  119. package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +1 -0
  120. package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +1 -0
  121. package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +1 -0
  122. package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +1 -0
  123. package/skills/_archive_old_skills/qk-help/SKILL.md +1 -0
  124. package/skills/_archive_old_skills/qk-migration/SKILL.md +1 -0
  125. package/skills/_archive_old_skills/qk-project-audit/SKILL.md +1 -0
  126. package/skills/_archive_old_skills/qk-refactor/SKILL.md +1 -0
  127. package/skills/_archive_old_skills/qk-state-management/SKILL.md +1 -0
  128. package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +1 -0
  129. package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +1 -0
  130. package/skills/_template/SKILL.md +239 -0
  131. package/skills/qk-access-policy/SKILL.md +180 -39
  132. package/skills/qk-ai-builder/SKILL.md +216 -40
  133. package/skills/qk-api-lifecycle/SKILL.md +177 -46
  134. package/skills/qk-bug-resolution/SKILL.md +308 -46
  135. package/skills/qk-context-loader/SKILL.md +219 -43
  136. package/skills/qk-data-lifecycle/SKILL.md +193 -44
  137. package/skills/qk-db-optimizer/SKILL.md +197 -41
  138. package/skills/qk-docs/SKILL.md +199 -40
  139. package/skills/qk-engineering-standard/SKILL.md +352 -42
  140. package/skills/qk-fe-api-integration/SKILL.md +327 -55
  141. package/skills/qk-feature-delivery/SKILL.md +306 -48
  142. package/skills/qk-help/SKILL.md +179 -23
  143. package/skills/qk-orchestrator/SKILL.md +279 -42
  144. package/skills/qk-orchestrator/references/routing-table.md +78 -0
  145. package/skills/qk-production-release/SKILL.md +285 -41
  146. package/skills/qk-project-bootstrap/SKILL.md +236 -38
  147. package/skills/qk-project-health/SKILL.md +200 -40
  148. package/skills/qk-project-memory/SKILL.md +219 -40
  149. package/skills/qk-system-evolution/SKILL.md +282 -40
  150. package/skills/qk-ui-audit/SKILL.md +316 -42
  151. package/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
  152. package/skills/qk-ui-builder/SKILL.md +447 -0
  153. package/skills/qk-ui-builder/references/anti-patterns.md +295 -0
  154. package/skills/qk-ui-builder/references/color.md +115 -0
  155. package/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
  156. package/skills/qk-ui-builder/references/copy.md +250 -0
  157. package/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
  158. package/skills/qk-ui-builder/references/layout-and-space.md +111 -0
  159. package/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
  160. package/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
  161. package/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
  162. package/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
  163. package/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
  164. package/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
  165. package/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
  166. package/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
  167. package/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
  168. package/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
  169. package/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
  170. package/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
  171. package/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
  172. package/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
  173. package/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
  174. package/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
  175. package/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
  176. package/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
  177. package/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
  178. package/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
  179. package/skills/qk-ui-builder/references/macrostructures.md +38 -0
  180. package/skills/qk-ui-builder/references/motion.md +95 -0
  181. package/skills/qk-ui-builder/references/responsive.md +115 -0
  182. package/skills/qk-ui-builder/references/slop-test.md +135 -0
  183. package/skills/qk-ui-builder/references/structure.md +280 -0
  184. package/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
  185. package/skills/qk-ui-builder/references/themes/carnival.md +52 -0
  186. package/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
  187. package/skills/qk-ui-builder/references/themes/editorial.md +52 -0
  188. package/skills/qk-ui-builder/references/themes/garden.md +52 -0
  189. package/skills/qk-ui-builder/references/themes/hum.md +52 -0
  190. package/skills/qk-ui-builder/references/themes/lumen.md +52 -0
  191. package/skills/qk-ui-builder/references/themes/midnight.md +52 -0
  192. package/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
  193. package/skills/qk-ui-builder/references/themes/playful.md +52 -0
  194. package/skills/qk-ui-builder/references/themes/specimen.md +52 -0
  195. package/skills/qk-ui-builder/references/themes/terminal.md +52 -0
  196. package/skills/qk-ui-builder/references/typography.md +129 -0
  197. package/skills/qk-ui-system-builder/SKILL.md +222 -43
  198. package/skills/qk-validation-gate/SKILL.md +360 -40
  199. package/skills.json +815 -825
  200. package/specs/fixtures/user-payload.json +12 -0
  201. package/specs/regressions/api-integration-null-fields.yaml +19 -0
  202. package/temp_fix.js +61 -0
  203. package/tests/registry.test.js +1 -1
  204. package/update_template.js +28 -0
  205. package/skills/qk-design-to-code/SKILL.md +0 -46
  206. package/skills/qk-policy-engine/SKILL.md +0 -39
@@ -0,0 +1,52 @@
1
+ # Theme: Modern Minimal
2
+
3
+ **Genre:** modern-minimal
4
+ **Use case:** SaaS, startups, portfolios
5
+
6
+ ## Axes
7
+
8
+ | Axis | Value |
9
+ |------|-------|
10
+ | Paper band | mid (30–85% lightness) |
11
+ | Display style | geometric-sans |
12
+ | Accent hue | neutral |
13
+
14
+ ## Token Overrides
15
+
16
+ ```css
17
+ :root {
18
+ --color-background: hsl(220, 15%, 98%);
19
+ --color-surface: hsl(220, 15%, 100%);
20
+ --color-text: hsl(220, 20%, 12%);
21
+ --color-text-muted: hsl(220, 10%, 50%);
22
+ --color-accent: hsl(220, 15%, 45%);
23
+ --color-accent-hover: hsl(220, 15%, 38%);
24
+ --font-display: 'Inter', 'Helvetica Neue', sans-serif;
25
+ --font-body: 'Inter', 'Helvetica Neue', sans-serif;
26
+ --radius-sm: 6px;
27
+ --radius-md: 8px;
28
+ --shadow-sm: 0 1px 2px hsl(220, 15%, 90%);
29
+ --shadow-md: 0 4px 12px hsl(220, 15%, 90%);
30
+ }
31
+ ```
32
+
33
+ ## Macrostructure Affinity
34
+
35
+ - ✅ Workbench
36
+ - ✅ Stat-Led
37
+ - ✅ Index-First
38
+ - ❌ Marquee Hero (too noisy)
39
+ - ❌ Manifesto (too expressive)
40
+
41
+ ## Anti-Patterns (Modern Minimal-specific)
42
+
43
+ - ❌ Decorative illustrations
44
+ - ❌ Gradient buttons or backgrounds
45
+ - ❌ More than 2 font families
46
+ - ❌ Heavy drop shadows
47
+
48
+ ## Voice
49
+
50
+ - Single-word actions: "Sign in", "Pricing", "Docs"
51
+ - No decorative copy
52
+ - Metrics and social proof prominent
@@ -0,0 +1,52 @@
1
+ # Theme: Playful
2
+
3
+ **Genre:** playful
4
+ **Use case:** games, kids, entertainment
5
+
6
+ ## Axes
7
+
8
+ | Axis | Value |
9
+ |------|-------|
10
+ | Paper band | light (85–100% lightness) |
11
+ | Display style | rounded-sans |
12
+ | Accent hue | warm (30–60°) |
13
+
14
+ ## Token Overrides
15
+
16
+ ```css
17
+ :root {
18
+ --color-background: hsl(45, 60%, 97%);
19
+ --color-surface: hsl(45, 60%, 100%);
20
+ --color-text: hsl(45, 50%, 12%);
21
+ --color-text-muted: hsl(45, 20%, 45%);
22
+ --color-accent: hsl(35, 85%, 55%);
23
+ --color-accent-hover: hsl(35, 85%, 48%);
24
+ --font-display: 'Nunito', 'Varela Round', sans-serif;
25
+ --font-body: 'Nunito', 'Varela Round', sans-serif;
26
+ --radius-sm: 12px;
27
+ --radius-md: 16px;
28
+ --shadow-sm: 0 2px 4px hsl(45, 60%, 85%);
29
+ --shadow-md: 0 6px 16px hsl(45, 60%, 85%);
30
+ }
31
+ ```
32
+
33
+ ## Macrostructure Affinity
34
+
35
+ - ✅ Bento Grid
36
+ - ✅ Marquee Hero
37
+ - ✅ Feature Stack
38
+ - ❌ Long Document (too text-heavy)
39
+ - ❌ Quote-Led (too serious)
40
+
41
+ ## Anti-Patterns (Playful-specific)
42
+
43
+ - ❌ Serious or corporate tones
44
+ - ❌ Monochrome palettes
45
+ - ❌ Minimal whitespace (dense layouts)
46
+ - ❌ Sharp corners or rigid grids
47
+
48
+ ## Voice
49
+
50
+ - Exclamation marks and emoji allowed
51
+ - Action verbs: "Play", "Join", "Explore"
52
+ - Friendly, inclusive language
@@ -0,0 +1,52 @@
1
+ # Theme: Specimen
2
+
3
+ **Genre:** editorial
4
+ **Use case:** design systems, documentation
5
+
6
+ ## Axes
7
+
8
+ | Axis | Value |
9
+ |------|-------|
10
+ | Paper band | mid (30–85% lightness) |
11
+ | Display style | high-contrast-serif |
12
+ | Accent hue | neutral |
13
+
14
+ ## Token Overrides
15
+
16
+ ```css
17
+ :root {
18
+ --color-background: hsl(40, 10%, 96%);
19
+ --color-surface: hsl(40, 10%, 100%);
20
+ --color-text: hsl(40, 15%, 8%);
21
+ --color-text-muted: hsl(40, 5%, 45%);
22
+ --color-accent: hsl(40, 5%, 45%);
23
+ --color-accent-hover: hsl(40, 5%, 38%);
24
+ --font-display: 'Playfair Display', Georgia, serif;
25
+ --font-body: 'Source Sans 3', 'Helvetica Neue', sans-serif;
26
+ --radius-sm: 4px;
27
+ --radius-md: 4px;
28
+ --shadow-sm: 0 1px 2px hsl(40, 15%, 90%);
29
+ --shadow-md: 0 4px 12px hsl(40, 15%, 90%);
30
+ }
31
+ ```
32
+
33
+ ## Macrostructure Affinity
34
+
35
+ - ✅ Type Specimen
36
+ - ✅ Index-First
37
+ - ✅ Component Playground
38
+ - ❌ Marquee Hero (too playful)
39
+ - ❌ Bento Grid (too casual)
40
+
41
+ ## Anti-Patterns (Specimen-specific)
42
+
43
+ - ❌ Playful illustrations or mascots
44
+ - ❌ Warm saturated accents (orange, coral)
45
+ - ❌ Rounded corners > 4px
46
+ - ❌ Gradient hero backgrounds
47
+
48
+ ## Voice
49
+
50
+ - Typographic precision: "Style guide", "Type scale", "Spacing rhythm"
51
+ - Noun-first labels: "Design tokens", "Component states"
52
+ - Neutral, authoritative tone
@@ -0,0 +1,52 @@
1
+ # Theme: Terminal
2
+
3
+ **Genre:** tech
4
+ **Use case:** CLI tools, developer tools, terminals
5
+
6
+ ## Axes
7
+
8
+ | Axis | Value |
9
+ |------|-------|
10
+ | Paper band | dark (0–30% lightness) |
11
+ | Display style | mono |
12
+ | Accent hue | phosphor green (120–150°) |
13
+
14
+ ## Token Overrides
15
+
16
+ ```css
17
+ :root {
18
+ --color-background: hsl(220, 15%, 4%);
19
+ --color-surface: hsl(220, 15%, 8%);
20
+ --color-text: hsl(120, 30%, 75%);
21
+ --color-text-muted: hsl(120, 10%, 45%);
22
+ --color-accent: hsl(120, 60%, 55%);
23
+ --color-accent-hover: hsl(120, 60%, 48%);
24
+ --font-display: 'JetBrains Mono', 'Fira Code', monospace;
25
+ --font-body: 'JetBrains Mono', 'Fira Code', monospace;
26
+ --radius-sm: 0px;
27
+ --radius-md: 0px;
28
+ --shadow-sm: none;
29
+ --shadow-md: none;
30
+ }
31
+ ```
32
+
33
+ ## Macrostructure Affinity
34
+
35
+ - ✅ Workbench
36
+ - ✅ Component Playground
37
+ - ✅ Stat-Led
38
+ - ❌ Manifesto (too expressive)
39
+ - ❌ Photographic (too visual)
40
+
41
+ ## Anti-Patterns (Terminal-specific)
42
+
43
+ - ❌ Serif or display fonts
44
+ - ❌ Warm accent hues
45
+ - ❌ Decorative shadows or borders
46
+ - ❌ Smooth transitions/animations
47
+
48
+ ## Voice
49
+
50
+ - Command-line syntax: `$ npm install`, `> init()`
51
+ - Terse, imperative: "Run", "Deploy", "Configure"
52
+ - Status codes and badges
@@ -0,0 +1,129 @@
1
+ # Typography
2
+
3
+ Foundational rules for font selection, type scale, and textual hierarchy. These rules exist to guarantee readable, professional, and consistent type across every generated UI.
4
+
5
+ ## The 2+1 Rule
6
+
7
+ Use **at most 2 font families + 1 monospace** per project. Exceeding this causes visual noise and slows load time.
8
+
9
+ - **Display / Heading family** (1): used for titles, hero text.
10
+ - **Body / UI family** (1): used for paragraphs, labels, controls.
11
+ - **Monospace** (1, optional): used for code, IDs, numeric tables, logs.
12
+
13
+ ```css
14
+ :root {
15
+ --font-display: "Playfair Display", Georgia, serif;
16
+ --font-body: "Inter", system-ui, sans-serif;
17
+ --font-mono: "JetBrains Mono", ui-monospace, monospace;
18
+ }
19
+ ```
20
+
21
+ If you only need one family, the body family can double as the display family. Do not introduce a third decorative family.
22
+
23
+ ## Font Catalog
24
+
25
+ Pick from this approved catalog. Prefer fonts that share the same optical quality and load reliably via Google Fonts or system fallbacks.
26
+
27
+ | Family | Role | Notes |
28
+ | --- | --- | --- |
29
+ | Inter | Body / UI | Neutral, legible at small sizes. Default choice. |
30
+ | Source Serif 4 | Display / Body | Serif companion to Inter; good for reading-heavy UI. |
31
+ | Playfair Display | Display | High-contrast serif for hero/editorial headings. |
32
+ | JetBrains Mono | Mono | Developer-friendly monospace. |
33
+ | Poppins | Display / UI | Geometric, friendly; use sparingly. |
34
+ | Roboto / Roboto Flex | Body / UI | Safe system-adjacent alternative. |
35
+ | IBM Plex Sans / Mono | Body / Mono | Corporate, consistent pairing. |
36
+
37
+ Pairing examples that work:
38
+ - **Inter + Playfair Display + JetBrains Mono** (editorial + code)
39
+ - **Inter + Source Serif 4 + JetBrains Mono** (clean + reading)
40
+ - **Poppins + Inter + JetBrains Mono** (friendly branding)
41
+
42
+ ## Type Scale
43
+
44
+ Use only these sizes. Do not invent intermediate sizes.
45
+
46
+ ```
47
+ 12px caption / meta
48
+ 14px small text / secondary
49
+ 16px body (base)
50
+ 18px lead / intro paragraph
51
+ 24px h3 / section title
52
+ 32px h2 / page title
53
+ 48px h1 / hero
54
+ 64px display / marketing hero
55
+ ```
56
+
57
+ ```css
58
+ :root {
59
+ --text-xs: 0.75rem; /* 12px */
60
+ --text-sm: 0.875rem; /* 14px */
61
+ --text-base: 1rem; /* 16px */
62
+ --text-lg: 1.125rem; /* 18px */
63
+ --text-xl: 1.5rem; /* 24px */
64
+ --text-2xl: 2rem; /* 32px */
65
+ --text-3xl: 3rem; /* 48px */
66
+ --text-4xl: 4rem; /* 64px */
67
+ }
68
+ ```
69
+
70
+ ## Line Height
71
+
72
+ | Content | Line height |
73
+ | --- | --- |
74
+ | Body text | **1.5** |
75
+ | Headings (h1–h3) | **1.2** |
76
+ | Tight display (64px) | 1.1 |
77
+
78
+ ```css
79
+ p, li, label { line-height: 1.5; }
80
+ h1, h2, h3 { line-height: 1.2; }
81
+ ```
82
+
83
+ ## Hierarchy
84
+
85
+ Establish hierarchy with **size + weight + color**, not decoration.
86
+
87
+ ```css
88
+ h1 { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 700; }
89
+ h2 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 600; }
90
+ h3 { font-family: var(--font-body); font-size: var(--text-xl); font-weight: 600; }
91
+ body { font-family: var(--font-body); font-size: var(--text-base); font-weight: 400; }
92
+ .meta { font-size: var(--text-sm); color: var(--color-text-muted); }
93
+ ```
94
+
95
+ Keep weight range tight: 400 (body), 500/600 (emphasis), 700 (headings). Avoid 900 unless for a single display word.
96
+
97
+ ## Prose Measure
98
+
99
+ Constrain reading width for paragraphs to **45–75 characters** (`ch`).
100
+
101
+ ```css
102
+ .prose {
103
+ max-width: 65ch;
104
+ font-size: var(--text-base);
105
+ line-height: 1.5;
106
+ }
107
+ ```
108
+
109
+ For multi-column or card text, keep each text block within this measure. Never let body copy stretch across a full 1200px container.
110
+
111
+ ## Ban List
112
+
113
+ Do **not** use these as an identity or UI font:
114
+
115
+ - Comic Sans
116
+ - Papyrus
117
+ - Bradley Hand
118
+ - Any `cursive` generic family used as a primary brand font
119
+ - Other "novelty" fonts that undermine legibility
120
+
121
+ System fallbacks (`system-ui`, `sans-serif`, `serif`, `monospace`) are allowed only as graceful degradation, never as the chosen aesthetic.
122
+
123
+ ## Practical Checklist
124
+
125
+ - [ ] At most 2 families + 1 mono.
126
+ - [ ] Sizes only from the 8-step scale.
127
+ - [ ] Body line-height 1.5, headings 1.2.
128
+ - [ ] Prose capped at 65ch.
129
+ - [ ] No banned novelty fonts.
@@ -1,43 +1,222 @@
1
- ---
2
- name: qk-ui-system-builder
3
- category: frontend
4
- version: 7.0.0
5
- description: "Xây dựng và duy trì Design Systems, Token extraction, các thư viện UI dùng chung."
6
- ---
7
-
8
- # qk-ui-system-builder
9
-
10
- ## Scope
11
- - Building and maintaining Design Systems and shared UI tokens (Plan & Execute)
12
- - Enforcing Open Design constraints via `DESIGN.md`
13
-
14
- ## Verbs
15
- - `[EXTRACT]`: Read `DESIGN.md` and generate CSS variables/tokens.
16
- - `[ENFORCE]`: Ensure no generic "AI-slop" tokens are created.
17
-
18
- ## Constraints
19
- ```yaml
20
- must:
21
- - "Extract reusable design tokens (colors, spacing, typography) from DESIGN.md ONLY"
22
- - "Ensure components are accessible (A11y)"
23
- must_not:
24
- - "Create duplicate tokens for the same visual value"
25
- - "Invent tokens (e.g., standard Tailwind colors) not explicitly defined in DESIGN.md"
26
- ```
27
-
28
- ## Policies
29
- ```yaml
30
- prefer:
31
- - Strict adherence to HSL/Oklch over generic HEX colors
32
- - Composable components over rigid layouts
33
- ```
34
-
35
- ## Escalation
36
- ```yaml
37
- stop:
38
- - "DESIGN.md is missing (Prompt user to run bootstrap or provide one)"
39
- - "Design tokens conflict with existing DESIGN.md guidelines"
40
- ```
41
-
42
- ## Output
43
- - Strict UI component library or Design System tokens mapped to `DESIGN.md`
1
+ ---
2
+ name: qk-ui-system-builder
3
+ category: frontend
4
+ version: 7.5.1
5
+ description: "Xây dựng Design System token library từ DESIGN.md không tự đặt ra token ngoài contract."
6
+ platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
7
+ execution_mode: deterministic
8
+ cost: medium
9
+ latency: medium
10
+ risk: low
11
+ side_effects: edit_files
12
+ produces: [code, tokens]
13
+ consumes: [design-md]
14
+ token_budget:
15
+ max_files_read: 2
16
+ max_lines_per_read: 100
17
+ max_shell_commands: 0
18
+ stop_early: true
19
+ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
20
+ skill_version: 7.5.1
21
+ runtime_version: 1
22
+ schema_version: 2
23
+ ---
24
+
25
+ # qk-ui-system-builder Design System Constructor
26
+
27
+ > **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
28
+
29
+ ---
30
+
31
+ ## Preconditions
32
+ - [ ] `DESIGN.md` exists with color, spacing, typography tokens
33
+
34
+ ```
35
+ On missing precondition:
36
+ EXIT: BLOCKED
37
+ Message: "DESIGN.md missing. Run qk-project-bootstrap to create one."
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Scope
43
+ - Extract tokens from DESIGN.md ONLY never invent
44
+ - ✅ Generate CSS custom properties (variables) or framework theme
45
+ - ✅ Ensure all components are accessible (A11y)
46
+
47
+ ## Non-Goals
48
+ - ❌ Invent tokens not in DESIGN.md (e.g., standard Tailwind defaults)
49
+ - ❌ Create duplicate tokens for same visual value
50
+ - ❌ Generate component library without token foundation
51
+
52
+ ---
53
+
54
+ ## Token Naming Convention
55
+
56
+ ```css
57
+ /* Colors — HSL always */
58
+ --color-[role]-[shade]: hsl(H, S%, L%);
59
+ /* Example: */
60
+ --color-primary-500: hsl(220, 80%, 55%);
61
+ --color-surface-100: hsl(220, 15%, 98%);
62
+
63
+ /* Spacing — scale-based */
64
+ --space-[n]: [n * base]px;
65
+ /* Example: */
66
+ --space-1: 4px; --space-2: 8px; --space-4: 16px;
67
+
68
+ /* Typography */
69
+ --font-[family]: '[Name]', fallback;
70
+ --font-size-[scale]: [value]rem;
71
+ --font-weight-[name]: [value];
72
+
73
+ /* Border Radius */
74
+ --radius-[size]: [value]px;
75
+
76
+ /* Shadows */
77
+ --shadow-[level]: [value];
78
+
79
+ /* Animation */
80
+ --duration-[speed]: [value]ms;
81
+ --ease-[type]: [cubic-bezier or keyword];
82
+
83
+ /* Z-index */
84
+ --z-[layer]: [value]; /* dropdown=100, modal=200, toast=300 */
85
+ ```
86
+
87
+ ---
88
+
89
+ ## Dark/Light Mode Pattern
90
+ ```css
91
+ :root {
92
+ --color-background: hsl(0, 0%, 100%);
93
+ --color-text: hsl(220, 15%, 10%);
94
+ }
95
+
96
+ [data-theme="dark"] {
97
+ --color-background: hsl(220, 15%, 10%);
98
+ --color-text: hsl(220, 10%, 90%);
99
+ }
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Workflow
105
+
106
+ ### Phase 1 — Extract from DESIGN.md
107
+ 1. Read DESIGN.md → list all defined tokens
108
+ 2. Categorize: Colors / Spacing / Typography / Radius / Shadow / Animation
109
+
110
+ ### Phase 2 — Generate Token File
111
+ 1. Create `src/styles/tokens.css` (or equivalent)
112
+ 2. Apply naming convention above
113
+ 3. Add dark mode variants if DESIGN.md specifies
114
+
115
+ ### Phase 3 — Verify No Invented Tokens
116
+ 1. Cross-check: every generated token has source in DESIGN.md
117
+ 2. Flag any token that was "inferred" vs explicitly defined
118
+
119
+ **Decision:**
120
+ ```
121
+ IF all tokens sourced from DESIGN.md → EXIT: SUCCESS
122
+ IF some tokens inferred (MEDIUM confidence) → EXIT: PARTIAL, list them
123
+ ```
124
+
125
+ ---
126
+
127
+
128
+ ---
129
+
130
+ ## Priority Order
131
+
132
+
133
+ ---
134
+
135
+ ## Output Format
136
+
137
+
138
+ ---
139
+ ## Exit Codes
140
+ | Code | Meaning | When |
141
+ |------|---------|------|
142
+ | SUCCESS | All tokens extracted from DESIGN.md, naming convention applied | All generated |
143
+ | PARTIAL | Some tokens inferred (not explicitly in DESIGN.md) | Inferred values used |
144
+ | BLOCKED | DESIGN.md missing or has no tokens | Cannot start |
145
+ | FAILED | Token conflicts detected (duplicate values, naming collision) | Conflict |
146
+
147
+ ---
148
+
149
+ ## Confidence Model
150
+ | Level | Condition | Action |
151
+ |-------|-----------|--------|
152
+ | HIGH | Token explicitly exists in DESIGN.md | Extract and map |
153
+ | MEDIUM | Token value inferred or estimated based on related tokens | Note assumption |
154
+ | LOW | Core scale missing entirely (e.g. no spacing definition) | EXIT: BLOCKED |
155
+
156
+ ---
157
+
158
+ ## Severity
159
+ | Level | Definition | Example |
160
+ |-------|-----------|---------|
161
+ | CRITICAL | Hardcoded values injected without being tokens | Missing the point of the system |
162
+ | HIGH | Token naming convention violated | `primary-color` instead of `--color-primary` |
163
+ | MEDIUM | Dark mode not supported | Hardcoded white background |
164
+ | LOW | Unused token generated | Extraneous variables |
165
+
166
+ ---
167
+
168
+ ## Evidence Format
169
+ ```
170
+ [SEVERITY] src/styles/tokens.css:LINE
171
+ Issue: [specific violation or gap]
172
+ Confidence: HIGH
173
+ Fix: [specific change]
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Retry Policy
179
+ ```
180
+ Token generation fails
181
+ └─ Check if naming collision or syntax error
182
+ ├─ Syntax error → fix CSS/SCSS format → retry
183
+ └─ Collision → deduplicate → retry
184
+ └─ Do NOT auto-retry more than 1 time
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Escalation Rules
190
+ ```
191
+ BLOCKED: DESIGN.md missing or empty
192
+ Missing:
193
+ - Valid DESIGN.md with token specifications
194
+ Questions:
195
+ 1. Bạn có file design reference nào khác không?
196
+ Recommended Assumptions:
197
+ - Generate default Tailwind-like scale if requested
198
+ ```
199
+
200
+ ---
201
+
202
+ ## Handoff Contract
203
+ ### Consumes
204
+ ```json
205
+ {
206
+ "from": "user or project-bootstrap",
207
+ "required_fields": ["design_md_path"],
208
+ "optional_fields": ["css_framework", "output_format"]
209
+ }
210
+ ```
211
+ ### Produces
212
+ ```json
213
+ {
214
+ "to": "user or design-to-code",
215
+ "output_fields": ["token_file_path", "inferred_tokens", "exit_code"]
216
+ }
217
+ ```
218
+
219
+ ---
220
+
221
+
222
+