flux-ui
Flux UI v2 component reference and design-taste guide for Laravel/Livewire.
Skill by ohnotnow
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ohnotnow-flux-ui
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/flux-ui
What's inside
- Skill name
flux-ui- Description
- Flux UI v2 component reference and design-taste guide for Laravel/Livewire. You MUST use this skill whenever creating or editing any Blade template, Livewire view, or interface that uses Flux components (flux:*) - do not write Flux markup without it. Covers syntax, patterns, common mistakes, page layout taste, and modal/form/table patterns.
- License
- MIT
- Instructions
- 320 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- design-taste.md
- heroicon-list.txt
SKILL.md (first lines)
# Flux UI v2 Quick Reference
> Flux is a component library for Livewire built with Tailwind CSS v4.
**Building a full page or layout?** Read [design-taste.md](design-taste.md) first - it
covers page archetypes (settings, dashboards, tables, feeds, auth) and the judgement
calls this reference can't: when cards earn their place, vertical rhythm, restraint.
## Core Principles
### We Style, You Space
Flux provides **styling** (padding, colors). You provide **spacing** (margins, gaps, layout):
```blade
<form class="space-y-6">
<flux:input label="Email" wire:model="email" />
<flux:input label="Password" wire:model="password" />
<flux:button type="submit" variant="primary">Submit</flux:button>
</form>
```
### Composition Over Configuration
Components mix and match. A `<flux:button>` works standalone OR inside other components.
---
## Common Mistakes to Avoid
### Use Flux Typography Components
```blade
{{-- WRONG: raw HTML with custom Tailwind --}}
<p class="text-sm text-zinc-500">Some help text</p>
<a href="/profile" class="text-blue-600 hover:underline">Profile</a>
{{-- CORRECT: Flux components --}}
<flux:text>Some help text</flux:text>
<flux:link href="/profile">Profile</flux:link>
```
For a title with a subtitle, use `flux:heading` + `flux:text class="mt-2"`. Avoid
`flux:subheading` - the Flux v2 docs and demo pages never use it.
### Button Variants - Less is More
Most buttons should be unstyled. Only the primary action gets `variant="primary"`:
```blade
{{-- WRONG: rainbow of variants --}}
<div class="flex gap-2">
<flux:button variant="subtle">Cancel</flux:button>
<flux:button variant="outline">Preview</flux:button>
<flux:button variant="filled">Draft</flux:button>
<flux:button variant="primary">Save</flux:button>
</div>
{{-- CORRECT: simple and clear --}}
<div class="flex gap-2">
<flux:button>Cancel</flux:button>
<flux:button>Preview</flux:button>
<flux:button variant="primary">Save</flux:button>
</div>
```
Only use `variant="danger"` for genuinely destructive actions (delete, remove).
### Modals - Default to Flyout
```blade
{{-- Prefer flyout variant --}}
<flux:modal name="filters" variant="flyout">
...
</flux:modal>
```
### Modals - Trigger Behaviour
In Flux v2, modals can be triggered by a `<flux:modal.trigger>` component with the name prop matcher rather than toggling component state or events.
```blade
<flux:modal.trigger name="edit-profile">
<flux:button>Edit</flux:button>
</flux:modal.trigger>
<flux:modal name="edit-profile" class="md:w-96">
<div class="space-y-6">
....
</div>
</flux:modal>
```
**Carve-out**: `flux:modal.trigger` is for modals whose content is already present. When
the server must load data before the modal opens (e.g. an edit flyout that hydrates a
model), `wire:click="editUser(...)"` + `Flux::modal('edit-user')->show()` in the action
is the correct pattern - do not "fix" it into a trigger, you'll break the data loading.
### Colours - Use Sparingly
Badges, callouts etc have colour options - but only use them when genuinely needed to draw attention. Default/neutral is usually fine.
### Sizing Inputs - max-w-*, not w-*
`flux:input`'s wrapper carries its own `w-full`; an added `w-72` lands beside it and can
lose the stylesheet-order tie - silently full width, no error. Use `max-w-72` / `max-w-96`
(this is what the official docs do). For a search box that shares a row on mobile but sits
at a fixed width on desktop: `class="flex-1 md:flex-none max-w-96"`.
### Alpine Bindings - Spell Out x-bind
On a Blade component tag, `:class` (or any `:attr`) is Blade prop-binding - the value is
evaluated as **PHP** and crashes on Alpine expressions. Always write the long form:
```blade
{{-- WRONG: Blade evaluates this as PHP --}}
<flux:select :class="showFilters ? '' : 'max-md:hidden'">
{{-- CORRECT --}}
<flux:select x-bind:class="showFilters ? '' : 'max-md:hidden'">
```
### Headings Need level to Be Headings
`flux:heading` without a `level` prop renders a styled **div**, not a heading element. A
page can look perfectly structured and still have no document outline at all (invisible
to screen readers). Give the page title `level="1"` and section headings `level="2"` -
`size` controls the look, `level` the semantics, independently.From ohnotnow/agentic-stuff, MIT.
More from ohnotnow/agentic-stuff
- 0.592score
i-impeccable
ohnotnow
Create distinctive, production-grade frontend interfaces with high design quality.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
conversation-to-html
ohnotnow
Convert a Claude Code or Codex CLI session into a beautiful, shareable single HTML file for presentations and workshops.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
house-style
ohnotnow
Teach a personal editor agent the user's own editing taste by reading the diff between an AI-drafted document and the user's hand-edit of it, encoding the…
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
audience-credibility
ohnotnow
Defensive credibility check for deliverables (reports, dashboards, demos, presentations, web pages, marketing copy) aimed at a real human audience —…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ait-crafting
ohnotnow
Turn a settled feature discussion or plan document into consultant-ready ait issues — an initiative/epic vision document plus implementation specs a fresh…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
grounded-recommendation
ohnotnow
Structured process for technical recommendations and implementation advice.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
cruft-or-keep
ohnotnow
Conversational 'second pair of eyes' that finds reachable-but-dormant code in long-lived codebases — jobs, mailables, listeners, routes, commands that are…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
highlight-screenshot
ohnotnow
Take a screenshot of a page in a locally running app with a red ring and a short label round one element, so a developer can see exactly which button, link or…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
github-create
ohnotnow
Create a new GitHub repository from the current local project, push code, and handle finishing touches (README, LICENSE, description).
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ant
ohnotnow
Local-first notebook for *why* — design decisions, alternatives rejected, pivots taken, the conversational nuance that gets lost when an issue closes.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ait-recap
ohnotnow
Generate a friendly markdown recap of recent `ait` activity for the current project, or scan a directory of projects.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
feature-workflow
ohnotnow
Streamlined workflow for implementing features with ait issue tracking.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 26, 2026 (2 months ago)
- Last release
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ohnotnow/agentic-stuff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ohnotnow
- 0.592score
house-style
ohnotnow
Teach a personal editor agent the user's own editing taste by reading the diff between an AI-drafted document and the user's hand-edit of it, encoding the…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
i-impeccable
ohnotnow
Create distinctive, production-grade frontend interfaces with high design quality.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
conversation-to-html
ohnotnow
Convert a Claude Code or Codex CLI session into a beautiful, shareable single HTML file for presentations and workshops.
SkillAFreshness: A★ 1Claude Code +9 - 0.588score
audience-credibility
ohnotnow
Defensive credibility check for deliverables (reports, dashboards, demos, presentations, web pages, marketing copy) aimed at a real human audience —…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
feature-workflow
ohnotnow
Streamlined workflow for implementing features with ait issue tracking.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ant
ohnotnow
Local-first notebook for *why* — design decisions, alternatives rejected, pivots taken, the conversational nuance that gets lost when an issue closes.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
flux-ui skill. Agent Mart. https://agentmart.dev/skills/ohnotnow-flux-ui (last updated 2026-10-24)