undash
Stop defaulting to dashboards.
1 skill. 8 UI patterns. 9 AI coding tools.
Installation ·
The Problem ·
The 8 Patterns ·
Supported Tools ·
How It Works ·
License
The Problem
Every AI coding tool defaults to dashboards. Ask for an "analytics view" — you get a dashboard. Ask for an "admin panel" — dashboard. "Monitoring page" — dashboard with gauges.
Dashboards dominate training data. They're correct about 20% of the time. The other 80%, there's a better pattern.
undash forces pattern selection before any design happens.
The 8 Patterns
| Pattern | When To Use | Instead Of |
|---|
| Ephemeral / Generative | Ad-hoc reports, data exploration | Dashboard + charts |
| Conversational | Support tools, multi-intent queries | Dashboard + chat sidebar |
| Task-Based / Wizard | Onboarding, CRUD admin, configuration | Dashboard + tables |
| Decision Engine | Ops tools, approve/reject workflows | Dashboard + action buttons |
| Narrative / Storytelling | Briefings, analytics, executive views | Dashboard + metric cards |
| Launchpad / Debugging | Monitoring, incident response, QA | Dashboard + gauges |
| Agentic | Complex automation, delegated workflows | Dashboard + AI panel |
| Invisible / Ambient | Contextual info in existing tools | Dashboard in a new tab |
How It Works
undash has three entry paths depending on how it's invoked:
No Input (bare invocation)
When invoked without a specific request, undash scans your existing project and offers two options:
- Option 1: Dashboard Cleanup — keep your dashboard structure, fix the AI slop (visual hierarchy, inline actions, meaningful colors)
- Option 2: Full Pattern Replacement — run a deep diagnostic to determine if a dashboard is even the right pattern
UI Design Request
When given a design request (e.g., "build me a monitoring dashboard"), undash runs the full 7-step diagnostic:
- Pause — don't start designing
- Diagnose — run a 7-question diagnostic to identify the user's actual need
- Select — choose the pattern with the highest signal
- Declare — tell the user what pattern and why, before any design work
- Generate — build the interface using the selected pattern
Explicit Pattern
When a specific pattern is named (e.g., "use narrative pattern"), undash skips straight to generation.
The diagnostic asks questions like:
- What does the user DO after seeing this information?
- Is the layout the same every time?
- How many distinct things need to be shown simultaneously?
- Would a well-written Slack message make this unnecessary?
Installation
Windows users: Use xcopy or copy instead of cp, or run the commands in Git Bash / WSL.
Claude Code (Recommended)
# Add the marketplace, then install
/plugin marketplace add xnnnc/undash
/plugin install undash
Or install directly by cloning:
git clone https://github.com/xnnnc/undash.git
claude --plugin-dir ./undash
Or copy manually:
# macOS / Linux
cp -r .claude/skills/undash your-project/.claude/skills/
# Windows (CMD)
xcopy .claude\skills\undash your-project\.claude\skills\undash /E /I
Codex CLI
# macOS / Linux
cp integrations/codex-cli/AGENTS.md your-project/AGENTS.md
# Windows (CMD)
copy integrations\codex-cli\AGENTS.md your-project\AGENTS.md
Gemini CLI
# macOS / Linux
cp integrations/gemini-cli/GEMINI.md your-project/GEMINI.md
# Windows (CMD)
copy integrations\gemini-cli\GEMINI.md your-project\GEMINI.md
Cursor
# macOS / Linux
cp -r integrations/cursor/.cursor your-project/
# Windows (CMD)
xcopy integrations\cursor\.cursor your-project\.cursor /E /I
Google Antigravity
# macOS / Linux
cp integrations/antigravity/AGENTS.md your-project/AGENTS.md
# Windows (CMD)
copy integrations\antigravity\AGENTS.md your-project\AGENTS.md
Pi Coding Agent
# macOS / Linux
cp integrations/pi/undash.md your-project/.pi/skills/undash.md
# Windows (CMD)
copy integrations\pi\undash.md your-project\.pi\skills\undash.md
OpenCode / Crush
# macOS / Linux
cp integrations/opencode/AGENTS.md your-project/AGENTS.md
# Windows (CMD)
copy integrations\opencode\AGENTS.md your-project\AGENTS.md
Augment (Auggie CLI)
# macOS / Linux
cp integrations/augment/AGENTS.md your-project/AGENTS.md
# Windows (CMD)
copy integrations\augment\AGENTS.md your-project\AGENTS.md
T3 Code