contextos-agents 1.7.0 → 2.0.0-beta.3

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 (313) hide show
  1. package/.agents/AGENTS.md +16 -50
  2. package/.agents/adapters/aider/export.js +117 -99
  3. package/.agents/adapters/claude/export.js +68 -26
  4. package/.agents/adapters/copilot/export.js +90 -53
  5. package/.agents/adapters/cursor/export.js +100 -104
  6. package/.agents/adapters/drift-detector.js +196 -0
  7. package/.agents/adapters/gemini/export.js +76 -45
  8. package/.agents/adapters/pure-compiler.js +443 -0
  9. package/.agents/adapters/zed/export.js +104 -96
  10. package/.agents/compiled/registry.v2.json +504 -0
  11. package/.agents/compiled/registry.v2.sha256 +1 -0
  12. package/.agents/compiler/manifest-compiler.js +963 -0
  13. package/.agents/compiler/vendor/yaml.LICENSE.txt +13 -0
  14. package/.agents/compiler/vendor/yaml.SBOM.json +6 -0
  15. package/.agents/compiler/vendor/yaml.js +139 -0
  16. package/.agents/core/profiles/init.yaml +25 -0
  17. package/.agents/core/skills/context-manager/skill.yaml +3 -5
  18. package/.agents/core/skills/context-os/SKILL.md +3 -6
  19. package/.agents/core/skills/context-os/skill.yaml +3 -8
  20. package/.agents/core/skills/engineering-workflow/skill.yaml +1 -7
  21. package/.agents/core/skills/gemini-precision/skill.yaml +1 -6
  22. package/.agents/core/skills/gstack-roles/skill.yaml +3 -6
  23. package/.agents/core/skills/ponytail-mindset/skill.yaml +1 -7
  24. package/.agents/core/skills/security/skill.yaml +15 -3
  25. package/.agents/ctx.js +537 -112
  26. package/.agents/customization-dx.js +282 -0
  27. package/.agents/doctor.js +855 -66
  28. package/.agents/filesystem/index.js +71 -0
  29. package/.agents/filesystem/journaled-transaction.js +451 -0
  30. package/.agents/filesystem/lockfile-v2.js +275 -0
  31. package/.agents/filesystem/platform-hardening.js +222 -0
  32. package/.agents/filesystem/project-lock.js +218 -0
  33. package/.agents/filesystem/safe-path.js +256 -0
  34. package/.agents/generated/claude/skills/context-os/SKILL.md +1 -1
  35. package/.agents/generated/gemini/skills/context-os/SKILL.md +2 -2
  36. package/.agents/plugins/contextos/plugin.json +1 -1
  37. package/.agents/plugins.js +278 -64
  38. package/.agents/profiles.js +486 -51
  39. package/.agents/resolver/canonical-resolver.js +1348 -0
  40. package/.agents/resolver.js +50 -534
  41. package/.agents/rules/rule-catalog.js +525 -0
  42. package/.agents/schemas/attestation.review.v1.json +111 -0
  43. package/.agents/schemas/attestation.verification.v1.json +85 -0
  44. package/.agents/schemas/lockfile.v2.schema.json +134 -0
  45. package/.agents/schemas/profile.v2.schema.json +114 -0
  46. package/.agents/schemas/runtime.thread.v1.json +192 -0
  47. package/.agents/schemas/skill.manifest.v2.json +177 -0
  48. package/.agents/schemas/verification.spec.v1.json +39 -0
  49. package/.agents/schemas/workspace.graph.schema.json +106 -0
  50. package/.agents/skills-index.json +6 -166
  51. package/.agents/stats.js +9 -9
  52. package/.agents/transaction-core/event-store.js +288 -0
  53. package/.agents/transaction-core/idempotency.js +129 -0
  54. package/.agents/transaction-core/ipc-lock.js +311 -0
  55. package/.agents/transaction-core/plugin-supply-chain-bundle.js +436 -0
  56. package/.agents/validate.js +44 -1
  57. package/.agents/watch.js +354 -102
  58. package/.agents/workspace/workspace-graph.js +778 -0
  59. package/README.md +59 -387
  60. package/benchmarks/v2/analysis/statistics.js +140 -0
  61. package/benchmarks/v2/analysis/stats.js +69 -0
  62. package/benchmarks/v2/arms/arm-definitions.js +79 -0
  63. package/benchmarks/v2/dataset.schema.json +34 -0
  64. package/benchmarks/v2/evaluators/index.js +25 -0
  65. package/benchmarks/v2/evaluators/verified-success.js +116 -0
  66. package/benchmarks/v2/harness/runner.js +88 -0
  67. package/benchmarks/v2/pilot-tasks.json +392 -0
  68. package/bin/commands/recover.js +88 -0
  69. package/bin/commands/update.js +80 -17
  70. package/bin/commands.js +62 -25
  71. package/bin/index.js +138 -81
  72. package/bin/lib/lockfile.js +5 -3
  73. package/bin/lib/safe-writer.js +34 -3
  74. package/package.json +87 -72
  75. package/registry.json +2 -2
  76. package/registry.v2.schema.json +86 -0
  77. package/.agents/core/profiles/backend.yaml +0 -47
  78. package/.agents/core/profiles/enterprise.yaml +0 -46
  79. package/.agents/core/profiles/frontend.yaml +0 -46
  80. package/.agents/core/profiles/hackathon.yaml +0 -45
  81. package/.agents/core/profiles/mvp.yaml +0 -44
  82. package/.agents/core/profiles/startup.yaml +0 -48
  83. package/.agents/core/skills/adapters/EXAMPLES.md +0 -19
  84. package/.agents/core/skills/adapters/SKILL.md +0 -105
  85. package/.agents/core/skills/adapters/TROUBLESHOOTING.md +0 -7
  86. package/.agents/core/skills/adapters/VALIDATION.json +0 -12
  87. package/.agents/core/skills/adapters/skill.yaml +0 -16
  88. package/.agents/core/skills/architecture-diagrams/SKILL.md +0 -108
  89. package/.agents/core/skills/architecture-diagrams/VALIDATION.json +0 -12
  90. package/.agents/core/skills/architecture-diagrams/skill.yaml +0 -12
  91. package/.agents/core/skills/brutalist-design/SKILL.md +0 -150
  92. package/.agents/core/skills/brutalist-design/VALIDATION.json +0 -12
  93. package/.agents/core/skills/brutalist-design/skill.yaml +0 -12
  94. package/.agents/core/skills/database/EXAMPLES.md +0 -74
  95. package/.agents/core/skills/database/SKILL.md +0 -101
  96. package/.agents/core/skills/database/TROUBLESHOOTING.md +0 -18
  97. package/.agents/core/skills/database/VALIDATION.json +0 -11
  98. package/.agents/core/skills/database/skill.yaml +0 -31
  99. package/.agents/core/skills/ddd/EXAMPLES.md +0 -42
  100. package/.agents/core/skills/ddd/SKILL.md +0 -247
  101. package/.agents/core/skills/ddd/TROUBLESHOOTING.md +0 -19
  102. package/.agents/core/skills/ddd/VALIDATION.json +0 -12
  103. package/.agents/core/skills/ddd/ddd.md +0 -178
  104. package/.agents/core/skills/ddd/skill.yaml +0 -17
  105. package/.agents/core/skills/decisions/EXAMPLES.md +0 -35
  106. package/.agents/core/skills/decisions/SKILL.md +0 -90
  107. package/.agents/core/skills/decisions/TROUBLESHOOTING.md +0 -13
  108. package/.agents/core/skills/decisions/VALIDATION.json +0 -12
  109. package/.agents/core/skills/decisions/skill.yaml +0 -16
  110. package/.agents/core/skills/docker/EXAMPLES.md +0 -56
  111. package/.agents/core/skills/docker/SKILL.md +0 -63
  112. package/.agents/core/skills/docker/TROUBLESHOOTING.md +0 -18
  113. package/.agents/core/skills/docker/VALIDATION.json +0 -11
  114. package/.agents/core/skills/docker/skill.yaml +0 -29
  115. package/.agents/core/skills/fastapi/EXAMPLES.md +0 -36
  116. package/.agents/core/skills/fastapi/SKILL.md +0 -148
  117. package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +0 -19
  118. package/.agents/core/skills/fastapi/VALIDATION.json +0 -12
  119. package/.agents/core/skills/fastapi/fastapi.md +0 -112
  120. package/.agents/core/skills/fastapi/skill.yaml +0 -17
  121. package/.agents/core/skills/generators/EXAMPLES.md +0 -19
  122. package/.agents/core/skills/generators/SKILL.md +0 -112
  123. package/.agents/core/skills/generators/TROUBLESHOOTING.md +0 -7
  124. package/.agents/core/skills/generators/VALIDATION.json +0 -12
  125. package/.agents/core/skills/generators/skill.yaml +0 -25
  126. package/.agents/core/skills/generators/templates/API.md +0 -77
  127. package/.agents/core/skills/generators/templates/ARCHITECTURE.md +0 -70
  128. package/.agents/core/skills/generators/templates/DATABASE.md +0 -42
  129. package/.agents/core/skills/generators/templates/DECISION.md +0 -46
  130. package/.agents/core/skills/generators/templates/PRD.md +0 -67
  131. package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +0 -56
  132. package/.agents/core/skills/generators/templates/ROADMAP.md +0 -51
  133. package/.agents/core/skills/generators/templates/TASKS.md +0 -43
  134. package/.agents/core/skills/generators/templates/UI.md +0 -73
  135. package/.agents/core/skills/graphify/EXAMPLES.md +0 -73
  136. package/.agents/core/skills/graphify/SKILL.md +0 -130
  137. package/.agents/core/skills/graphify/VALIDATION.json +0 -12
  138. package/.agents/core/skills/graphify/skill.yaml +0 -18
  139. package/.agents/core/skills/impeccable-design/EXAMPLES.md +0 -26
  140. package/.agents/core/skills/impeccable-design/SKILL.md +0 -201
  141. package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +0 -19
  142. package/.agents/core/skills/impeccable-design/VALIDATION.json +0 -12
  143. package/.agents/core/skills/impeccable-design/skill.yaml +0 -20
  144. package/.agents/core/skills/interview-me/SKILL.md +0 -97
  145. package/.agents/core/skills/interview-me/VALIDATION.json +0 -12
  146. package/.agents/core/skills/interview-me/skill.yaml +0 -12
  147. package/.agents/core/skills/microservices/EXAMPLES.md +0 -38
  148. package/.agents/core/skills/microservices/SKILL.md +0 -164
  149. package/.agents/core/skills/microservices/TROUBLESHOOTING.md +0 -19
  150. package/.agents/core/skills/microservices/VALIDATION.json +0 -12
  151. package/.agents/core/skills/microservices/microservices.md +0 -119
  152. package/.agents/core/skills/microservices/skill.yaml +0 -17
  153. package/.agents/core/skills/minimalist-design/SKILL.md +0 -113
  154. package/.agents/core/skills/minimalist-design/VALIDATION.json +0 -12
  155. package/.agents/core/skills/minimalist-design/skill.yaml +0 -12
  156. package/.agents/core/skills/nestjs/EXAMPLES.md +0 -40
  157. package/.agents/core/skills/nestjs/SKILL.md +0 -139
  158. package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +0 -19
  159. package/.agents/core/skills/nestjs/VALIDATION.json +0 -12
  160. package/.agents/core/skills/nestjs/nestjs.md +0 -103
  161. package/.agents/core/skills/nestjs/skill.yaml +0 -17
  162. package/.agents/core/skills/nextjs/EXAMPLES.md +0 -40
  163. package/.agents/core/skills/nextjs/SKILL.md +0 -163
  164. package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +0 -19
  165. package/.agents/core/skills/nextjs/VALIDATION.json +0 -12
  166. package/.agents/core/skills/nextjs/nextjs.md +0 -67
  167. package/.agents/core/skills/nextjs/skill.yaml +0 -17
  168. package/.agents/core/skills/node/EXAMPLES.md +0 -80
  169. package/.agents/core/skills/node/SKILL.md +0 -128
  170. package/.agents/core/skills/node/TROUBLESHOOTING.md +0 -19
  171. package/.agents/core/skills/node/VALIDATION.json +0 -12
  172. package/.agents/core/skills/node/node.md +0 -87
  173. package/.agents/core/skills/node/skill.yaml +0 -17
  174. package/.agents/core/skills/performance/EXAMPLES.md +0 -30
  175. package/.agents/core/skills/performance/SKILL.md +0 -75
  176. package/.agents/core/skills/performance/TROUBLESHOOTING.md +0 -19
  177. package/.agents/core/skills/performance/VALIDATION.json +0 -12
  178. package/.agents/core/skills/performance/performance.md +0 -52
  179. package/.agents/core/skills/performance/skill.yaml +0 -17
  180. package/.agents/core/skills/react/EXAMPLES.md +0 -79
  181. package/.agents/core/skills/react/SKILL.md +0 -132
  182. package/.agents/core/skills/react/TROUBLESHOOTING.md +0 -19
  183. package/.agents/core/skills/react/VALIDATION.json +0 -12
  184. package/.agents/core/skills/react/react.md +0 -93
  185. package/.agents/core/skills/react/skill.yaml +0 -17
  186. package/.agents/core/skills/react-best-practices/SKILL.md +0 -155
  187. package/.agents/core/skills/react-best-practices/VALIDATION.json +0 -12
  188. package/.agents/core/skills/react-best-practices/skill.yaml +0 -14
  189. package/.agents/core/skills/redesign-audit/SKILL.md +0 -117
  190. package/.agents/core/skills/redesign-audit/VALIDATION.json +0 -12
  191. package/.agents/core/skills/redesign-audit/skill.yaml +0 -12
  192. package/.agents/core/skills/soft-design/SKILL.md +0 -108
  193. package/.agents/core/skills/soft-design/VALIDATION.json +0 -12
  194. package/.agents/core/skills/soft-design/skill.yaml +0 -12
  195. package/.agents/core/skills/state-management/EXAMPLES.md +0 -56
  196. package/.agents/core/skills/state-management/SKILL.md +0 -48
  197. package/.agents/core/skills/state-management/TROUBLESHOOTING.md +0 -18
  198. package/.agents/core/skills/state-management/VALIDATION.json +0 -11
  199. package/.agents/core/skills/state-management/skill.yaml +0 -28
  200. package/.agents/core/skills/subagent-orchestrator/SKILL.md +0 -117
  201. package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +0 -12
  202. package/.agents/core/skills/subagent-orchestrator/skill.yaml +0 -12
  203. package/.agents/core/skills/system-design/EXAMPLES.md +0 -75
  204. package/.agents/core/skills/system-design/SKILL.md +0 -419
  205. package/.agents/core/skills/system-design/TROUBLESHOOTING.md +0 -19
  206. package/.agents/core/skills/system-design/VALIDATION.json +0 -12
  207. package/.agents/core/skills/system-design/skill.yaml +0 -20
  208. package/.agents/core/skills/system-design/system-design.md +0 -112
  209. package/.agents/core/skills/testing/EXAMPLES.md +0 -71
  210. package/.agents/core/skills/testing/SKILL.md +0 -70
  211. package/.agents/core/skills/testing/TROUBLESHOOTING.md +0 -18
  212. package/.agents/core/skills/testing/VALIDATION.json +0 -11
  213. package/.agents/core/skills/testing/skill.yaml +0 -32
  214. package/.agents/core/skills/typescript/EXAMPLES.md +0 -64
  215. package/.agents/core/skills/typescript/SKILL.md +0 -112
  216. package/.agents/core/skills/typescript/TROUBLESHOOTING.md +0 -19
  217. package/.agents/core/skills/typescript/VALIDATION.json +0 -12
  218. package/.agents/core/skills/typescript/skill.yaml +0 -17
  219. package/.agents/core/skills/typescript/typescript.md +0 -71
  220. package/.agents/core/skills/ui-design/EXAMPLES.md +0 -21
  221. package/.agents/core/skills/ui-design/SKILL.md +0 -124
  222. package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +0 -19
  223. package/.agents/core/skills/ui-design/VALIDATION.json +0 -12
  224. package/.agents/core/skills/ui-design/skill.yaml +0 -17
  225. package/.agents/core/skills/ui-design/ui.md +0 -88
  226. package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +0 -62
  227. package/.agents/core/skills/ui-ux-pro/SKILL.md +0 -375
  228. package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +0 -19
  229. package/.agents/core/skills/ui-ux-pro/VALIDATION.json +0 -12
  230. package/.agents/core/skills/ui-ux-pro/skill.yaml +0 -19
  231. package/.agents/core/skills/ux-design/EXAMPLES.md +0 -36
  232. package/.agents/core/skills/ux-design/SKILL.md +0 -116
  233. package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +0 -19
  234. package/.agents/core/skills/ux-design/VALIDATION.json +0 -12
  235. package/.agents/core/skills/ux-design/skill.yaml +0 -17
  236. package/.agents/core/skills/ux-design/ux.md +0 -80
  237. package/.agents/core/skills/vercel-optimize/SKILL.md +0 -83
  238. package/.agents/core/skills/vercel-optimize/VALIDATION.json +0 -12
  239. package/.agents/core/skills/vercel-optimize/scripts/collect-signals.mjs +0 -131
  240. package/.agents/core/skills/vercel-optimize/scripts/gate-investigations.mjs +0 -142
  241. package/.agents/core/skills/vercel-optimize/scripts/merge-signals.mjs +0 -143
  242. package/.agents/core/skills/vercel-optimize/scripts/scan-codebase.mjs +0 -174
  243. package/.agents/core/skills/vercel-optimize/skill.yaml +0 -18
  244. package/.agents/core/skills/web-accessibility/EXAMPLES.md +0 -39
  245. package/.agents/core/skills/web-accessibility/SKILL.md +0 -170
  246. package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +0 -19
  247. package/.agents/core/skills/web-accessibility/VALIDATION.json +0 -12
  248. package/.agents/core/skills/web-accessibility/accessibility.md +0 -63
  249. package/.agents/core/skills/web-accessibility/skill.yaml +0 -17
  250. package/.agents/generated/claude/skills/adapters/SKILL.md +0 -126
  251. package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +0 -101
  252. package/.agents/generated/claude/skills/brutalist-design/SKILL.md +0 -145
  253. package/.agents/generated/claude/skills/database/SKILL.md +0 -191
  254. package/.agents/generated/claude/skills/ddd/SKILL.md +0 -305
  255. package/.agents/generated/claude/skills/decisions/SKILL.md +0 -134
  256. package/.agents/generated/claude/skills/docker/SKILL.md +0 -135
  257. package/.agents/generated/claude/skills/fastapi/SKILL.md +0 -200
  258. package/.agents/generated/claude/skills/generators/SKILL.md +0 -133
  259. package/.agents/generated/claude/skills/graphify/SKILL.md +0 -198
  260. package/.agents/generated/claude/skills/impeccable-design/SKILL.md +0 -241
  261. package/.agents/generated/claude/skills/interview-me/SKILL.md +0 -90
  262. package/.agents/generated/claude/skills/microservices/SKILL.md +0 -218
  263. package/.agents/generated/claude/skills/minimalist-design/SKILL.md +0 -108
  264. package/.agents/generated/claude/skills/nestjs/SKILL.md +0 -195
  265. package/.agents/generated/claude/skills/nextjs/SKILL.md +0 -219
  266. package/.agents/generated/claude/skills/node/SKILL.md +0 -224
  267. package/.agents/generated/claude/skills/performance/SKILL.md +0 -121
  268. package/.agents/generated/claude/skills/react/SKILL.md +0 -227
  269. package/.agents/generated/claude/skills/react-best-practices/SKILL.md +0 -146
  270. package/.agents/generated/claude/skills/redesign-audit/SKILL.md +0 -112
  271. package/.agents/generated/claude/skills/soft-design/SKILL.md +0 -103
  272. package/.agents/generated/claude/skills/state-management/SKILL.md +0 -120
  273. package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +0 -110
  274. package/.agents/generated/claude/skills/system-design/SKILL.md +0 -507
  275. package/.agents/generated/claude/skills/testing/SKILL.md +0 -157
  276. package/.agents/generated/claude/skills/typescript/SKILL.md +0 -192
  277. package/.agents/generated/claude/skills/ui-design/SKILL.md +0 -161
  278. package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +0 -451
  279. package/.agents/generated/claude/skills/ux-design/SKILL.md +0 -168
  280. package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +0 -76
  281. package/.agents/generated/claude/skills/web-accessibility/SKILL.md +0 -225
  282. package/.agents/generated/gemini/skills/adapters/SKILL.md +0 -135
  283. package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +0 -107
  284. package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +0 -151
  285. package/.agents/generated/gemini/skills/database/SKILL.md +0 -200
  286. package/.agents/generated/gemini/skills/ddd/SKILL.md +0 -314
  287. package/.agents/generated/gemini/skills/decisions/SKILL.md +0 -143
  288. package/.agents/generated/gemini/skills/docker/SKILL.md +0 -144
  289. package/.agents/generated/gemini/skills/fastapi/SKILL.md +0 -209
  290. package/.agents/generated/gemini/skills/generators/SKILL.md +0 -142
  291. package/.agents/generated/gemini/skills/graphify/SKILL.md +0 -205
  292. package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +0 -250
  293. package/.agents/generated/gemini/skills/interview-me/SKILL.md +0 -96
  294. package/.agents/generated/gemini/skills/microservices/SKILL.md +0 -227
  295. package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +0 -114
  296. package/.agents/generated/gemini/skills/nestjs/SKILL.md +0 -204
  297. package/.agents/generated/gemini/skills/nextjs/SKILL.md +0 -298
  298. package/.agents/generated/gemini/skills/node/SKILL.md +0 -323
  299. package/.agents/generated/gemini/skills/performance/SKILL.md +0 -185
  300. package/.agents/generated/gemini/skills/react/SKILL.md +0 -332
  301. package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +0 -152
  302. package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +0 -118
  303. package/.agents/generated/gemini/skills/soft-design/SKILL.md +0 -109
  304. package/.agents/generated/gemini/skills/state-management/SKILL.md +0 -129
  305. package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +0 -116
  306. package/.agents/generated/gemini/skills/system-design/SKILL.md +0 -631
  307. package/.agents/generated/gemini/skills/testing/SKILL.md +0 -166
  308. package/.agents/generated/gemini/skills/typescript/SKILL.md +0 -275
  309. package/.agents/generated/gemini/skills/ui-design/SKILL.md +0 -170
  310. package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +0 -460
  311. package/.agents/generated/gemini/skills/ux-design/SKILL.md +0 -177
  312. package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +0 -82
  313. package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +0 -300
@@ -1,250 +0,0 @@
1
- ---
2
- name: impeccable-design
3
- description: >
4
- Visual design quality skill based on pbakaus/impeccable. 46 deterministic anti-pattern rules that prevent AI design slop. Bans overused fonts, pure black/gray, nested cards, bounce animations, and all generic AI-generated design clichés.
5
- ---
6
- # impeccable-design
7
-
8
- ## Overview
9
-
10
- Hard QA design review checklist consisting of 50 deterministic rules covering typography (T1-T10), color systems (C1-C12), layout constraints (L1-L11), component contracts (K1-K11), and micro-animations (A1-A8).
11
-
12
- ## When to Use
13
-
14
- Activate during the REVIEW phase of all frontend tasks as a strict visual and functional QA gate before marking UI work complete.
15
-
16
- ## Rules & Patterns
17
-
18
- Based on [pbakaus/impeccable](https://github.com/pbakaus/impeccable) — deterministic detector rules for AI-generated frontend design.
19
-
20
- ## Core Principle
21
-
22
- > Every model is trained on the same SaaS templates. Skip this guidance and you get the same handful of tells on every project. Impeccable eliminates them.
23
-
24
- ## Role in the Pipeline
25
-
26
- > **This skill acts as a QA-designer at the `/review` phase.** `ui-ux-pro` is the planning guideline; `impeccable-design` is the hard checklist that runs before merge.
27
-
28
- ---
29
-
30
- ## Anti-Pattern Rules
31
-
32
- ### Typography (Rules T1–T10)
33
-
34
- | Rule | Anti-Pattern | Correct Approach |
35
- | ------ | ------------- | ----------------- |
36
- | T1 | Using Inter for all text | Use Inter for UI body, pair with a distinct display font for headings OR with `JetBrains Mono` for technical/number accents (premium SaaS pattern) |
37
- | T2 | Using Arial or Helvetica | Use a curated Google Font pairing |
38
- | T3 | All text same weight | Use weight contrast: 700 headings, 400 body, 500 labels |
39
- | T4 | Line height = 1 (tight) | Body: 1.6–1.8, Headings: 1.1–1.3 |
40
- | T5 | No letter-spacing on caps | Uppercase labels: `letter-spacing: 0.08em` (Tailwind: `tracking-widest`) |
41
- | T6 | Text too wide | Max line length: 60–75 characters — use `max-w-prose` or `max-w-[65ch]` |
42
- | T7 | Monospace only for code | Use `tabular-nums` Tailwind class for number tables and data grids |
43
- | T8 | Random font sizing | Use a consistent modular scale (1.25× or 1.333×) — use Tailwind's `text-*` scale |
44
- | T9 | Body text too small | Minimum `text-sm` (14px) for body, never smaller than 12px |
45
- | T10 | Bold everywhere | Bold is for emphasis. Diluted if overused. |
46
-
47
- **Tailwind typography utilities:**
48
-
49
- - `text-balance` — for headlines (prevents orphan words)
50
- - `text-pretty` — for body paragraphs (smart line-breaks)
51
- - `tabular-nums` — for numerical data tables
52
-
53
- ### Color (Rules C1–C12)
54
-
55
- | Rule | Anti-Pattern | Correct Approach |
56
- | ------ | ------------- | ----------------- |
57
- | C1 | Pure black `#000` | Tint toward brand: `hsl(240, 10%, 4%)` |
58
- | C2 | Pure white `#fff` for surfaces | Near-white with warmth: `hsl(40, 30%, 97%)` |
59
- | C3 | Gray on colored background | Check contrast — likely fails WCAG. Use white/dark |
60
- | C4 | Purple → Blue gradient | Clichéd AI palette. Use brand-derived gradients |
61
- | C5 | Neon primary colors | Neon = accent only, never primary surface or text |
62
- | C6 | Too many colors | 3 colors max: primary, neutral, semantic (success/error) |
63
- | C7 | All links same blue `#0000EE` | Style links with brand color, preserve underline |
64
- | C8 | Disabled state = gray only | Disabled: `opacity-40` + `cursor-not-allowed` |
65
- | C9 | Success always green, Error always red | Check brand conflicts. Use accessible variants |
66
- | C10 | Dark mode = inverted light mode | Dark mode needs separate palette — use `@layer base { .dark { ... } }` |
67
- | C11 | No hover state change | Hover: shift lightness 8–12%, add `transition-colors duration-150` |
68
- | C12 | Brand color on dark surface loses identity | Adjust saturation/lightness for dark bg context |
69
-
70
- ### Layout & Spacing (Rules L1–L11)
71
-
72
- | Rule | Anti-Pattern | Correct Approach |
73
- | ------ | ------------- | ----------------- |
74
- | L1 | Cards inside cards | One level of card depth maximum |
75
- | L2 | Icon tile above every heading | Use icons inline, in context, not decoratively above text |
76
- | L3 | Centered long paragraphs | `text-center` max 2 lines only. Use `text-pretty` + left-align for body |
77
- | L4 | Inconsistent spacing | Use Tailwind spacing utilities only. **Never arbitrary values** like `gap-[17px]` |
78
- | L5 | Zero whitespace between sections | Sections need `py-16` to `py-24` breathing room |
79
- | L6 | Content touching edges | Always `px-4` minimum on mobile |
80
- | L7 | Same visual weight everywhere | Use hierarchy: primary > secondary > tertiary zones |
81
- | L8 | Grid breaks on tablet | Test at 768px. Use 4-col on tablet, 12-col on desktop |
82
- | L9 | Full-width everything | Max content width: `max-w-7xl` centered |
83
- | L10 | Missing grid alignment | Use CSS Grid or Tailwind `grid` — not absolute positioning |
84
- | L11 | Arbitrary high z-indexes | **NEVER** use `z-[999]` or `z-50` manually. Rely on DOM order + Radix/shadcn Portals which already handle modal elevation correctly |
85
- | L12 | Default Rhythm | Break the 'Hero → 3 Features → CTA' structure. Build structurally diverse pages tailored to the content. |
86
- | L13 | Symmetric card grids everywhere | Use asymmetric layouts (e.g., bento boxes, masonry, alternating left/right) to reduce the AI-generated feel. |
87
-
88
- ### Components (Rules K1–K11)
89
-
90
- | Rule | Anti-Pattern | Correct Approach |
91
- | ------ | ------------- | ----------------- |
92
- | K1 | Two filled buttons side-by-side | `<Button variant="default">` + `<Button variant="outline">` or `variant="ghost"` |
93
- | K2 | Button without loading state | Always add spinner + `disabled` during async actions |
94
- | K3 | Modal without backdrop blur | shadcn `<Dialog>` handles this. Don't override with plain divs |
95
- | K4 | Empty states left blank | **Always** design empty states: illustration + helpful message + primary CTA |
96
- | K5 | No skeleton screens | Use `<Skeleton>` from shadcn for content areas, not just spinners |
97
- | K6 | Tooltip on click (not hover) | Tooltips on hover, modals on click — use shadcn `<Tooltip>` + `<Dialog>` |
98
- | K7 | Dropdown without keyboard nav | Use shadcn `<DropdownMenu>` — keyboard nav is built-in |
99
- | K8 | Table without row hover | shadcn `<TableRow>` handles hover state automatically. Do **not** override it |
100
- | K9 | Building complex UI from scratch | **Check shadcn/ui first**. If the component exists, generate the CLI command: `npx shadcn@latest add dialog`. Never manually rewrite what shadcn already provides |
101
- | K10 | Native `<select>` or `<input type="date">` in premium UI | Native form controls cannot be styled consistently across Chrome/Safari/Firefox. Use `shadcn <Select>` and `shadcn <DatePicker>` for cross-browser consistency |
102
- | K11 | Form without error state styling | Every input must have error state: red border + error message below |
103
-
104
- ### Animation (Rules A1–A8)
105
-
106
- | Rule | Anti-Pattern | Correct Approach |
107
- | ------ | ------------- | ----------------- |
108
- | A1 | CSS bounce/elastic/spring easing | CSS spring animations are forbidden. **Exception**: If using Framer Motion, highly damped springs are encouraged: `{ type: "spring", stiffness: 400, damping: 30 }` for modals and popovers — this creates a premium, physical feel like Vercel/Linear |
109
- | A2 | Animations that take > 400ms | Micro: 100–150ms, Components: 200–300ms, Pages: 300–400ms |
110
- | A3 | Animations everywhere | Animate max 2–3 elements simultaneously |
111
- | A4 | Same animation for enter and exit | Enter: ease-out (decelerate), Exit: ease-in (accelerate) |
112
- | A5 | Animating expensive properties | Only animate `transform` and `opacity` — never `height`, `width`, `top` |
113
- | A6 | No animation on mobile | Respect `prefers-reduced-motion: reduce` — wrap in `@media` or use `useReducedMotion()` |
114
- | A7 | Scroll-triggered animations that block | Don't block content visibility for scroll reveals |
115
- | A8 | Hover animations on touch devices | Wrap hover effects in `@media (hover: hover)` |
116
-
117
- ### Images & Icons (Rules I1–I8)
118
-
119
- | Rule | Anti-Pattern | Correct Approach |
120
- | ------ | ------------- | ----------------- |
121
- | I1 | Decorative icons on every list item | Icons add meaning, not decoration. Use selectively. |
122
- | I2 | Mix of icon styles | Pick one icon set (e.g., Lucide for shadcn). Stick with it. |
123
- | I3 | Low-contrast icons | Icons need ≥ 3:1 contrast ratio |
124
- | I4 | Images without aspect-ratio | Always set `aspect-video` or `aspect-square` to prevent layout shifts |
125
- | I5 | No image loading state | Use `<Skeleton>` placeholder or blur hash |
126
- | I6 | SVG icons inline without aria | Add `aria-hidden="true"` or `aria-label` |
127
- | I7 | Stock photo generic humans | Use illustrations, abstract art, or genuine brand photography |
128
- | I8 | Unoptimized images | WebP/AVIF, properly sized, `loading="lazy"` below fold |
129
-
130
- ---
131
-
132
- ## Design Initialization Checklist
133
-
134
- Start every new design with:
135
-
136
- ```markdown
137
- ## Design Context
138
-
139
- **Surface type**: [brand/marketing OR product/app]
140
- **Target audience**: [who are they? what do they value?]
141
- **Brand tone**: [professional/playful/bold/minimal/technical]
142
- **Anti-references**: [designs this should NOT look like]
143
- **Primary font**: [chosen font + why + Framer Motion / shadcn pairing]
144
- **Color palette**: [3 semantic colors + HSL values for light AND dark]
145
- **Component library**: [shadcn/ui | radix | custom]
146
- **Animation library**: [CSS only | Framer Motion | GSAP]
147
- ```
148
-
149
- ---
150
-
151
- ## Design Review Audits
152
-
153
- ### Quick Audit (before PR)
154
-
155
- - Typography: Is there clear visual hierarchy? Are fonts intentional? Is Inter paired properly?
156
- - Color: Any pure black/white? Contrast failures? Too many colors? Dark mode?
157
- - Spacing: Consistent Tailwind scale? No arbitrary values? Enough whitespace?
158
- - Animation: Any CSS bounce/elastic? Too slow (>400ms)? Too many simultaneous?
159
- - Components: Any native `<select>` or `<input type="date">` that should be shadcn?
160
- - Z-index: Any hardcoded `z-[999]` or `z-50`?
161
-
162
- ### Full Audit (before release)
163
-
164
- - Accessibility: Run axe DevTools or Lighthouse — target 90+ score
165
- - Responsiveness: Test at 375px, 768px, 1280px, 1440px
166
- - Dark mode: Does the full palette hold up? No inverted-only shortcuts?
167
- - Empty states: Does every list/table have a designed empty state?
168
- - Edge cases: Loading states, error states, long text overflow, RTL
169
-
170
- ---
171
-
172
- ## Premium Design Markers
173
-
174
- These details separate premium from mediocre:
175
-
176
- 1. **Consistent border radius** — pick one and use it everywhere (`rounded-md` = 6px, `rounded-lg` = 8px)
177
- 2. **Intentional drop shadows** — darker near surface, lighter for floating elements
178
- 3. **Micro-copy quality** — button labels are verbs: "Save changes" not "Submit"
179
- 4. **Focus ring styling** — `focus-visible:ring-2 focus-visible:ring-primary` matching brand
180
- 5. **Smooth color transitions** — `transition-colors duration-150` on all interactive elements
181
- 6. **Optical alignment** — icon + text optically centered, not mathematically (`items-center gap-1.5`)
182
-
183
-
184
- ## Code Examples
185
-
186
- See `EXAMPLES.md` for detailed code examples.
187
-
188
- ## Validation Checklist
189
-
190
- What to verify during the review phase before completing the task.
191
-
192
- ## Common Mistakes
193
-
194
- Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
195
-
196
- ## Integration Notes
197
-
198
- How this skill interacts with other skills.
199
-
200
-
201
- <!-- Source: EXAMPLES.md -->
202
-
203
- # impeccable-design Examples — Anti-patterns vs ContextOS Standard
204
-
205
- ## Example 1: Dark Mode Surfaces & Elevation
206
-
207
- ### Anti-pattern: Pure Black with Flat Cards
208
-
209
- ```css
210
- /* BAD: Pure #000000 background with harsh pure white borders and flat cards */
211
- body { background-color: #000000; color: #ffffff; }
212
- .card { background-color: #111111; border: 1px solid #ffffff; }
213
- ```
214
-
215
- ### Best practice: ContextOS Standard (Atmospheric Depth & Tinted Surfaces)
216
-
217
- ```css
218
- /* GOOD: Tinted dark background with layered elevation surfaces and subtle border */
219
- body {
220
- background-color: #0B0D13; /* Tinted with subtle deep blue */
221
- color: #E2E8F0;
222
- }
223
- .surface-1 {
224
- background-color: #111522;
225
- border: 1px solid rgba(255, 255, 255, 0.08);
226
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
227
- }
228
- ```
229
-
230
- <!-- Source: TROUBLESHOOTING.md -->
231
-
232
- # impeccable-design Troubleshooting & Common Mistakes
233
-
234
- ## 1. Nested Border Radius Mismatch
235
-
236
- - **Symptom**: Corners of an inner element poke out or look visually awkward inside a container.
237
- - **Root Cause**: Using the same border-radius on both outer container and inner child.
238
- - **Fix**: Inner radius formula: r_inner = max(0, r_outer - padding).
239
-
240
- ## 2. Animation Performance Stutter
241
-
242
- - **Symptom**: Janky animations and dropped frames during transitions.
243
- - **Root Cause**: Animating layout properties (width, height, top, margin).
244
- - **Fix**: Animate only composited GPU-accelerated properties: transform and opacity.
245
-
246
- ## 3. Cluttered Visual Density
247
-
248
- - **Symptom**: Interface feels overwhelming, cramped, and cheap.
249
- - **Root Cause**: Cramming too many borders, dividers, badges, and icons into one view.
250
- - **Fix**: Replace borders with generous whitespace; let alignment and typography hierarchy define grouping.
@@ -1,96 +0,0 @@
1
- ---
2
- name: interview-me
3
- description: >
4
- Interactive requirements elicitation skill. Interrogates ambiguous, complex, or high-blast-radius tasks one focused question at a time before any plan or code is written.
5
- ---
6
- # interview-me
7
-
8
- ## Overview
9
-
10
- Structured requirements interrogation framework inspired by [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills). Prevents wasted cycles by transforming vague user intents into crisp, unambiguous architectural constraints through single-question progressive interview loops.
11
-
12
- ## When to Use
13
-
14
- Activate whenever:
15
-
16
- - User task has underspecified requirements, open UX decisions, or multiple viable architectural trade-offs.
17
- - A high-blast-radius change (database migrations, auth refactor, API contract change) is requested.
18
- - Explicitly triggered via `/spec`, `/interview`, or "ask me questions first".
19
-
20
- ## Rules & Patterns
21
-
22
- ### 1. The One-Question-At-A-Time Rule
23
-
24
- **Never overwhelm the user with a 10-point interrogation form.**
25
-
26
- - Ask **exactly ONE focused question** per turn (or at most two tightly-coupled binary options).
27
- - Provide the recommended option first with clear rationale: `"(Recommended) Option A because..."`.
28
- - Always allow write-in or clarification.
29
-
30
- ### 2. The 4 Interrogation Dimensions
31
-
32
- Interrogate in this strict priority order:
33
-
34
- 1. **Business Outcome & Invariants**:
35
- - What core problem does this solve?
36
- - What behavior is strictly forbidden?
37
- 2. **Scope Boundaries (In vs Out)**:
38
- - What must be delivered in this atomic slice?
39
- - What is explicitly deferred to later?
40
- 3. **Technical Constraints**:
41
- - Versions, libraries, database engines, backwards compatibility requirements.
42
- 4. **Edge Cases & Failure Modes**:
43
- - What happens on network disconnect, empty response, or unauthorized token?
44
-
45
- ### 3. Progressive Synthesis
46
-
47
- After each user answer:
48
-
49
- - Acknowledge the decision and update the mental model.
50
- - If more critical decisions remain, ask the next question.
51
- - Once 2–4 key questions are resolved, synthesize the formal Feature Spec and transition to `engineering-workflow` (`[PHASE: Plan]`).
52
-
53
- ---
54
-
55
- ## Code Examples
56
-
57
- ### Interactive Interview Turn Example
58
-
59
- ```markdown
60
- **Question 1 of 3 (Authentication Strategy)**
61
-
62
- Before implementing the API authentication layer, we need to align on session storage:
63
-
64
- 1. **(Recommended) HTTP-only Secure Cookies with Refresh Tokens**:
65
- - *Why*: Immune to XSS token theft, standard for web dashboards.
66
- 2. **Bearer Token in Authorization Header**:
67
- - *Why*: Ideal if this API will also be consumed by mobile apps or third-party CLI tools.
68
-
69
- Which model fits your architecture best?
70
- ```
71
-
72
- ---
73
-
74
- ## Validation Checklist
75
-
76
- - [ ] Question addresses an actual ambiguity (never ask about obvious defaults).
77
- - [ ] Exactly one question (or two tightly coupled choices) asked.
78
- - [ ] Recommendation provided with clear engineering justification.
79
- - [ ] User response incorporated into the final spec before coding.
80
-
81
- ---
82
-
83
- ## Common Mistakes
84
-
85
- - **Asking obvious questions**: Asking "Do you want error handling?" instead of making a sensible senior default.
86
- - **Interrogation bombardment**: Dumping a list of 8 open-ended questions in a single wall of text.
87
- - **Ignoring user answers**: Asking a question, receiving an answer, and then implementing something else.
88
-
89
- ---
90
-
91
- ## Integration Notes
92
-
93
- - Runs at the start of `engineering-workflow` Phase 1 (`/spec`).
94
- - Interacts with `gstack-roles` (`[ROLE: Product Manager]` or `[ROLE: Architect]`).
95
- - Hands off to `ponytail-mindset` once scope is defined.
96
-
@@ -1,227 +0,0 @@
1
- ---
2
- name: Microservices
3
- description: >
4
- ContextOS skill for Microservices
5
- ---
6
- # Microservices
7
-
8
- ## Overview
9
-
10
- Distributed systems architecture standard. Enforces bounded context isolation, asynchronous event-driven messaging (Kafka, RabbitMQ), Saga distributed transactions, API gateways, and outbox patterns.
11
-
12
- ## When to Use
13
-
14
- Activate when decomposing monoliths into independent services, designing inter-service communications, or building scalable distributed systems.
15
-
16
- ## Rules & Patterns
17
- <!-- Source: microservices.md -->
18
-
19
- ## Microservices — Architecture Guide
20
-
21
- ## When to Use Microservices
22
-
23
- **Use when:**
24
-
25
- - Team > 10 engineers working on the same product
26
- - Independent deployment of components is critical
27
- - Different components have different scaling needs
28
- - Different components need different tech stacks
29
-
30
- **Don't use when:**
31
-
32
- - Small team (< 5 engineers)
33
- - MVP or prototype
34
- - No operational expertise (monitoring, tracing, deployment)
35
- - Tight coupling between components
36
-
37
- ## Core Principles
38
-
39
- ### 1. Single Responsibility
40
-
41
- Each service does ONE thing well.
42
-
43
- ### 2. Own Your Data
44
-
45
- Each service has its own database. No shared databases.
46
-
47
- ### 3. API Contracts
48
-
49
- Services communicate through well-defined APIs. Internal implementation is hidden.
50
-
51
- ### 4. Autonomous Deployment
52
-
53
- Each service can be deployed independently.
54
-
55
- ## Communication Patterns
56
-
57
- ### Synchronous (REST/gRPC)
58
-
59
- - **When**: Request needs immediate response
60
- - **Tools**: REST (HTTP), gRPC (high-performance)
61
- - **Risk**: Cascading failures, latency accumulation
62
-
63
- ### Asynchronous (Events/Messages)
64
-
65
- - **When**: Eventual consistency is acceptable
66
- - **Tools**: Kafka, RabbitMQ, Redis Streams, AWS SQS
67
- - **Benefit**: Loose coupling, resilience
68
-
69
- ### Saga Pattern (Distributed Transactions)
70
-
71
- ```
72
- Order Service → Payment Service → Inventory Service → Shipping Service
73
- ↓ (failure)
74
- Compensating transactions reverse each step
75
- ```
76
-
77
- 1. **Choreography (Event-Driven)**: Each service emits events, downstream services listen and react. Best for simple flows (≤ 3 steps) where a central coordinator adds unnecessary coupling.
78
- 2. **Orchestration (State Machine)**: A dedicated Saga Orchestrator controls the flow and explicitly triggers compensating transactions on failure (e.g., `RefundPayment`, `ReleaseInventoryReservation`). Mandatory for complex multi-step workflows.
79
-
80
- ### Dead Letter Queues (DLQ) & Poison Pill Handling
81
-
82
- - **Never retry infinitely**: Set max retries (e.g. 3) with exponential backoff and jitter.
83
- - After max retries, route failed messages to a **Dead Letter Queue (DLQ)** with error metadata.
84
- - Provide alerting on DLQ depth and an admin CLI/script to replay DLQ messages.
85
-
86
- ## CQRS (Command Query Responsibility Segregation)
87
-
88
- Separate read and write models:
89
-
90
- ```
91
- Command (Write) → Write Model → Event Store → Projections → Read Model → Query (Read)
92
- ```
93
-
94
- **When**: Read patterns differ significantly from write patterns.
95
-
96
- ## Event Sourcing
97
-
98
- Store events, not state:
99
-
100
- ```
101
- UserCreated → EmailUpdated → RoleChanged → PasswordReset
102
- ```
103
-
104
- Current state = replay all events. Full audit trail.
105
-
106
- ## Service Boundaries
107
-
108
- ### Bounded Contexts (from DDD)
109
-
110
- - Identify domain boundaries
111
- - Each service maps to a bounded context
112
- - Shared language within the context, translation at boundaries
113
-
114
- ### Anti-Corruption Layer
115
-
116
- When integrating with legacy or external systems, create an adapter that translates between models.
117
-
118
- ## Operational Concerns
119
-
120
- ### Observability (The Three Pillars)
121
-
122
- 1. **Logs** — structured JSON, correlated by request ID
123
- 2. **Metrics** — latency, error rate, throughput (RED)
124
- 3. **Traces** — distributed tracing across services (Jaeger, Zipkin)
125
-
126
- ### Resilience
127
-
128
- - **Circuit Breaker** — stop calling failing services
129
- - **Retry with Backoff** — exponential backoff + jitter
130
- - **Timeout** — every call has a timeout
131
- - **Bulkhead** — isolate failures
132
-
133
- ### Deployment
134
-
135
- - **Containers** — Docker for consistency
136
- - **Orchestration** — Kubernetes for production
137
- - **CI/CD** — independent pipelines per service
138
- - **Blue-Green / Canary** — safe rollouts
139
-
140
- ## Anti-Patterns
141
-
142
- - [FAIL] Distributed monolith — services that can't deploy independently
143
- - [FAIL] Shared database — defeats the purpose
144
- - [FAIL] Synchronous chains — A calls B calls C calls D
145
- - [FAIL] No versioning — breaking API changes
146
- - [FAIL] Premature microservices — start with a modular monolith
147
-
148
-
149
- ## Code Examples
150
-
151
- See `EXAMPLES.md` for detailed code examples.
152
-
153
- ## Validation Checklist
154
-
155
- What to verify during the review phase before completing the task.
156
-
157
- ## Common Mistakes
158
-
159
- Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
160
-
161
- ## Integration Notes
162
-
163
- How this skill interacts with other skills.
164
-
165
-
166
- <!-- Source: EXAMPLES.md -->
167
-
168
- # microservices Examples — Anti-patterns vs ContextOS Standard
169
-
170
- ## Example 1: Inter-service Communication
171
-
172
- ### Anti-pattern: Synchronous HTTP Call Chains (The Distributed Monolith)
173
-
174
- ```text
175
- User -> OrderService (HTTP) -> InventoryService (HTTP) -> PaymentService (HTTP) -> EmailService (HTTP)
176
- Problem: High latency, 99.9% availability compounding to 96% overall availability, cascading failure.
177
- ```
178
-
179
- ### Best practice: ContextOS Standard (Asynchronous Event Choreography)
180
-
181
- ```text
182
- User -> OrderService (creates order with status 'PENDING')
183
- OrderService publishes 'OrderPlaced' event to Event Broker (Kafka/RabbitMQ)
184
- ├── InventoryService consumes 'OrderPlaced' -> Reserves stock
185
- ├── PaymentService consumes 'OrderPlaced' -> Charges customer
186
- └── NotificationService consumes 'PaymentProcessed' -> Sends confirmation email
187
- ```
188
-
189
- ---
190
-
191
- ## Example 2: Database Architecture
192
-
193
- ### Anti-pattern: Shared Database Across Multiple Microservices
194
-
195
- ```text
196
- BAD: OrderService and UserService both directly read and write to the same 'users' table.
197
- Schema migrations in UserService immediately break OrderService.
198
- ```
199
-
200
- ### Best practice: ContextOS Standard (Database-per-Service)
201
-
202
- ```text
203
- GOOD: UserService owns user data. OrderService maintains a local read-model (denormalized user info)
204
- synchronized via 'UserUpdated' events. Each service can migrate and scale independently.
205
- ```
206
-
207
- <!-- Source: TROUBLESHOOTING.md -->
208
-
209
- # microservices Troubleshooting & Common Mistakes
210
-
211
- ## 1. Missing Consumer Idempotency
212
-
213
- - **Symptom**: Users charged twice or duplicate records created when events are re-delivered.
214
- - **Root Cause**: Message brokers guarantee at-least-once delivery; network retries re-send events.
215
- - **Fix**: Store processed message/event IDs in a deduplication table with unique constraint.
216
-
217
- ## 2. Circular Service Dependencies
218
-
219
- - **Symptom**: Service A cannot boot or operate without Service B, and Service B depends on Service A.
220
- - **Root Cause**: Improper domain boundaries and coupled synchronous dependencies.
221
- - **Fix**: Invert dependency using domain events or introduce a composite BFF/Orchestrator.
222
-
223
- ## 3. Distributed Tracing Blindness
224
-
225
- - **Symptom**: Impossible to diagnose which downstream microservice caused a 500 error or latency spike.
226
- - **Root Cause**: HTTP headers and event messages do not propagate correlation IDs.
227
- - **Fix**: Propagate X-Correlation-ID / traceparent across all HTTP requests and event headers.
@@ -1,114 +0,0 @@
1
- ---
2
- name: minimalist-design
3
- description: >
4
- Clean editorial-style interfaces with warm monochrome palettes and flat bento grids.
5
- ---
6
- # Protocol: Premium Utilitarian Minimalism UI Architect
7
-
8
- ## Overview
9
-
10
- An advanced frontend engineering directive for generating highly refined, ultra-minimalist, "document-style" web interfaces analogous to top-tier workspace platforms. This protocol strictly enforces a high-contrast warm monochrome palette, bespoke typographic hierarchies, meticulous structural macro-whitespace, bento-grid layouts, and an ultra-flat component architecture with deliberate muted pastel accents. It actively rejects standard generic SaaS design trends.
11
-
12
- ## When to Use
13
-
14
- - When designing clean, editorial, or Notion-like document interfaces, workspaces, or notes apps.
15
- - When creating minimalist SaaS dashboards, personal essays, portfolios, or agency landing pages.
16
- - When asked for a "clean", "minimalist", "warm monochrome", or "flat bento-box" layout.
17
-
18
- ## Rules & Patterns
19
-
20
- ### 1. Absolute Negative Constraints (Banned Elements)
21
-
22
- The AI must strictly avoid the following generic web development defaults:
23
-
24
- - DO NOT use the "Inter", "Roboto", or "Open Sans" typefaces.
25
- - DO NOT use generic, thin-line icon libraries like "Lucide", "Feather", or standard "Heroicons".
26
- - DO NOT use Tailwind's default heavy drop shadows (e.g., `shadow-md`, `shadow-lg`, `shadow-xl`). Shadows must be practically non-existent or heavily customized to be ultra-diffuse and low opacity (< 0.05).
27
- - DO NOT use primary colored backgrounds for large elements or sections (e.g., no bright blue, green, or red hero sections).
28
- - DO NOT use gradients, neon colors, or 3D glassmorphism (beyond subtle navbar blurs).
29
- - DO NOT use `rounded-full` (pill shapes) for large containers, cards, or primary buttons.
30
- - DO NOT use emojis anywhere in code, markup, text content, headings, or alt text. Replace with proper icons or clean SVG primitives.
31
- - DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual content.
32
- - DO NOT use AI copywriting clichés: "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve". Write plain, specific language.
33
-
34
- ### 2. Typographic Architecture
35
-
36
- The interface must rely on extreme typographic contrast and premium font selection to establish an editorial feel.
37
-
38
- - **Primary Sans-Serif (Body, UI, Buttons):** Use clean, geometric, or system-native fonts with character (`'SF Pro Display', 'Geist Sans', 'Helvetica Neue', 'Switzer', sans-serif`).
39
- - **Editorial Serif (Hero Headings & Quotes):** (`'Lyon Text', 'Newsreader', 'Playfair Display', 'Instrument Serif', serif`). Apply tight tracking (`-0.02em` to `-0.04em`) and tight line-height (`1.1`).
40
- - **Monospace (Code, Keystrokes, Meta-data):** (`'Geist Mono', 'SF Mono', 'JetBrains Mono', monospace`).
41
- - **Text Colors:** Body text must never be absolute black (`#000000`). Use off-black/charcoal (`#111111` or `#2F3437`) with a generous line-height of `1.6` for legibility. Secondary text should be muted gray (`#787774`).
42
-
43
- ### 3. Color Palette (Warm Monochrome + Spot Pastels)
44
-
45
- Color is a scarce resource, utilized only for semantic meaning or subtle accents.
46
-
47
- - **Canvas / Background:** Pure White `#FFFFFF` or Warm Bone/Off-White `#F7F6F3` / `#FBFBFA`.
48
- - **Primary Surface (Cards):** `#FFFFFF` or `#F9F9F8`.
49
- - **Structural Borders / Dividers:** Ultra-light gray `#EAEAEA` or `rgba(0,0,0,0.06)`.
50
- - **Accent Colors:** Exclusively use highly desaturated, washed-out pastels for tags, inline code backgrounds, or subtle icon backgrounds:
51
- - Pale Red: `#FDEBEC` (Text: `#9F2F2D`)
52
- - Pale Blue: `#E1F3FE` (Text: `#1F6C9F`)
53
- - Pale Green: `#EDF3EC` (Text: `#346538`)
54
- - Pale Yellow: `#FBF3DB` (Text: `#956400`)
55
-
56
- ### 4. Component Specifications
57
-
58
- - **Bento Box Feature Grids:** Asymmetrical CSS Grid layouts. Cards have `border: 1px solid #EAEAEA`, crisp border-radius (`8px` to `12px` max), and generous internal padding (`24px` to `40px`).
59
- - **Primary Call-To-Action (Buttons):** Solid `#111111`, text `#FFFFFF`, radius `4px` to `6px`, no box-shadow. Micro-scale `transform: scale(0.98)` on active.
60
- - **Tags & Status Badges:** Pill-shaped (`rounded-full`), small typography (`text-xs`), uppercase with wide tracking (`0.05em`), pastel background.
61
- - **Accordions (FAQ):** Separated by `border-bottom: 1px solid #EAEAEA` without card boxes. Crisp `+` / `-` toggle icons.
62
- - **Keystroke Micro-UIs:** `<kbd className="border border-[#EAEAEA] rounded bg-[#F7F6F3] font-mono px-1.5 py-0.5 text-xs">`.
63
-
64
- ### 5. Iconography & Imagery
65
-
66
- - **System Icons:** Phosphor Icons (Bold/Fill) or Radix UI Icons for crisp, technical strokes.
67
- - **Photography:** Desaturated images with warm tint and subtle grain overlay (`opacity: 0.04`).
68
- - **Depth:** Subtle ambient gradients (`radial-gradient` with warm tones at `opacity: 0.03`) or minimal geometric line patterns.
69
-
70
- ### 6. Subtle Motion & Micro-Animations
71
-
72
- - **Scroll Entry:** Fade-in + `translateY(12px)` over 600ms via `IntersectionObserver`.
73
- - **Hover States:** Subtle card lift with ultra-diffuse shadow (`0 2px 8px rgba(0,0,0,0.04)`).
74
- - **Staggered Reveals:** Cascading delay (`calc(var(--index) * 80ms)`).
75
-
76
- ## Code Examples
77
-
78
- ```tsx
79
- export function BentoFeatureCard({ title, description, badge, tagColor = "blue" }: { title: string; description: string; badge: string; tagColor?: string }) {
80
- return (
81
- <div className="bg-[#FFFFFF] border border-[#EAEAEA] rounded-xl p-8 hover:shadow-[0_2px_8px_rgba(0,0,0,0.04)] transition-all duration-200">
82
- <div className="flex items-center justify-between mb-4">
83
- <span className="text-xs uppercase tracking-wider font-mono font-medium px-2.5 py-0.5 rounded-full bg-[#E1F3FE] text-[#1F6C9F]">
84
- {badge}
85
- </span>
86
- </div>
87
- <h3 className="font-serif text-2xl tracking-tight text-[#111111] mb-2">{title}</h3>
88
- <p className="text-sm text-[#787774] leading-relaxed">{description}</p>
89
- </div>
90
- );
91
- }
92
- ```
93
-
94
- ## Validation Checklist
95
-
96
- - [ ] Macro-whitespace established with generous vertical section padding (`py-24` to `py-32`).
97
- - [ ] No pure black (`#000000`) for text or backgrounds.
98
- - [ ] Borders use crisp `1px solid #EAEAEA` or `rgba(0,0,0,0.06)`.
99
- - [ ] No generic AI buzzwords or emojis used in copy.
100
- - [ ] Typography uses editorial serif headers paired with clean sans-serif body.
101
- - [ ] Card corners constrained to crisp 8px-12px radius; no pill containers.
102
-
103
- ## Common Mistakes
104
-
105
- - Using heavy saturated primary colors for hero backgrounds.
106
- - Adding default Tailwind drop-shadows (`shadow-lg`).
107
- - Cluttering interfaces with emojis instead of clean SVG icons.
108
- - Using default Inter or Roboto fonts without editorial contrast.
109
-
110
- ## Integration Notes
111
-
112
- - Complements `ui-ux-pro` for color tokens and accessibility.
113
- - Integrates with `impeccable-design` for QA and anti-pattern enforcement.
114
-