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.
Works with
---
name: Fluxwing Component Viewer
description: 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.
license: MIT
---
# 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!More Design Systems skills
stitch-design-taste
leonxlnx/taste-skill
Semantic Design System Skill for Google Stitch. Generates agent-friendly DESIGN.md files that enforce premium, anti-generic UI standards β strict typography, calibrated color, asymmetric layouts, perpetual micro-motion, and hardware-accelerated performance.
figma
heygen-com/hyperframes
Import Figma content into a HyperFrames composition β rendered assets, brand tokens, components, storyboard sections β reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.
image
coreyhaines31/marketingskills
When the user wants to create, generate, edit, or optimize images for marketing β blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Flux Kontext,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'ChatGPT Images,' 'Ideogram,' 'Gemini image,' 'Nano Banana,' 'Recraft,' 'Stable Diffusion,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.

