원클릭으로
ux-gap-detector
SaaS UX gap audit
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
SaaS UX gap audit
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create a GitHub PR for completed work, then run coderabbit-resolver through review, CI, merge, and cleanup. Use when: the user asks for PR creation followed by CodeRabbit resolution. Keywords: create PR, CodeRabbit, merge.
Secure pnpm GitHub Actions CI
Live onboarding tour of newly implemented code. Combines /deep-trace, the vscode-debug-mcp bridge, and playwright-cli to run the target app in a debug session, drive the UI, pause at curated breakpoints inside the new code, and narrate "this modal is the newly created one" — mapping every UI moment to the exact file:line. Use when the user wants to understand where and how AI-written feature code executes in the running application ("どの UI / どのロジックで動くのか分からない", "オンボーディングして", "/feature-tour").
Screenshot UI defect lint
Debug Claude Code plugins
Record a web or Electron-renderer flow as an annotated video with playwright-cli, then extract frames to confirm how it actually looks. Use when the user points at a flow to capture — "record that part", "あそこの部分", "この一連の動作", "動作確認して録画して", QA-ing a screen's motion/behavior, or proving a web / Electron-renderer interaction works on video. For analyzing a clip you were handed or generic cross-surface motion verification, use the `video` skill; for native macOS chrome (menu / tray / dock / traffic-lights) use computer-use — playwright cannot see those.
| name | ux-gap-detector |
| description | SaaS UX gap audit |
| argument-hint | [--category dashboard|data-management|form-workflow|navigation-shell|settings-profile] [target-url] |
| allowed-tools | Bash,Read,Write,Edit,Glob,Grep,AskUserQuestion,mcp__sequential-thinking__*,mcp__serena__* |
When running this skill in Codex, translate Claude Code-only primitives before acting: AskUserQuestion -> chat/request_user_input, TodoWrite -> update_plan, Task/TaskCreate/TeamCreate/SendMessage -> spawn_agent/send_input/wait_agent when available and allowed, and EnterPlanMode/ExitPlanMode -> a concise chat plan plus explicit approval.
Resolve Read/Write/Edit/Bash/WebSearch/WebFetch to Codex file/shell/web tools, and map ~/.claude/... paths to ~/.agents/... or ~/.codex/... unless the task explicitly targets Claude Code.
When running this skill in Cursor Agent, translate Claude Code-only primitives before acting: AskUserQuestion -> AskQuestion; TodoWrite -> Cursor TodoWrite or an equivalent checklist; Task/TaskCreate/TeamCreate/SendMessage/multi-agent flows -> Cursor Task (subagents), parallel Tasks, or run_in_background when allowed (TeamCreate/SendMessage may have no exact match); EnterPlanMode/ExitPlanMode -> Plan mode (SwitchMode / CreatePlan) plus explicit user approval.
Resolve Read/Write/Edit/StrReplace/Bash/web/search/MCP via Cursor Composer or Agent equivalents. MCP names written as mcp__server__tool typically map to call_mcp_tool with configured server identifiers. Map ~/.claude/... to ~/.cursor/skills/, .cursor/skills/, and .cursor/rules/ unless the task explicitly targets Claude Code.
Detect UI/UX quality gaps in authenticated SaaS web applications through live browser interaction using the user's logged-in session via playwright-cli.
/ux-gap-detector <- interactive: asks category + URL
/ux-gap-detector --category dashboard <- audit dashboard screens
/ux-gap-detector --category data-management <- audit tables, CRUD, search/filter
Prerequisite: The user must be logged into their app in Chrome with the playwright-cli extension connected.
Before any browser interaction: invoke /dnd to load the drag-and-drop verification protocol. Required even when DnD is not yet known to be involved — ref-based drag returns false success on dnd-kit and similar libraries.
browser_screenshot to confirm the extension is activebrowser_navigate to it.
Otherwise ask the user:AskUserQuestion:
"What is your app's URL? (You must already be logged in via Chrome)"
Options:
- "http://localhost:3000"
- "http://localhost:5173"
- "http://localhost:8080"
(User can type custom URL)
AskUserQuestion:
"Which area of your app should I audit?"
Options:
- "Dashboard" (overview, widgets, charts, KPIs)
- "Data Management" (tables, lists, CRUD, search/filter)
- "Form Workflow" (multi-step forms, input validation, submission)
- "Navigation Shell" (sidebar, top-bar, command palette, breadcrumbs)
- "Settings & Profile" (user settings, preferences, account)
mkdir -p docs/ux-gap-reports/screenshots
docs/ux-gap-reports/YYYY-MM-DD-{category}.mdUsing the authenticated session, explore the app structure:
browser_screenshot to see the logged-in appbrowser_snapshot to get the accessibility treeExecute the scenarios defined in categories.md for the selected category.
For EACH step in each scenario:
browser_snapshot to get element refsbrowser_click on nav links or browser_navigatebrowser_click, browser_hoverbrowser_typebrowser_select_optionbrowser_press_keybrowser_wait (1-3 seconds for transitions)browser_screenshot after the actiondocs/ux-gap-reports/screenshots/target-{scenario}-{step}.pngUse mcp__sequential-thinking__sequentialthinking to analyze each dimension:
For each captured screenshot:
Apply the scoring rubric from scoring-rubric.md:
Overall Score = Sum of all dimensions (0-100)
Reference benchmarks (what top-tier looks like):
For each gap scored below 75:
Write the Markdown report to docs/ux-gap-reports/YYYY-MM-DD-{category}.md:
# UX Gap Report: {project-name} -- {category}
**Date**: YYYY-MM-DD
**Target**: {target-url}
**Category**: {category}
**Session**: Authenticated (user's browser profile via playwright-cli)
## Overall Score: {score}/100
| Dimension | Score | Verdict |
|-----------|-------|---------|
| Typography & Spacing | {n}/25 | {Excellent/Good/Needs Work/Poor/Critical} |
| Interactive States | {n}/25 | {verdict} |
| Content Hierarchy | {n}/25 | {verdict} |
| Loading & Error UX | {n}/25 | {verdict} |
---
## Critical Gaps (Score < 50)
### 1. {Gap Title} ({score}/{max})
**What top-tier apps do**: {description, referencing Linear/Notion/Stripe etc.}
**Your app**:

**Gap**: {Specific description}
**Fix**: {Actionable recommendation with code example}
---
## Moderate Gaps (Score 50-75)
...
## Strengths (Score > 75)
...
## Recommendations Summary
| Priority | Gap | Estimated Effort |
|----------|-----|-----------------|
| Critical | ... | ... |
| Moderate | ... | ... |
AskUserQuestion (multiSelect: true):
"Which gaps should be registered as GitHub Issues?"
Options: [list of Critical and Moderate gaps with scores]
gh issue create \
--title "UX Gap: {gap-title}" \
--label "ux-gap,priority/{level}" \
--body "$(cat <<'EOF'
## Gap Detection
**Dimension**: {dimension}
**Score**: {score}/{max}
**Detected**: {date}
## Description
{gap description}
## Screenshots
{screenshot or description}
## Recommended Fix
{actionable fix with code examples}
## Acceptance Criteria
- [ ] Gap score improves to >= 75/{max} on re-audit
EOF
)"
browser_snapshot -> get element refs
browser_click(ref) -> interact with element
browser_wait(1-2s) -> wait for transitions
browser_screenshot -> capture result
Always browser_snapshot before interacting to get fresh element refs.
| Will Do | Will NOT Do |
|---|---|
| Use the user's authenticated session | Log into any service |
| Navigate within the app via links/routes | Perform destructive actions (delete, modify data) |
| Take screenshots at each step | Change app settings or preferences |
| Hover/click to test interactive states | Submit real forms with production data |
| Score across 4 dimensions | Access pages the user hasn't navigated to before |
| Generate actionable report | Bypass any security measures |
| Create GitHub Issues | Close the user's browser tabs |