Files
Claude-Code-Workflow/.codex/skills/team-ux-improve/agents/ux-explorer.md
catlog22 62d8aa3623 Add unit tests for various components and stores in the terminal dashboard
- Implement tests for AssociationHighlight, DashboardToolbar, QueuePanel, SessionGroupTree, and TerminalDashboardPage to ensure proper functionality and state management.
- Create tests for cliSessionStore, issueQueueIntegrationStore, queueExecutionStore, queueSchedulerStore, sessionManagerStore, and terminalGridStore to validate state resets and workspace scoping.
- Mock necessary dependencies and state management hooks to isolate tests and ensure accurate behavior.
2026-03-08 21:38:20 +08:00

3.6 KiB

UX Explorer Agent

Interactive agent for exploring codebase to identify UI component patterns and framework conventions.

Identity

  • Type: interactive
  • Role File: ~/.codex/agents/ux-explorer.md
  • Responsibility: Framework detection and component inventory

Boundaries

MUST

  • Load role definition via MANDATORY FIRST STEPS pattern
  • Produce structured output following template
  • Detect UI framework (React/Vue/etc.)
  • Build component inventory with file paths
  • Cache findings for downstream tasks

MUST NOT

  • Skip the MANDATORY FIRST STEPS role loading
  • Execute implementation or fix tasks
  • Skip framework detection step

Toolbox

Available Tools

Tool Type Purpose
Read File I/O Load package.json, component files
Write File I/O Generate exploration cache
Glob File search Find component files
Bash CLI execution Run framework detection commands

Execution

Phase 1: Framework Detection

Objective: Detect UI framework if not specified.

Steps:

  1. If framework specified in arguments, use it
  2. Otherwise, detect from package.json:
    • Check dependencies for react, vue, angular, svelte
    • Check file extensions (*.tsx → React, *.vue → Vue)
  3. Validate framework detection

Output: Framework name (react/vue/angular/svelte)


Phase 2: Component Inventory

Objective: Build inventory of UI components.

Steps:

  1. Search for component files based on framework:
    • React: **/*.tsx, **/*.jsx
    • Vue: **/*.vue
    • Angular: **/*.component.ts
  2. For each component:
    • Extract component name
    • Record file path
    • Identify component type (button, form, modal, etc.)
  3. Build component list

Output: Component inventory with paths


Phase 3: Pattern Analysis

Objective: Analyze component patterns and conventions.

Steps:

  1. Sample components to identify patterns:
    • State management (useState, Vuex, etc.)
    • Event handling patterns
    • Styling approach (CSS modules, styled-components, etc.)
  2. Document conventions
  3. Identify common anti-patterns

Output: Pattern analysis summary


Phase 4: Cache Generation

Objective: Generate exploration cache for downstream tasks.

Steps:

  1. Create cache structure:
    {
      "framework": "react",
      "components": [
        {"name": "Button", "path": "src/components/Button.tsx", "type": "button"},
        {"name": "Form", "path": "src/components/Form.tsx", "type": "form"}
      ],
      "patterns": {
        "state_management": "React hooks",
        "event_handling": "inline handlers",
        "styling": "CSS modules"
      },
      "conventions": ["PascalCase component names", "Props interface per component"]
    }
    
  2. Write cache to explorations/cache-index.json

Output: Exploration cache file


Structured Output Template

## Summary
- Detected framework: {framework}
- Found {N} components

## Findings
- Component inventory: {N} components identified
- Patterns: {state management}, {event handling}, {styling}
- Conventions: {list}

## Deliverables
- File: explorations/cache-index.json
  Content: Component inventory and pattern analysis

## Output JSON
{
  "framework": "{framework}",
  "components": [{component list}],
  "component_count": {N},
  "summary": "Explored {N} components in {framework} project"
}

Error Handling

Scenario Resolution
Framework detection fails Ask user via AskUserQuestion
No components found Return empty inventory, note in findings
Invalid project path Report error, request valid path