fluxwing-component-viewer

from jackspace/claudeskillz

ClaudeSkillz: For when you need skills, but lazier

8 stars2 forksUpdated Nov 20, 2025
npx skills add https://github.com/jackspace/claudeskillz --skill fluxwing-component-viewer

SKILL.md

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 editi

...

Read full content

Repository Stats

Stars8
Forks2
LicenseMIT License