Agent skill

fluxwing-enhancer

Stars 14
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/trabian/fluxwing-skills/tree/main/skills/fluxwing-enhancer

SKILL.md

Fluxwing Enhancer

Progressively enhance uxscii components from sketch to production quality.

Data Location Rules

READ from:

  • ./fluxwing/components/ - User components to enhance
  • {SKILL_ROOT}/../fluxwing-component-creator/templates/state-additions/ - State templates
  • {SKILL_ROOT}/docs/ - Enhancement documentation

LOAD for copy-on-update logic:

  • {SKILL_ROOT}/../shared/docs/copy-versioning.md - Versioning pattern for fidelity enhancements

WRITE to:

  • ./fluxwing/components/ - New versioned components (copy-on-update: {id}-v{N+1})
  • ./fluxwing/screens/ - Updated screen .rendered.md (if applicable)

IMPORTANT: Enhancer creates NEW versions instead of overwriting originals. Each fidelity enhancement creates a new -v{N} copy.

Fidelity Levels

sketch (Fast Scaffold Output)

  • Basic .uxm with minimal metadata
  • May lack .md file or have simple .md
  • Single "default" state
  • Creation time: ~10 seconds

Characteristics:

  • Minimal description
  • Generic tags
  • No examples
  • Basic props only

basic (First Enhancement)

  • Enriched metadata (better description, tags)
  • Simple .md with clean ASCII
  • Default state only
  • Enhancement time: ~30 seconds

Improvements over sketch:

  • Detailed description
  • Specific tags
  • Clean ASCII art
  • Documented variables

detailed (Second Enhancement)

  • Rich metadata with usage examples
  • Polished .md with careful ASCII art
  • 2-3 interaction states (hover, focus)
  • Enhancement time: ~90 seconds

Improvements over basic:

  • Usage examples in metadata
  • Hover + focus states
  • Polished ASCII
  • Props.examples array

production (Final Polish)

  • Complete metadata with accessibility details
  • Publication-quality ASCII
  • All relevant states (hover, focus, disabled, active, error)
  • Full documentation
  • Enhancement time: ~180 seconds

Improvements over detailed:

  • All applicable states
  • Complete accessibility metadata
  • Keyboard shortcuts
  • Publication-quality ASCII
  • Edge case documentation

Your Task

Help users enhance components from current fidelity to target fidelity.

Workflow

Step 1: Inventory Components

Check what components exist and their current fidelity:

bash
ls ./fluxwing/components/*.uxm

For each component, read fidelity level:

bash
python3 -c "import json; print(json.load(open('./fluxwing/components/button.uxm'))['metadata'].get('fidelity', 'detailed'))"

List components by fidelity:

  • sketch: [component-ids]
  • basic: [component-ids]
  • detailed: [component-ids]
  • production: [component-ids]

Step 2: Determine Target Fidelity

Ask user or use defaults:

User specifies:

  • "Enhance to basic"
  • "Upgrade to detailed"
  • "Make production-ready"

Auto-select (if not specified):

  • sketch → detailed (most common, best balance)
  • basic → detailed
  • detailed → production

Step 3: Spawn Enhancement Agents

If enhancing multiple components (3+):

  • Spawn agents in parallel (one per component)
  • Each agent enhances independently
  • Wait for all to complete

If enhancing single component:

  • Spawn single agent
  • Focus on quality

Enhancement Agent Prompt:

typescript
Task({
  subagent_type: "general-purpose",
  model: "sonnet", // Quality matters for enhancement
  description: "Enhance ${componentId} to ${targetFidelity} (copy)",
  prompt: `Enhance uxscii component from ${currentFidelity} to ${targetFidelity} using copy-on-update pattern.

Component: ${componentId}
Current fidelity: ${currentFidelity}
Target fidelity: ${targetFidelity}

COPY-ON-UPDATE MODE:
- Read existing component
- Find highest version (check ${componentId}-v2, -v3, etc.)
- Create NEW versioned copy: ${componentId}-v{N+1}
- DO NOT overwrite original
- Preserve metadata.created, update metadata.modified

Your task:
1. Read ./fluxwing/components/${componentId}.uxm
2. Read ./fluxwing/components/${componentId}.md (if exists)
3. Load copy-versioning docs: {SKILL_ROOT}/../shared/docs/copy-versioning.md
4. Find highest version of ${componentId} (original is v1)
5. Calculate next version number: v{N+1}
6. Load enhancement patterns: {SKILL_ROOT}/docs/enhancement-patterns.md
7. Load state templates: {SKILL_ROOT}/../fluxwing-component-creator/templates/state-additions/

8. Create versioned copy with enhancements:

   **Update version metadata:**
   - id: "${componentId}-v{N+1}" (add -v{N+1} suffix)
   - version: Increment minor (e.g., 1.0.0 → 1.1.0)
   - metadata.created: PRESERVE from source
   - metadata.modified: SET to current timestamp
   - metadata.fidelity: UPDATE to "${targetFidelity}"

   ${targetFidelity === 'basic' ? `
   For "basic" fidelity:
   - Improve metadata.description (1-2 sentences, specific)
   - Add specific tags (not just generic type)
   - Create/improve .md with clean ASCII art
   - Keep single default state
   - Update fidelity field to "basic"
   ` : ''}

   ${targetFidelity === 'detailed' ? `
   For "detailed" fidelity:
   - All "basic" enhancements (if not already done)
   - Add hover state (use {SKILL_ROOT}/../fluxwing-component-creator/templates/state-additions/hover.json)
   - Add focus state (use {SKILL_ROOT}/../fluxwing-component-creator/templates/state-additions/focus.json)
   - Polish ASCII art (smooth alignment, consistent spacing)
   - Add props.examples array (2-3 usage examples)
   - Update fidelity field to "detailed"
   ` : ''}

   ${targetFidelity === 'production' ? `
   For "production" fidelity:
   - All "detailed" enhancements (if not already done)
   - Add disabled state (if applicable for component type)
   - Add error state (if applicable for component type)
   - Complete accessibility metadata:
     - aria-label templates
     - keyboard shortcuts
     - screen reader descriptions
   - Add behavior.keyboardShortcuts (if interactive)
   - Publication-quality ASCII (pixel-perfect alignment)
   - Document edge cases in description
   - Update fidelity field to "production"
   ` : ''}

9. Save NEW versioned files:
   - ./fluxwing/components/${componentId}-v{N+1}.uxm
   - ./fluxwing/components/${componentId}-v{N+1}.md
   - DO NOT overwrite original ${componentId}.uxm

10. Verify JSON is valid
11. Return enhancement summary with version info

Target time: ${targetTime[targetFidelity]} seconds

Return format:
"Enhanced ${componentId} → ${componentId}-v{N+1}: ${currentFidelity} → ${targetFidelity}
- Version: {old version} → {new version}
- Added X states
- Improved metadata
- Polished ASCII
- Original preserved at ${componentId}.uxm"
`
})

Step 4: Regenerate Screen (If Applicable)

If components belong to a screen, regenerate .rendered.md:

bash
# Find which screen uses this component
grep -l "${componentId}" ./fluxwing/screens/*.uxm

If found, respawn composer to regenerate .rendered.md with enhanced components.

Step 5: Report Results

markdown
# Enhancement Complete ✓

## Components Enhanced

${enhancedComponents.map(c => `
### ${c.id}
- Before: ${c.oldFidelity}
- After: ${c.newFidelity}
- Time: ${c.time}s
- Changes:
  - ${c.changes.join('\n  - ')}
`).join('\n')}

## Total Time: ${totalTime}s

## Screens Updated
${updatedScreens.length > 0 ? updatedScreens.map(s => `- ${s}.rendered.md regenerated`).join('\n') : 'None'}

## Next Steps
1. Review enhanced components: \`ls ./fluxwing/components/\`
2. View updated screen: \`cat ./fluxwing/screens/${screenName}.rendered.md\`
3. Customize as needed

Example Usage

User: "Enhance all components in banking-chat to detailed"

Enhancer:

  1. Finds 6 sketch components
  2. Spawns 6 enhancement agents (parallel)
  3. Each agent: sketch → detailed (~90s)
  4. Regenerates banking-chat.rendered.md
  5. Total time: ~120 seconds

User: "Make submit-button production-ready"

Enhancer:

  1. Finds submit-button (detailed fidelity)
  2. Spawns 1 enhancement agent
  3. Agent: detailed → production (~180s)
  4. Updates screen if applicable
  5. Total time: ~180 seconds

Success Criteria

  • ✓ Components upgraded to target fidelity
  • ✓ All states added as specified
  • ✓ ASCII art improved
  • ✓ Metadata enriched
  • ✓ Screen .rendered.md regenerated (if applicable)
  • ✓ All files validate against schema

You are building a progressive enhancement system for maximum flexibility!

Expand your agent's capabilities with these related and highly-rated skills.

trabian/fluxwing-skills

Fluxwing Library Browser

Browse and view all available uxscii components including bundled templates, user components, and screens. Use when working with .uxm files, when user wants to see, list, browse, or search .uxm components or screens.

14 1
Explore
trabian/fluxwing-skills

Fluxwing Screen Scaffolder

Build complete UI screens by composing multiple uxscii components. Use when working with .uxm files, when user wants to create, scaffold, or build .uxm screens like login, dashboard, profile, settings, or checkout pages.

14 1
Explore
trabian/fluxwing-skills

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.

14 1
Explore
trabian/fluxwing-skills

Fluxwing Screenshot Importer

Import UI screenshots and generate uxscii components automatically using vision analysis. Use when user wants to import, convert, or generate .uxm components from screenshots or images.

14 1
Explore
trabian/fluxwing-skills

Fluxwing Component Expander

Add interaction states like hover, focus, disabled, active, error to existing uxscii components. Use when working with .uxm files, when user wants to expand, enhance, or add states to .uxm components.

14 1
Explore
trabian/fluxwing-skills

fluxwing-validator

Validate uxscii components and screens against schema with interactive menu or direct script calls

14 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results