agentsclimarketplace

Fluxwing validator

Skill trabian/fluxwing-skills/skills/fluxwing-validator

Validate uxscii components and screens against schema with interactive menu or direct script callsFrom its SKILL.md

Install
npx -y skills add trabian/fluxwing-skills --skill fluxwing-validator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 8 commands, including `test -d ./fluxwing/components` and 7 more.

SKILL.md

7.5 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Fluxwing Validator

Validate uxscii components and screens against JSON Schema with interactive workflows.

Overview

This skill provides two modes of operation:

  1. Interactive Mode: User invocation with menu and minimal output
  2. Direct Mode: Script calls from other skills with verbose output

When to Use This Skill

User says:

  • "Validate my components"
  • "Check if everything is valid"
  • "Run validation on my screens"
  • "Validate the project"

Other skills: Call validator scripts directly (see Technical Reference below)

Interactive Validation Workflow

Step 1: Present Validation Options

Use AskUserQuestion to present menu:

What would you like to validate?

Options:

  1. Everything in this project - Validates all components and screens
  2. Just components - Validates ./fluxwing/components/*.uxm
  3. Just screens - Validates ./fluxwing/screens/*.uxm
  4. Let me specify a file or pattern - Custom path/glob pattern

Step 2: Check What Exists

Before running validation, check if directories exist:

# Check for components
test -d ./fluxwing/components

# Check for screens
test -d ./fluxwing/screens

If neither exists:

  • Inform user: "No components or screens found. Create some first!"
  • Exit cleanly

If option 4 (custom) selected:

  • Ask user for the pattern/file path
  • Validate it's not empty
  • Proceed with user-provided pattern

Step 3: Run Validation

Based on user selection:

Option 1: Everything

# Validate components
node {SKILL_ROOT}/validate-batch.js \
  "./fluxwing/components/*.uxm" \
  "{SKILL_ROOT}/../fluxwing-component-creator/schemas/uxm-component.schema.json" \
  --json

# Validate screens
node {SKILL_ROOT}/validate-batch.js \
  "./fluxwing/screens/*.uxm" \
  "{SKILL_ROOT}/../fluxwing-component-creator/schemas/uxm-component.schema.json" \
  --screens \
  --json

Option 2: Just components

node {SKILL_ROOT}/validate-batch.js \
  "./fluxwing/components/*.uxm" \
  "{SKILL_ROOT}/../fluxwing-component-creator/schemas/uxm-component.schema.json" \
  --json

Option 3: Just screens

node {SKILL_ROOT}/validate-batch.js \
  "./fluxwing/screens/*.uxm" \
  "{SKILL_ROOT}/../fluxwing-component-creator/schemas/uxm-component.schema.json" \
  --screens \
  --json

Option 4: Custom pattern

# Use user-provided pattern
node {SKILL_ROOT}/validate-batch.js \
  "${userPattern}" \
  "{SKILL_ROOT}/../fluxwing-component-creator/schemas/uxm-component.schema.json" \
  --json

Step 4: Parse Results and Show Minimal Summary

Parse JSON output from validator to extract:

  • total: Total files validated
  • passed: Number of valid files
  • failed: Number of failed files
  • warnings: Total warning count

Display minimal summary:

✓ 12/14 components valid
✗ 2/14 components failed
⚠ 3 warnings total

If all passed:

✓ All 14 components valid
⚠ 3 warnings

If everything failed:

✗ All 14 components failed

If nothing to validate:

No files found matching pattern

Step 5: Ask About Details

Use AskUserQuestion to ask:

Show error details?

Options:

  1. Yes - Display full validation output
  2. No - Clean exit

Step 6: Display Details (if requested)

If user selects "Yes", show full validation output including:

Failed files section:

Failed Files:

  ✗ broken-button (./fluxwing/components/broken-button.uxm)
    Errors: 2
      1. must have required property 'fidelity'
      2. ASCII template file not found

  ✗ old-card (./fluxwing/components/old-card.uxm)
    Errors: 1
      1. invalid version format

Passed with warnings section:

Passed with Warnings:

  ✓ login-screen (2 warnings)
  ✓ dashboard (1 warning)

Fully passed section (optional, only if not too many):

Fully Passed:

  ✓ primary-button
  ✓ secondary-button
  ✓ email-input
  ...

Edge Cases

No fluxwing directory exists

No components or screens found. Create some first!

Empty directories

✓ 0/0 components valid

Invalid glob pattern (option 4)

No files found matching pattern: ${pattern}

Validation script fails to execute

Error: Cannot execute validator. Node.js required.

Technical Reference (For Other Skills)

Direct Script Calls

Other skills (component-creator, screen-scaffolder) call validator scripts directly:

Validate single component:

node {SKILL_ROOT}/../fluxwing-validator/validate-component.js \
  ./fluxwing/components/button.uxm \
  {SKILL_ROOT}/schemas/uxm-component.schema.json

Validate single screen:

node {SKILL_ROOT}/../fluxwing-validator/validate-screen.js \
  ./fluxwing/screens/login-screen.uxm \
  {SKILL_ROOT}/schemas/uxm-component.schema.json

Batch validate:

node {SKILL_ROOT}/../fluxwing-validator/validate-batch.js \
  "./fluxwing/components/*.uxm" \
  {SKILL_ROOT}/schemas/uxm-component.schema.json

Output modes:

  • Default: Human-readable (verbose, full errors/warnings)
  • --json: Machine-readable JSON

Exit codes:

  • 0: All files valid
  • 1: One or more files invalid
  • 2: Missing dependencies or invalid arguments

Validator Scripts

Available scripts:

  • validate-component.js - Validate single component file
  • validate-screen.js - Validate single screen file (with screen-specific checks)
  • validate-batch.js - Validate multiple files with glob patterns
  • test-validator.js - Test component templates
  • test-screen-validator.js - Test screen templates

npm Scripts (for testing)

cd {SKILL_ROOT}

# Run tests
npm test                    # Test component templates
npm run test:screens       # Test screen templates

# Batch validation
npm run validate:components  # Validate all components
npm run validate:screens     # Validate all screens
npm run validate:all         # Validate everything

Example Interactions

Example 1: Validate Everything

User: "Validate my components"

Skill:

What would you like to validate?

1. Everything in this project
2. Just components
3. Just screens
4. Let me specify a file or pattern

User selects: Option 1

Skill runs validation and shows:

✓ 12/14 components valid
✗ 2/14 components failed
⚠ 3 warnings total

✓ 2/2 screens valid
⚠ 1 warning

Show error details?

User: "yes"

Skill shows full error details for failed files

Example 2: Validate Specific Pattern

User: "Validate my components"

Skill: (presents menu)

User selects: Option 4 (custom pattern)

Skill: "What file or pattern would you like to validate?"

User: "./fluxwing/components/*-button.uxm"

Skill validates and shows:

✓ 3/3 files valid

Show error details?

Implementation Notes

Parse JSON output:

const result = JSON.parse(bashOutput);
const total = result.total;
const passed = result.passed;
const failed = result.failed;
const warnings = result.warnings;

Summary formatting:

  • Show passed/failed ratio for quick scan
  • Highlight failures prominently
  • Warnings shown but not intrusive
  • Clean, minimal output by default

Error detail formatting:

  • Group by status (failed, warnings, passed)
  • Show file path and error count
  • Display first 2-3 errors per file
  • Indicate if more errors exist

Skill Status: Ready for use Version: 1.0.0

What ships with it: 7 files

34.9 KB alongside SKILL.md, 5 of them executable

Gives 0 of the 12 instructions most quality gates skills give in ~1.9k tokens

Counted across 1,524 of the 2,830 authors here whose files we hold, read 2026-09-06

  • Read full output and check exit codein 45 of 1524, across 40 files
  • Verify output confirms the claimin 44 of 1524, across 39 files
  • Identify the command that proves the claimin 43 of 1524, across 39 files
  • Execute the full verification commandin 36 of 1524, across 30 files
  • Produce a verification reportin 34 of 1524, across 18 files
  • Review git diff changesin 30 of 1524, across 16 files
  • Fix build failures immediatelyin 29 of 1524, across 9 files
  • Group findings by severityin 28 of 1524
  • State claim only with evidencein 27 of 1524, across 22 files
  • Verify regression tests with red-green cyclein 26 of 1524, across 22 files
  • Run the full test suitein 26 of 1524, across 25 files
  • Run test suite with coveragein 25 of 1524, across 10 files

Said here and by no other author read

  • Present validation options using an interactive menu
  • Check if component and screen directories exist before validation
  • Exit cleanly if no components or screens are found
  • Validate user-provided file patterns if selected
  • Run validation scripts using node
  • Ask the user if they want to see error details

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.