class-ai-agent 1.2.2 β†’ 1.3.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.
Files changed (172) hide show
  1. package/.agent/README.md +33 -0
  2. package/.agent/SESSION.md +54 -0
  3. package/.agent/SESSION.template.md +46 -0
  4. package/.claude/CLAUDE.md +21 -6
  5. package/.claude/commands/build.md +5 -4
  6. package/.claude/commands/debug.md +2 -1
  7. package/.claude/commands/handoff.md +94 -0
  8. package/.claude/commands/plan.md +1 -0
  9. package/.claude/commands/publish-npm.md +119 -0
  10. package/.claude/commands/resume.md +107 -0
  11. package/.claude/commands/spec.md +2 -1
  12. package/.claude/references/agent-continuity.md +42 -0
  13. package/.claude/references/codegraph.md +50 -0
  14. package/.claude/rules/agent-continuity.md +39 -0
  15. package/.claude/skills/agent-continuity/SKILL.md +70 -0
  16. package/.claude/skills/ui-ux-pro-max/SKILL.md +377 -0
  17. package/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
  18. package/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
  19. package/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
  20. package/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
  21. package/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
  22. package/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  23. package/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  24. package/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  25. package/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  26. package/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  27. package/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  28. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  29. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  30. package/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  31. package/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  32. package/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  33. package/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  34. package/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  35. package/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  36. package/.claude/skills/ui-ux-pro-max/data/styles.csv +68 -0
  37. package/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
  38. package/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  39. package/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  40. package/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  41. package/.claude/skills/ui-ux-pro-max/scripts/core.py +253 -0
  42. package/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  43. package/.claude/skills/ui-ux-pro-max/scripts/search.py +114 -0
  44. package/.cursor/CURSOR.md +37 -5
  45. package/.cursor/commands/build.md +5 -4
  46. package/.cursor/commands/debug.md +2 -1
  47. package/.cursor/commands/handoff.md +94 -0
  48. package/.cursor/commands/plan.md +1 -0
  49. package/.cursor/commands/publish-npm.md +119 -0
  50. package/.cursor/commands/resume.md +107 -0
  51. package/.cursor/commands/spec.md +2 -1
  52. package/.cursor/mcp.json +15 -0
  53. package/.cursor/references/agent-continuity.md +42 -0
  54. package/.cursor/references/codegraph.md +87 -0
  55. package/.cursor/rules/agent-continuity.mdc +44 -0
  56. package/.cursor/rules/codegraph.mdc +47 -0
  57. package/.cursor/rules/cursor-overview.mdc +10 -3
  58. package/.cursor/skills/agent-continuity/SKILL.md +70 -0
  59. package/.cursor/skills/ui-ux-pro-max/SKILL.md +288 -0
  60. package/.cursor/skills/ui-ux-pro-max/data/charts.csv +26 -0
  61. package/.cursor/skills/ui-ux-pro-max/data/colors.csv +97 -0
  62. package/.cursor/skills/ui-ux-pro-max/data/icons.csv +101 -0
  63. package/.cursor/skills/ui-ux-pro-max/data/landing.csv +31 -0
  64. package/.cursor/skills/ui-ux-pro-max/data/products.csv +97 -0
  65. package/.cursor/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  66. package/.cursor/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  67. package/.cursor/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  68. package/.cursor/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  69. package/.cursor/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  70. package/.cursor/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  71. package/.cursor/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  72. package/.cursor/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  73. package/.cursor/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  74. package/.cursor/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  75. package/.cursor/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  76. package/.cursor/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  77. package/.cursor/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  78. package/.cursor/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  79. package/.cursor/skills/ui-ux-pro-max/data/styles.csv +68 -0
  80. package/.cursor/skills/ui-ux-pro-max/data/typography.csv +58 -0
  81. package/.cursor/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  82. package/.cursor/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  83. package/.cursor/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  84. package/.cursor/skills/ui-ux-pro-max/scripts/core.py +253 -0
  85. package/.cursor/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  86. package/.cursor/skills/ui-ux-pro-max/scripts/search.py +114 -0
  87. package/.kiro/KIRO.md +146 -0
  88. package/.kiro/agents/backend.md +395 -0
  89. package/.kiro/agents/code-reviewer.md +110 -0
  90. package/.kiro/agents/copywriter-seo.md +236 -0
  91. package/.kiro/agents/frontend.md +384 -0
  92. package/.kiro/agents/project-manager.md +201 -0
  93. package/.kiro/agents/qa.md +221 -0
  94. package/.kiro/agents/security-auditor.md +143 -0
  95. package/.kiro/agents/systems-architect.md +211 -0
  96. package/.kiro/agents/test-engineer.md +123 -0
  97. package/.kiro/agents/ui-ux-designer.md +210 -0
  98. package/.kiro/commands/build.md +133 -0
  99. package/.kiro/commands/debug.md +243 -0
  100. package/.kiro/commands/deploy.md +40 -0
  101. package/.kiro/commands/fix-issue.md +42 -0
  102. package/.kiro/commands/handoff.md +94 -0
  103. package/.kiro/commands/plan.md +126 -0
  104. package/.kiro/commands/publish-npm.md +119 -0
  105. package/.kiro/commands/resume.md +107 -0
  106. package/.kiro/commands/review.md +50 -0
  107. package/.kiro/commands/simplify.md +222 -0
  108. package/.kiro/commands/spec.md +96 -0
  109. package/.kiro/commands/test.md +214 -0
  110. package/.kiro/references/accessibility-checklist.md +174 -0
  111. package/.kiro/references/agent-continuity.md +42 -0
  112. package/.kiro/references/codegraph.md +86 -0
  113. package/.kiro/references/performance-checklist.md +150 -0
  114. package/.kiro/references/security-checklist.md +94 -0
  115. package/.kiro/references/testing-patterns.md +183 -0
  116. package/.kiro/settings/mcp.json +15 -0
  117. package/.kiro/settings.json +8 -0
  118. package/.kiro/skills/agent-continuity/SKILL.md +70 -0
  119. package/.kiro/skills/code-review/SKILL.md +208 -0
  120. package/.kiro/skills/deploy/SKILL.md +68 -0
  121. package/.kiro/skills/deploy/deploy.md +735 -0
  122. package/.kiro/skills/incremental-implementation/SKILL.md +210 -0
  123. package/.kiro/skills/security-review/SKILL.md +71 -0
  124. package/.kiro/skills/tdd/SKILL.md +217 -0
  125. package/.kiro/skills/ui-ux-pro-max/SKILL.md +288 -0
  126. package/.kiro/skills/ui-ux-pro-max/data/charts.csv +26 -0
  127. package/.kiro/skills/ui-ux-pro-max/data/colors.csv +97 -0
  128. package/.kiro/skills/ui-ux-pro-max/data/icons.csv +101 -0
  129. package/.kiro/skills/ui-ux-pro-max/data/landing.csv +31 -0
  130. package/.kiro/skills/ui-ux-pro-max/data/products.csv +97 -0
  131. package/.kiro/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  132. package/.kiro/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  133. package/.kiro/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  134. package/.kiro/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  135. package/.kiro/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  136. package/.kiro/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  137. package/.kiro/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  138. package/.kiro/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  139. package/.kiro/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  140. package/.kiro/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  141. package/.kiro/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  142. package/.kiro/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  143. package/.kiro/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  144. package/.kiro/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  145. package/.kiro/skills/ui-ux-pro-max/data/styles.csv +68 -0
  146. package/.kiro/skills/ui-ux-pro-max/data/typography.csv +58 -0
  147. package/.kiro/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  148. package/.kiro/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  149. package/.kiro/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  150. package/.kiro/skills/ui-ux-pro-max/scripts/core.py +253 -0
  151. package/.kiro/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  152. package/.kiro/skills/ui-ux-pro-max/scripts/search.py +114 -0
  153. package/.kiro/steering/agent-continuity.md +44 -0
  154. package/.kiro/steering/api-conventions.md +85 -0
  155. package/.kiro/steering/clean-code.md +211 -0
  156. package/.kiro/steering/code-style.md +92 -0
  157. package/.kiro/steering/codegraph.md +47 -0
  158. package/.kiro/steering/database.md +66 -0
  159. package/.kiro/steering/error-handling.md +98 -0
  160. package/.kiro/steering/git-workflow.md +83 -0
  161. package/.kiro/steering/kiro-overview.md +38 -0
  162. package/.kiro/steering/monitoring.md +317 -0
  163. package/.kiro/steering/naming-conventions.md +266 -0
  164. package/.kiro/steering/project-structure.md +71 -0
  165. package/.kiro/steering/security.md +95 -0
  166. package/.kiro/steering/system-design.md +168 -0
  167. package/.kiro/steering/tech-stack.md +462 -0
  168. package/.kiro/steering/testing.md +110 -0
  169. package/AGENTS.md +13 -7
  170. package/README.md +126 -18
  171. package/bin/class-ai-agent.cjs +165 -11
  172. package/package.json +10 -4
@@ -0,0 +1,87 @@
1
+ # CodeGraph reference
2
+
3
+ [CodeGraph](https://github.com/colbymchenry/codegraph) is a local, tree-sitter–parsed knowledge graph exposed to agents via MCP. **class-ai-agent** installs Cursor and Kiro MCP wiring plus usage rules, and runs `codegraph init -i` after scaffolding.
4
+
5
+ ## Cursor (included with class-ai-agent)
6
+
7
+ | Item | Path |
8
+ |------|------|
9
+ | MCP config | `.cursor/mcp.json` |
10
+ | Usage rules | `.cursor/rules/codegraph.mdc` |
11
+ | Index (generated) | `.codegraph/` (gitignored) |
12
+
13
+ 1. Reload the Cursor window after install so MCP connects.
14
+ 2. Confirm **CodeGraph** appears under MCP in Cursor settings.
15
+ 3. Use `codegraph_*` tools for structural questions; grep/read for literal text.
16
+
17
+ **Manual index:** `npx @colbymchenry/codegraph init -i`
18
+
19
+ **Skip auto-index on install:** `CODEGRAPH_SKIP_INIT=1 npx class-ai-agent`
20
+
21
+ ## Kiro (included with class-ai-agent)
22
+
23
+ | Item | Path |
24
+ |------|------|
25
+ | MCP config | `.kiro/settings/mcp.json` |
26
+ | Usage rules | `.kiro/steering/codegraph.md` |
27
+ | Index (generated) | `.codegraph/` (gitignored) |
28
+
29
+ 1. Restart Kiro after install so MCP connects.
30
+ 2. Confirm **CodeGraph** under MCP in Kiro IDE or CLI settings.
31
+ 3. Use `codegraph_*` tools for structural questions.
32
+
33
+ See `.kiro/references/codegraph.md` for full notes.
34
+
35
+ ## Claude Code
36
+
37
+ Project scaffolding does **not** add Claude MCP config. Install CodeGraph globally for Claude Code:
38
+
39
+ ```bash
40
+ npx @colbymchenry/codegraph
41
+ # or: npm i -g @colbymchenry/codegraph
42
+ codegraph install --target=claude --yes
43
+ ```
44
+
45
+ Then in each project: `codegraph init -i` (or rely on class-ai-agent’s post-install init for the shared `.codegraph/` index).
46
+
47
+ See the [CodeGraph README](https://github.com/colbymchenry/codegraph) for tools, troubleshooting, and benchmarks.
48
+
49
+ ## Requirements
50
+
51
+ - **Node 20+** recommended for CodeGraph (class-ai-agent CLI itself supports Node 16.7+).
52
+ - First index can take a minute on large repos; progress prints during `npx class-ai-agent` install.
53
+
54
+ ## Tool parameters
55
+
56
+ | Tool | Pass | Not |
57
+ |------|------|-----|
58
+ | `codegraph_search` | `query`, optional `limit` | β€” |
59
+ | `codegraph_context` | **`task`** (natural-language area), optional **`maxNodes`** | `query`, `limit` |
60
+
61
+ Example β€” wrong (search-style args on context):
62
+
63
+ ```json
64
+ { "query": "auth flow", "limit": 15 }
65
+ ```
66
+
67
+ β†’ `Error: task must be a non-empty string`
68
+
69
+ Example β€” correct:
70
+
71
+ ```json
72
+ { "task": "how authentication flow works", "maxNodes": 15 }
73
+ ```
74
+
75
+ **Session handoff** (`/resume`, `.agent/SESSION.md`) is not a CodeGraph call β€” read those files with the editor Read tool.
76
+
77
+ ## Troubleshooting
78
+
79
+ | Issue | Action |
80
+ |-------|--------|
81
+ | `task must be a non-empty string` | Use `task` (not `query`) on `codegraph_context`; use `maxNodes` (not `limit`). For `/resume`, read `.agent/SESSION.md` instead. |
82
+ | MCP β€œnot initialized” | Run `npx @colbymchenry/codegraph init -i` in project root |
83
+ | MCP not connecting | Reload Cursor; verify `.cursor/mcp.json`; test `npx @colbymchenry/codegraph serve --mcp` |
84
+ | Stale symbols after edit | Wait ~2s for watcher sync, or check staleness banner in tool output |
85
+ | Init failed during install | Run `npx @colbymchenry/codegraph init -i` manually |
86
+
87
+ Upstream: [colbymchenry/codegraph](https://github.com/colbymchenry/codegraph)
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: "Agent session continuity β€” cross-tool handoff via .agent/SESSION.md"
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Agent continuity
7
+
8
+ Cross-tool handoff lives in **`.agent/SESSION.md`** (committed). Cursor, Claude Code, and Kiro agents share this file.
9
+
10
+ ## Session start
11
+
12
+ 1. If **`.agent/SESSION.md`** exists, read it **before** planning or editing code.
13
+ 2. When the user says **continue**, **resume**, or **pick up**, use **`.cursor/commands/resume.md`** (or equivalent in `.claude/` / `.kiro/`).
14
+ 3. Then read **`tasks/todo.md`** and linked **SPEC** paths from SESSION **Pointers**.
15
+
16
+ **Do not** call `codegraph_context` with `query` / `limit` for session resume β€” that tool requires **`task`** and is for code symbols, not handoff state. For continuity, **Read** `.agent/SESSION.md` (and `tasks/todo.md`); use `codegraph_context` only when you need structural code context for the work described in SESSION.
17
+
18
+ ## Session end and phase changes
19
+
20
+ 1. Update **`.agent/SESSION.md`** before ending a session or switching tools β€” use **`.cursor/commands/handoff.md`** when possible.
21
+ 2. Keep **Done**, **In progress**, and **Next** accurate; do not leave stale **In progress** items.
22
+ 3. Sync **`tasks/todo.md`** checkboxes when tasks change.
23
+
24
+ ## Security (SESSION.md)
25
+
26
+ **Never** store in `.agent/SESSION.md`:
27
+
28
+ - API keys, passwords, tokens, credentials
29
+ - PII or customer data
30
+
31
+ Use issue links, commit SHAs, and file paths instead.
32
+
33
+ ## Workflow integration
34
+
35
+ | Phase | SESSION `phase` value |
36
+ |-------|------------------------|
37
+ | Spec | `spec` |
38
+ | Plan | `plan` |
39
+ | Build | `build` |
40
+ | Test | `test` |
41
+ | Review | `review` |
42
+ | Debug | `debug` |
43
+
44
+ Set **Meta β†’ Tool** to `cursor`, `claude`, or `kiro` as appropriate.
@@ -0,0 +1,47 @@
1
+ ---
2
+ description: CodeGraph MCP usage guide β€” when to use which tool
3
+ alwaysApply: true
4
+ ---
5
+
6
+ ## CodeGraph
7
+
8
+ This project has a CodeGraph MCP server (`codegraph_*` tools) configured. CodeGraph is a tree-sitter-parsed knowledge graph of every symbol, edge, and file. Reads are sub-millisecond and return structural information grep cannot.
9
+
10
+ ### When to prefer codegraph over native search
11
+
12
+ Use codegraph for **structural** questions β€” what calls what, what would break, where is X defined, what is X's signature. Use native grep/read only for **literal text** queries (string contents, comments, log messages) or after you already have a specific file open.
13
+
14
+ | Question | Tool |
15
+ |---|---|
16
+ | "Where is X defined?" / "Find symbol named X" | `codegraph_search` |
17
+ | "What calls function Y?" | `codegraph_callers` |
18
+ | "What does Y call?" | `codegraph_callees` |
19
+ | "How does X reach/become Y? / trace the flow from X to Y" | `codegraph_trace` (one call = the whole path, incl. callback/React/JSX dynamic hops) |
20
+ | "What would break if I changed Z?" | `codegraph_impact` |
21
+ | "Show me Y's signature / source / docstring" | `codegraph_node` |
22
+ | "Give me focused context for a task/area" | `codegraph_context` |
23
+ | "See several related symbols' source at once" | `codegraph_explore` |
24
+ | "What files exist under path/" | `codegraph_files` |
25
+ | "Is the index healthy?" | `codegraph_status` |
26
+
27
+ ### Tool parameters (do not mix)
28
+
29
+ | Tool | Required arg | Optional cap | Wrong args β†’ error |
30
+ |------|--------------|--------------|-------------------|
31
+ | `codegraph_search` | **`query`** (symbol name) | `limit` (default 10) | β€” |
32
+ | `codegraph_context` | **`task`** (feature/bug description) | `maxNodes` (default 20) | `query` / `limit` β†’ **`task must be a non-empty string`** |
33
+
34
+ `codegraph_context` is for **code structure** around a task β€” not for loading **`.agent/SESSION.md`** or `/resume` handoff (use **Read** + `.cursor/commands/resume.md`).
35
+
36
+ ### Rules of thumb
37
+
38
+ - **Answer directly — don't delegate exploration.** For "how does X work" / architecture questions, answer with 2-3 codegraph calls: `codegraph_context` first, then ONE `codegraph_explore` for the source of the symbols it surfaces. For a specific **flow** ("how does X reach Y") start with `codegraph_trace` from→to — one call returns the whole path with dynamic hops bridged — then ONE `codegraph_explore` for the bodies; don't rebuild the path with `codegraph_search` + `codegraph_callers`. Codegraph IS the pre-built index, so spawning a separate file-reading sub-task/agent — or running a grep + read loop — repeats work codegraph already did and costs more for the same answer.
39
+ - **Trust codegraph results.** They come from a full AST parse. Do NOT re-verify them with grep β€” that's slower, less accurate, and wastes context.
40
+ - **Don't grep first** when looking up a symbol by name. `codegraph_search` is faster and returns kind + location + signature in one call.
41
+ - **Don't chain `codegraph_search` + `codegraph_node`** when you just want context β€” `codegraph_context` is one call.
42
+ - **Don't loop `codegraph_node` over many symbols** β€” one `codegraph_explore` call returns several symbols' source grouped in a single capped call, while each separate node/Read call re-reads the whole context and costs far more.
43
+ - **Index lag β€” check the staleness banner, don't guess a wait.** When a codegraph response starts with "⚠️ Some files referenced below were edited since the last index sync…", the listed files are pending re-index β€” Read those specific files for accurate content. Files NOT in that banner are fresh and codegraph is authoritative for them. `codegraph_status` also lists pending files under "Pending sync".
44
+
45
+ ### If `.codegraph/` doesn't exist
46
+
47
+ The MCP server returns "not initialized." Ask the user: *"I notice this project doesn't have CodeGraph initialized. Want me to run `codegraph init -i` to build the index?"*
@@ -18,18 +18,25 @@ Use the same phase order as in `.cursor/CURSOR.md`:
18
18
  5. **Review** β€” `.cursor/commands/review.md` (five-axis: `.cursor/skills/code-review/`)
19
19
  6. **Ship** β€” `.cursor/commands/deploy.md`
20
20
 
21
- Supporting prompts: `debug`, `simplify`, `fix-issue` in `.cursor/commands/`.
21
+ Supporting prompts: `debug`, `simplify`, `fix-issue`, `handoff`, `resume` in `.cursor/commands/`. Maintainers: `publish-npm` (say **push to npm repo** to draft README release notes and publish).
22
+
23
+ **Agent continuity:** committed **`.agent/SESSION.md`** β€” read at session start (`/resume`), update at end (`/handoff`). See **`.cursor/rules/agent-continuity.mdc`**.
22
24
 
23
25
  ## Mandatory standards
24
26
 
25
27
  - Follow **`.cursor/rules/`** (`.mdc`). **`security.mdc`** is always applied; other rule files apply when matching globs are in scope (see each file’s frontmatter).
26
28
  - Prefer **tests first** and **small vertical slices** (see `.cursor/skills/incremental-implementation/`).
27
29
  - Use **`.cursor/references/`** for checklists (security, testing, performance, accessibility).
30
+ - For **structural** code questions (symbols, callers, callees, traces, impact), prefer **CodeGraph** MCP tools (`codegraph_*`) per **`.cursor/rules/codegraph.mdc`** instead of grep/read exploration loops.
28
31
 
29
32
  ## Agents (personas)
30
33
 
31
34
  Specialized instructions live in **`.cursor/agents/`**. In Cursor, **@ mention** the file you want (e.g. `@.cursor/agents/code-reviewer.md`) when you need that role.
32
35
 
33
- ## Relation to `.claude/`
36
+ ## Relation to `.claude/` and `.kiro/`
37
+
38
+ - **`.claude/`** β€” Claude Code
39
+ - **`.cursor/`** β€” Cursor
40
+ - **`.kiro/`** β€” Kiro (steering + MCP; sync from `.cursor/` via `npm run sync:kiro`)
34
41
 
35
- If both folders exist: **`.claude/`** targets Claude Code; **`.cursor/`** targets Cursor. Keep them aligned when you change workflows or standards.
42
+ Keep all three aligned when you change workflows or standards.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: Agent Continuity
3
+ description: Cross-tool session handoff and resume via .agent/SESSION.md
4
+ ---
5
+
6
+ # Agent Continuity Skill
7
+
8
+ ## Purpose
9
+
10
+ Keep **Cursor**, **Claude Code**, and **Kiro** aligned on the same in-flight work using committed **`.agent/SESSION.md`**.
11
+
12
+ ---
13
+
14
+ ## When to apply
15
+
16
+ | Situation | Action |
17
+ |-----------|--------|
18
+ | New chat, same feature | **Resume** β€” read SESSION first |
19
+ | End of session | **Handoff** β€” update SESSION |
20
+ | Switch IDE/tool | **Handoff** then **Resume** in new tool |
21
+ | Switch persona | Update Meta `persona`; handoff notes for next role |
22
+ | Phase change (plan β†’ build) | Update Meta `phase` |
23
+
24
+ ---
25
+
26
+ ## Handoff checklist
27
+
28
+ - [ ] Meta: date, phase, tool, persona
29
+ - [ ] Goal still accurate (one paragraph)
30
+ - [ ] Done: bullets with paths/commits
31
+ - [ ] In progress + blockers
32
+ - [ ] Next: numbered for next agent
33
+ - [ ] Decisions: non-obvious choices
34
+ - [ ] Gotchas: failures, test commands, env
35
+ - [ ] Pointers: spec, tasks, branch, key files
36
+ - [ ] `tasks/todo.md` synced
37
+ - [ ] No secrets or PII in SESSION
38
+
39
+ ---
40
+
41
+ ## Resume checklist
42
+
43
+ - [ ] Read `.agent/SESSION.md`
44
+ - [ ] Read `tasks/todo.md` if linked
45
+ - [ ] Read SPEC if linked
46
+ - [ ] `git status` vs SESSION expectations
47
+ - [ ] Run sanity build/test if Gotchas say so
48
+ - [ ] Post resumption summary to user
49
+ - [ ] Execute first **Next** step via workflow command
50
+
51
+ ---
52
+
53
+ ## SESSION schema
54
+
55
+ See **`.agent/SESSION.template.md`** for the canonical sections.
56
+
57
+ ---
58
+
59
+ ## Commands
60
+
61
+ | Command | File |
62
+ |---------|------|
63
+ | `/handoff` | `.cursor/commands/handoff.md` (`.claude/`, `.kiro/`) |
64
+ | `/resume` | `.cursor/commands/resume.md` |
65
+
66
+ ---
67
+
68
+ ## Optional history
69
+
70
+ Copy SESSION to `.agent/history/YYYY-MM-DD-slug.md` at milestones; commit for audit trail.
@@ -0,0 +1,288 @@
1
+ # ui-ux-pro-max
2
+
3
+ Comprehensive design guide for web and mobile applications. Contains 67 styles, 96 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 13 technology stacks. Searchable database with priority-based recommendations.
4
+
5
+ ## Prerequisites
6
+
7
+ Check if Python is installed:
8
+
9
+ ```bash
10
+ python3 --version || python --version
11
+ ```
12
+
13
+ If Python is not installed, install it based on user's OS:
14
+
15
+ **macOS:**
16
+ ```bash
17
+ brew install python3
18
+ ```
19
+
20
+ **Ubuntu/Debian:**
21
+ ```bash
22
+ sudo apt update && sudo apt install python3
23
+ ```
24
+
25
+ **Windows:**
26
+ ```powershell
27
+ winget install Python.Python.3.12
28
+ ```
29
+
30
+ ---
31
+
32
+ ## How to Use This Skill
33
+
34
+ When user requests UI/UX work (design, build, create, implement, review, fix, improve), follow this workflow:
35
+
36
+ ### Step 1: Analyze User Requirements
37
+
38
+ Extract key information from user request:
39
+ - **Product type**: SaaS, e-commerce, portfolio, dashboard, landing page, etc.
40
+ - **Style keywords**: minimal, playful, professional, elegant, dark mode, etc.
41
+ - **Industry**: healthcare, fintech, gaming, education, etc.
42
+ - **Stack**: React, Vue, Next.js, or default to `html-tailwind`
43
+
44
+ ### Step 2: Generate Design System (REQUIRED)
45
+
46
+ **Always start with `--design-system`** to get comprehensive recommendations with reasoning:
47
+
48
+ ```bash
49
+ python3 skills/ui-ux-pro-max/scripts/search.py "<product_type> <industry> <keywords>" --design-system [-p "Project Name"]
50
+ ```
51
+
52
+ This command:
53
+ 1. Searches 5 domains in parallel (product, style, color, landing, typography)
54
+ 2. Applies reasoning rules from `ui-reasoning.csv` to select best matches
55
+ 3. Returns complete design system: pattern, style, colors, typography, effects
56
+ 4. Includes anti-patterns to avoid
57
+
58
+ **Example:**
59
+ ```bash
60
+ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"
61
+ ```
62
+
63
+ ### Step 2b: Persist Design System (Master + Overrides Pattern)
64
+
65
+ To save the design system for hierarchical retrieval across sessions, add `--persist`:
66
+
67
+ ```bash
68
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name"
69
+ ```
70
+
71
+ This creates:
72
+ - `design-system/MASTER.md` β€” Global Source of Truth with all design rules
73
+ - `design-system/pages/` β€” Folder for page-specific overrides
74
+
75
+ **With page-specific override:**
76
+ ```bash
77
+ python3 skills/ui-ux-pro-max/scripts/search.py "<query>" --design-system --persist -p "Project Name" --page "dashboard"
78
+ ```
79
+
80
+ This also creates:
81
+ - `design-system/pages/dashboard.md` β€” Page-specific deviations from Master
82
+
83
+ **How hierarchical retrieval works:**
84
+ 1. When building a specific page (e.g., "Checkout"), first check `design-system/pages/checkout.md`
85
+ 2. If the page file exists, its rules **override** the Master file
86
+ 3. If not, use `design-system/MASTER.md` exclusively
87
+
88
+ ### Step 3: Supplement with Detailed Searches (as needed)
89
+
90
+ After getting the design system, use domain searches to get additional details:
91
+
92
+ ```bash
93
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --domain <domain> [-n <max_results>]
94
+ ```
95
+
96
+ **When to use detailed searches:**
97
+
98
+ | Need | Domain | Example |
99
+ |------|--------|---------|
100
+ | More style options | `style` | `--domain style "glassmorphism dark"` |
101
+ | Chart recommendations | `chart` | `--domain chart "real-time dashboard"` |
102
+ | UX best practices | `ux` | `--domain ux "animation accessibility"` |
103
+ | Alternative fonts | `typography` | `--domain typography "elegant luxury"` |
104
+ | Landing structure | `landing` | `--domain landing "hero social-proof"` |
105
+
106
+ ### Step 4: Stack Guidelines (Default: html-tailwind)
107
+
108
+ Get implementation-specific best practices. If user doesn't specify a stack, **default to `html-tailwind`**.
109
+
110
+ ```bash
111
+ python3 skills/ui-ux-pro-max/scripts/search.py "<keyword>" --stack html-tailwind
112
+ ```
113
+
114
+ Available stacks: `html-tailwind`, `react`, `nextjs`, `vue`, `svelte`, `swiftui`, `react-native`, `flutter`, `shadcn`, `jetpack-compose`
115
+
116
+ ---
117
+
118
+ ## Search Reference
119
+
120
+ ### Available Domains
121
+
122
+ | Domain | Use For | Example Keywords |
123
+ |--------|---------|------------------|
124
+ | `product` | Product type recommendations | SaaS, e-commerce, portfolio, healthcare, beauty, service |
125
+ | `style` | UI styles, colors, effects | glassmorphism, minimalism, dark mode, brutalism |
126
+ | `typography` | Font pairings, Google Fonts | elegant, playful, professional, modern |
127
+ | `color` | Color palettes by product type | saas, ecommerce, healthcare, beauty, fintech, service |
128
+ | `landing` | Page structure, CTA strategies | hero, hero-centric, testimonial, pricing, social-proof |
129
+ | `chart` | Chart types, library recommendations | trend, comparison, timeline, funnel, pie |
130
+ | `ux` | Best practices, anti-patterns | animation, accessibility, z-index, loading |
131
+ | `react` | React/Next.js performance | waterfall, bundle, suspense, memo, rerender, cache |
132
+ | `web` | Web interface guidelines | aria, focus, keyboard, semantic, virtualize |
133
+ | `prompt` | AI prompts, CSS keywords | (style name) |
134
+
135
+ ### Available Stacks
136
+
137
+ | Stack | Focus |
138
+ |-------|-------|
139
+ | `html-tailwind` | Tailwind utilities, responsive, a11y (DEFAULT) |
140
+ | `react` | State, hooks, performance, patterns |
141
+ | `nextjs` | SSR, routing, images, API routes |
142
+ | `vue` | Composition API, Pinia, Vue Router |
143
+ | `svelte` | Runes, stores, SvelteKit |
144
+ | `swiftui` | Views, State, Navigation, Animation |
145
+ | `react-native` | Components, Navigation, Lists |
146
+ | `flutter` | Widgets, State, Layout, Theming |
147
+ | `shadcn` | shadcn/ui components, theming, forms, patterns |
148
+ | `jetpack-compose` | Composables, Modifiers, State Hoisting, Recomposition |
149
+
150
+ ---
151
+
152
+ ## Example Workflow
153
+
154
+ **User request:** "LΓ m landing page cho dα»‹ch vα»₯ chΔƒm sΓ³c da chuyΓͺn nghiệp"
155
+
156
+ ### Step 1: Analyze Requirements
157
+ - Product type: Beauty/Spa service
158
+ - Style keywords: elegant, professional, soft
159
+ - Industry: Beauty/Wellness
160
+ - Stack: html-tailwind (default)
161
+
162
+ ### Step 2: Generate Design System (REQUIRED)
163
+
164
+ ```bash
165
+ python3 skills/ui-ux-pro-max/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"
166
+ ```
167
+
168
+ **Output:** Complete design system with pattern, style, colors, typography, effects, and anti-patterns.
169
+
170
+ ### Step 3: Supplement with Detailed Searches (as needed)
171
+
172
+ ```bash
173
+ # Get UX guidelines for animation and accessibility
174
+ python3 skills/ui-ux-pro-max/scripts/search.py "animation accessibility" --domain ux
175
+
176
+ # Get alternative typography options if needed
177
+ python3 skills/ui-ux-pro-max/scripts/search.py "elegant luxury serif" --domain typography
178
+ ```
179
+
180
+ ### Step 4: Stack Guidelines
181
+
182
+ ```bash
183
+ python3 skills/ui-ux-pro-max/scripts/search.py "layout responsive form" --stack html-tailwind
184
+ ```
185
+
186
+ **Then:** Synthesize design system + detailed searches and implement the design.
187
+
188
+ ---
189
+
190
+ ## Output Formats
191
+
192
+ The `--design-system` flag supports two output formats:
193
+
194
+ ```bash
195
+ # ASCII box (default) - best for terminal display
196
+ python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system
197
+
198
+ # Markdown - best for documentation
199
+ python3 skills/ui-ux-pro-max/scripts/search.py "fintech crypto" --design-system -f markdown
200
+ ```
201
+
202
+ ---
203
+
204
+ ## Tips for Better Results
205
+
206
+ 1. **Be specific with keywords** - "healthcare SaaS dashboard" > "app"
207
+ 2. **Search multiple times** - Different keywords reveal different insights
208
+ 3. **Combine domains** - Style + Typography + Color = Complete design system
209
+ 4. **Always check UX** - Search "animation", "z-index", "accessibility" for common issues
210
+ 5. **Use stack flag** - Get implementation-specific best practices
211
+ 6. **Iterate** - If first search doesn't match, try different keywords
212
+
213
+ ---
214
+
215
+ ## Common Rules for Professional UI
216
+
217
+ These are frequently overlooked issues that make UI look unprofessional:
218
+
219
+ ### Icons & Visual Elements
220
+
221
+ | Rule | Do | Don't |
222
+ |------|----|----- |
223
+ | **No emoji icons** | Use SVG icons (Heroicons, Lucide, Simple Icons) | Use emojis like 🎨 πŸš€ βš™οΈ as UI icons |
224
+ | **Stable hover states** | Use color/opacity transitions on hover | Use scale transforms that shift layout |
225
+ | **Correct brand logos** | Research official SVG from Simple Icons | Guess or use incorrect logo paths |
226
+ | **Consistent icon sizing** | Use fixed viewBox (24x24) with w-6 h-6 | Mix different icon sizes randomly |
227
+
228
+ ### Interaction & Cursor
229
+
230
+ | Rule | Do | Don't |
231
+ |------|----|----- |
232
+ | **Cursor pointer** | Add `cursor-pointer` to all clickable/hoverable cards | Leave default cursor on interactive elements |
233
+ | **Hover feedback** | Provide visual feedback (color, shadow, border) | No indication element is interactive |
234
+ | **Smooth transitions** | Use `transition-colors duration-200` | Instant state changes or too slow (>500ms) |
235
+
236
+ ### Light/Dark Mode Contrast
237
+
238
+ | Rule | Do | Don't |
239
+ |------|----|----- |
240
+ | **Glass card light mode** | Use `bg-white/80` or higher opacity | Use `bg-white/10` (too transparent) |
241
+ | **Text contrast light** | Use `#0F172A` (slate-900) for text | Use `#94A3B8` (slate-400) for body text |
242
+ | **Muted text light** | Use `#475569` (slate-600) minimum | Use gray-400 or lighter |
243
+ | **Border visibility** | Use `border-gray-200` in light mode | Use `border-white/10` (invisible) |
244
+
245
+ ### Layout & Spacing
246
+
247
+ | Rule | Do | Don't |
248
+ |------|----|----- |
249
+ | **Floating navbar** | Add `top-4 left-4 right-4` spacing | Stick navbar to `top-0 left-0 right-0` |
250
+ | **Content padding** | Account for fixed navbar height | Let content hide behind fixed elements |
251
+ | **Consistent max-width** | Use same `max-w-6xl` or `max-w-7xl` | Mix different container widths |
252
+
253
+ ---
254
+
255
+ ## Pre-Delivery Checklist
256
+
257
+ Before delivering UI code, verify these items:
258
+
259
+ ### Visual Quality
260
+ - [ ] No emojis used as icons (use SVG instead)
261
+ - [ ] All icons from consistent icon set (Heroicons/Lucide)
262
+ - [ ] Brand logos are correct (verified from Simple Icons)
263
+ - [ ] Hover states don't cause layout shift
264
+ - [ ] Use theme colors directly (bg-primary) not var() wrapper
265
+
266
+ ### Interaction
267
+ - [ ] All clickable elements have `cursor-pointer`
268
+ - [ ] Hover states provide clear visual feedback
269
+ - [ ] Transitions are smooth (150-300ms)
270
+ - [ ] Focus states visible for keyboard navigation
271
+
272
+ ### Light/Dark Mode
273
+ - [ ] Light mode text has sufficient contrast (4.5:1 minimum)
274
+ - [ ] Glass/transparent elements visible in light mode
275
+ - [ ] Borders visible in both modes
276
+ - [ ] Test both modes before delivery
277
+
278
+ ### Layout
279
+ - [ ] Floating elements have proper spacing from edges
280
+ - [ ] No content hidden behind fixed navbars
281
+ - [ ] Responsive at 375px, 768px, 1024px, 1440px
282
+ - [ ] No horizontal scroll on mobile
283
+
284
+ ### Accessibility
285
+ - [ ] All images have alt text
286
+ - [ ] Form inputs have labels
287
+ - [ ] Color is not the only indicator
288
+ - [ ] `prefers-reduced-motion` respected
@@ -0,0 +1,26 @@
1
+ No,Data Type,Keywords,Best Chart Type,Secondary Options,Color Guidance,Performance Impact,Accessibility Notes,Library Recommendation,Interactive Level
2
+ 1,Trend Over Time,"trend, time-series, line, growth, timeline, progress",Line Chart,"Area Chart, Smooth Area",Primary: #0080FF. Multiple series: use distinct colors. Fill: 20% opacity,⚑ Excellent (optimized),βœ“ Clear line patterns for colorblind users. Add pattern overlays.,"Chart.js, Recharts, ApexCharts",Hover + Zoom
3
+ 2,Compare Categories,"compare, categories, bar, comparison, ranking",Bar Chart (Horizontal or Vertical),"Column Chart, Grouped Bar",Each bar: distinct color. Category: grouped same color. Sorted: descending order,⚑ Excellent,βœ“ Easy to compare. Add value labels on bars for clarity.,"Chart.js, Recharts, D3.js",Hover + Sort
4
+ 3,Part-to-Whole,"part-to-whole, pie, donut, percentage, proportion, share",Pie Chart or Donut,"Stacked Bar, Treemap",Colors: 5-6 max. Contrasting palette. Large slices first. Use labels.,⚑ Good (limit 6 slices),⚠ Hard for accessibility. Better: Stacked bar with legend. Avoid pie if >5 items.,"Chart.js, Recharts, D3.js",Hover + Drill
5
+ 4,Correlation/Distribution,"correlation, distribution, scatter, relationship, pattern",Scatter Plot or Bubble Chart,"Heat Map, Matrix",Color axis: gradient (blue-red). Size: relative. Opacity: 0.6-0.8 to show density,⚠ Moderate (many points),⚠ Provide data table alternative. Use pattern + color distinction.,"D3.js, Plotly, Recharts",Hover + Brush
6
+ 5,Heatmap/Intensity,"heatmap, heat-map, intensity, density, matrix",Heat Map or Choropleth,"Grid Heat Map, Bubble Heat",Gradient: Cool (blue) to Hot (red). Scale: clear legend. Divergent for ±data,⚑ Excellent (color CSS),⚠ Colorblind: Use pattern overlay. Provide numerical legend.,"D3.js, Plotly, ApexCharts",Hover + Zoom
7
+ 6,Geographic Data,"geographic, map, location, region, geo, spatial","Choropleth Map, Bubble Map",Geographic Heat Map,Regional: single color gradient or categorized colors. Legend: clear scale,⚠ Moderate (rendering),⚠ Include text labels for regions. Provide data table alternative.,"D3.js, Mapbox, Leaflet",Pan + Zoom + Drill
8
+ 7,Funnel/Flow,funnel/flow,"Funnel Chart, Sankey",Waterfall (for flows),Stages: gradient (starting color β†’ ending color). Show conversion %,⚑ Good,βœ“ Clear stage labels + percentages. Good for accessibility if labeled.,"D3.js, Recharts, Custom SVG",Hover + Drill
9
+ 8,Performance vs Target,performance-vs-target,Gauge Chart or Bullet Chart,"Dial, Thermometer",Performance: Redβ†’Yellowβ†’Green gradient. Target: marker line. Threshold colors,⚑ Good,βœ“ Add numerical value + percentage label beside gauge.,"D3.js, ApexCharts, Custom SVG",Hover
10
+ 9,Time-Series Forecast,time-series-forecast,Line with Confidence Band,Ribbon Chart,Actual: solid line #0080FF. Forecast: dashed #FF9500. Band: light shading,⚑ Good,βœ“ Clearly distinguish actual vs forecast. Add legend.,"Chart.js, ApexCharts, Plotly",Hover + Toggle
11
+ 10,Anomaly Detection,anomaly-detection,Line Chart with Highlights,Scatter with Alert,Normal: blue #0080FF. Anomaly: red #FF0000 circle/square marker + alert,⚑ Good,βœ“ Circle/marker for anomalies. Add text alert annotation.,"D3.js, Plotly, ApexCharts",Hover + Alert
12
+ 11,Hierarchical/Nested Data,hierarchical/nested-data,Treemap,"Sunburst, Nested Donut, Icicle",Parent: distinct hues. Children: lighter shades. White borders 2-3px.,⚠ Moderate,⚠ Poor - provide table alternative. Label large areas.,"D3.js, Recharts, ApexCharts",Hover + Drilldown
13
+ 12,Flow/Process Data,flow/process-data,Sankey Diagram,"Alluvial, Chord Diagram",Gradient from source to target. Opacity 0.4-0.6 for flows.,⚠ Moderate,⚠ Poor - provide flow table alternative.,"D3.js (d3-sankey), Plotly",Hover + Drilldown
14
+ 13,Cumulative Changes,cumulative-changes,Waterfall Chart,"Stacked Bar, Cascade",Increases: #4CAF50. Decreases: #F44336. Start: #2196F3. End: #0D47A1.,⚑ Good,βœ“ Good - clear directional colors with labels.,"ApexCharts, Highcharts, Plotly",Hover
15
+ 14,Multi-Variable Comparison,multi-variable-comparison,Radar/Spider Chart,"Parallel Coordinates, Grouped Bar",Single: #0080FF 20% fill. Multiple: distinct colors per dataset.,⚑ Good,⚠ Moderate - limit 5-8 axes. Add data table.,"Chart.js, Recharts, ApexCharts",Hover + Toggle
16
+ 15,Stock/Trading OHLC,stock/trading-ohlc,Candlestick Chart,"OHLC Bar, Heikin-Ashi",Bullish: #26A69A. Bearish: #EF5350. Volume: 40% opacity below.,⚑ Good,⚠ Moderate - provide OHLC data table.,"Lightweight Charts (TradingView), ApexCharts",Real-time + Hover + Zoom
17
+ 16,Relationship/Connection Data,relationship/connection-data,Network Graph,"Hierarchical Tree, Adjacency Matrix",Node types: categorical colors. Edges: #90A4AE 60% opacity.,❌ Poor (500+ nodes struggles),❌ Very Poor - provide adjacency list alternative.,"D3.js (d3-force), Vis.js, Cytoscape.js",Drilldown + Hover + Drag
18
+ 17,Distribution/Statistical,distribution/statistical,Box Plot,"Violin Plot, Beeswarm",Box: #BBDEFB. Border: #1976D2. Median: #D32F2F. Outliers: #F44336.,⚑ Excellent,"βœ“ Good - include stats table (min, Q1, median, Q3, max).","Plotly, D3.js, Chart.js (plugin)",Hover
19
+ 18,Performance vs Target (Compact),performance-vs-target-(compact),Bullet Chart,"Gauge, Progress Bar","Ranges: #FFCDD2, #FFF9C4, #C8E6C9. Performance: #1976D2. Target: black 3px.",⚑ Excellent,βœ“ Excellent - compact with clear values.,"D3.js, Plotly, Custom SVG",Hover
20
+ 19,Proportional/Percentage,proportional/percentage,Waffle Chart,"Pictogram, Stacked Bar 100%",10x10 grid. 3-5 categories max. 2-3px spacing between squares.,⚑ Good,βœ“ Good - better than pie for accessibility.,"D3.js, React-Waffle, Custom CSS Grid",Hover
21
+ 20,Hierarchical Proportional,hierarchical-proportional,Sunburst Chart,"Treemap, Icicle, Circle Packing",Center to outer: darker to lighter. 15-20% lighter per level.,⚠ Moderate,⚠ Poor - provide hierarchy table alternative.,"D3.js (d3-hierarchy), Recharts, ApexCharts",Drilldown + Hover
22
+ 21,Root Cause Analysis,"root cause, decomposition, tree, hierarchy, drill-down, ai-split",Decomposition Tree,"Decision Tree, Flow Chart",Nodes: #2563EB (Primary) vs #EF4444 (Negative impact). Connectors: Neutral grey.,⚠ Moderate (calculation heavy),βœ“ clear hierarchy. Allow keyboard navigation for nodes.,"Power BI (native), React-Flow, Custom D3.js",Drill + Expand
23
+ 22,3D Spatial Data,"3d, spatial, immersive, terrain, molecular, volumetric",3D Scatter/Surface Plot,"Volumetric Rendering, Point Cloud",Depth cues: lighting/shading. Z-axis: color gradient (cool to warm).,❌ Heavy (WebGL required),❌ Poor - requires alternative 2D view or data table.,"Three.js, Deck.gl, Plotly 3D",Rotate + Zoom + VR
24
+ 23,Real-Time Streaming,"streaming, real-time, ticker, live, velocity, pulse",Streaming Area Chart,"Ticker Tape, Moving Gauge",Current: Bright Pulse (#00FF00). History: Fading opacity. Grid: Dark.,⚑ Optimized (canvas/webgl),⚠ Flashing elements - provide pause button. High contrast.,Smoothed D3.js, CanvasJS
25
+ 24,Sentiment/Emotion,"sentiment, emotion, nlp, opinion, feeling",Word Cloud with Sentiment,"Sentiment Arc, Radar Chart",Positive: #22C55E. Negative: #EF4444. Neutral: #94A3B8. Size = Frequency.,⚑ Good,⚠ Word clouds poor for screen readers. Use list view.,"D3-cloud, Highcharts, Nivo",Hover + Filter
26
+ 25,Process Mining,"process, mining, variants, path, bottleneck, log",Process Map / Graph,"Directed Acyclic Graph (DAG), Petri Net",Happy path: #10B981 (Thick). Deviations: #F59E0B (Thin). Bottlenecks: #EF4444.,⚠ Moderate to Heavy,⚠ Complex graphs hard to navigate. Provide path summary.,"React-Flow, Cytoscape.js, Recharts",Drag + Node-Click