Fluxwing Component Viewer
View detailed information about a specific uxscii component including metadata, states, props, and ASCII preview. Use when working with .uxm files, when user wants to see, view, inspect, or get details about a .uxm component.
What this skill does
# Fluxwing Component Viewer
View detailed information about a specific uxscii component from any source.
## Data Location Rules
**READ from (bundled templates - reference only):**
- `{SKILL_ROOT}/../uxscii-component-creator/templates/` - 11 component templates
- `{SKILL_ROOT}/../uxscii-screen-scaffolder/templates/` - 2 screen examples (if available)
**READ from (project workspace):**
- `./fluxwing/components/` - Your created components
- `./fluxwing/library/` - Customized template copies
- `./fluxwing/screens/` - Your created screens
**NEVER write - this is a read-only viewer!**
## Your Task
Display comprehensive details about a single uxscii component, including metadata, ASCII template preview, and context-appropriate actions.
## Component Lookup Process
### 1. Parse Component Name
- Extract component name from user request
- If no name provided: Ask "Which component would you like to view?"
- Normalize name to lowercase with hyphens
### 2. Search Priority Order (Stop at First Match)
Search these locations in order and stop at the first match:
1. **Project Components**: `./fluxwing/components/[name].uxm`
- User/agent-created custom components
- Fully editable
- Tag as: "Your Component"
2. **Project Library**: `./fluxwing/library/[name].uxm`
- Customized copies of bundled templates
- Fully editable
- Tag as: "Your Library"
3. **Bundled Templates**: `{SKILL_ROOT}/../uxscii-component-creator/templates/[name].uxm`
- Read-only reference templates
- Must be copied to edit
- Tag as: "Bundled Template"
**Important**: Stop searching after first match. If found in bundled templates, check if it also exists in user's project and add a note: "๐ก You also have a customized version in ./fluxwing/library/"
### 3. Read Component Files
For the matched component, read both files:
- `[name].uxm` - JSON metadata
- `[name].md` - ASCII template
## Display Format
### Concise View (Default)
Present component information in a clean, scannable format:
```
๐ PRIMARY-BUTTON
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ Source: Bundled Template
๐ Location: Component Creator Templates
โฑ๏ธ Modified: 2024-10-11 10:30:00
๐ Version: 1.0.0
Description:
Standard clickable button with hover, focus, and disabled states
Component Details:
โข Type: button
โข Props: text (string), variant (string), disabled (boolean)
โข States: default, hover, focus, disabled
โข Accessibility: โ Role (button), โ Focusable, โ Keyboard (Space, Enter)
ASCII Template Preview (first 20 lines):
Default State:
โโโโโโโโโโโโ
โ {{text}} โ
โโโโโโโโโโโโ
Hover State:
โโโโโโโโโโโโโ
โโ {{text}} โโ
โโโโโโโโโโโโ
Disabled State:
โ โ โ โ โ โโ
โ {{text}} โ
โ โ โ โ โ โโ
[... 1 more state]
Template has 4 states total. View full template?
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
### Format Guidelines
**Header Section:**
- Component name in CAPS
- Emoji indicators:
- ๐ฆ = Bundled Template
- โ๏ธ = Your Library
- ๐จ = Your Component
- Full file path for clarity
- Last modified timestamp (if available)
- Version from metadata
**Description:**
- Use the `metadata.description` field from .uxm file
- Keep it concise (1-2 lines)
**Component Details:**
- **Type**: Direct from .uxm `type` field
- **Props**: List prop names with types in parentheses
- Format: `propName (type)`
- Example: `text (string), disabled (boolean)`
- **States**: Comma-separated list of state names
- **Accessibility**: Show checkmarks for present features
- Role, Focusable, Keyboard shortcuts, ARIA labels
**ASCII Template Preview:**
- Show first 20 lines by default
- If template has multiple states, show state labels
- If template exceeds 20 lines, add: `[... N more states/lines]`
- Preserve exact spacing and box-drawing characters
- Show variables as `{{variableName}}`
### Truncation Logic
If `.md` template exceeds 20 lines:
1. Count total states/sections in template
2. Show first 2-3 states completely
3. Add summary line: `[... N more states]`
4. Offer: "View full template?" as interactive option
## Interactive Options
After displaying the component, offer context-appropriate actions:
### For Bundled Templates (read-only)
```
What would you like to do?
1๏ธโฃ Copy to project library (makes it editable)
2๏ธโฃ View full template file (all states)
3๏ธโฃ View full metadata (complete .uxm)
4๏ธโฃ Browse all components
```
**Action Details:**
- **Copy**: Copy both .uxm and .md to `./fluxwing/library/`
- **View full template**: Display complete .md file (no truncation)
- **View full metadata**: Display complete .uxm JSON
- **Browse**: Return to library browser
### For Project Files (./fluxwing/library/ or ./fluxwing/components/)
```
What would you like to do?
1๏ธโฃ Edit component (modify .uxm and .md)
2๏ธโฃ View full template file (all states)
3๏ธโฃ View full metadata (complete .uxm)
4๏ธโฃ Delete component (manual: remove files from filesystem)
5๏ธโฃ Browse all components
```
**Action Details:**
- **Edit**: Open both .uxm and .md for editing
- **Delete**: Don't automatically delete - instruct user:
```
To delete this component, remove these files from your filesystem:
โข ./fluxwing/components/[name].uxm
โข ./fluxwing/components/[name].md
```
## Error Handling
### No Component Name Provided
```
Which component would you like to view?
Example:
"Show me primary-button"
"View details for user-card"
View all available components: Ask me to "show me all components"
```
### Component Not Found
```
โ Component '[name]' not found.
Searched in:
- ./fluxwing/components/
- ./fluxwing/library/
- Bundled templates
Available components:
[List first 10 components found]
Did you mean one of these?
- primary-button
- submit-button
- user-card
```
**Fuzzy search**: If component name is close to an existing component, suggest it:
```
โ Component 'primry-button' not found.
Did you mean 'primary-button'?
```
### File Read Errors
```
โ Found component but couldn't read files.
Location: ./fluxwing/components/[name].uxm
Error: [specific error message]
Please check file permissions and try again.
```
## Example Interactions
### Example 1: View Bundled Template
```
User: Show me the primary-button
Skill: ๐ PRIMARY-BUTTON
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ Source: Bundled Template
๐ Location: Component Creator Templates
Description:
Standard clickable button with hover, focus, and disabled states
Component Details:
โข Type: button
โข Props: text (string), variant (string), disabled (boolean)
โข States: default, hover, focus, disabled
โข Accessibility: โ Full support
[ASCII preview shown...]
What would you like to do?
1๏ธโฃ Copy to project library
2๏ธโฃ View full template
3๏ธโฃ View metadata
4๏ธโฃ Browse all components
```
### Example 2: View User Component
```
User: What's in my submit-button component?
Skill: ๐ SUBMIT-BUTTON
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐จ Source: Your Component
๐ Location: ./fluxwing/components/submit-button.uxm
โฑ๏ธ Modified: 2024-10-15 14:23:00
Description:
Custom submit button for forms
Component Details:
โข Type: button
โข Props: text (string)
โข States: default
โข Accessibility: โ Basic support
[ASCII preview shown...]
๐ก Tip: Add more states with "expand submit-button with hover and disabled"
```
## Resources
- **Core Concepts**: See `{SKILL_ROOT}/docs/02-core-concepts.md` for component fundamentals
You're helping users understand their uxscii components in detail!
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context โ no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes โ information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development โ guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.