Skip to content
Skills Library
Programming · Review & audit

flowbite-optimizer

/flowbite-optimizer

Audit and optimize Flowbite (Tailwind components + JS / React wrapper, flowbite 4.x / flowbite-react 0.12.x) usage in a codebase for Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dropdown, bundle/import cost, runtime and re-render cost, theming/SSR, accessibility/forms, copy-in or version drift, with real before/after measurement. Always produces a written findings report and a fix plan for approval before touching code. Use this whenever the user mentions Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dro

Licence
MIT
Last repository change
04.11.2026

Assessment and security

85/ 100Class: good
Format20 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
8
Scripts
1
HTML comments
0
URLs in SKILL.md
1
Deprecation

No signals detected. Repository changed on 04.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 1 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: scripts/audit.py

What it does and when to use it

Audit and optimize Flowbite (Tailwind components + JS / React wrapper, flowbite 4.x / flowbite-react 0.12.x) usage in a codebase for Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dropdown, bundle/import cost, runtime and re-render cost, theming/SSR, accessibility/forms, copy-in or version drift, with real before/after measurement. Always produces a written findings report and a fix plan for approval before touching code. Use this whenever the user mentions Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dro

Original author description

Audit and optimize Flowbite (Tailwind components + JS / React wrapper, flowbite 4.x / flowbite-react 0.12.x) usage in a codebase for Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dropdown, bundle/import cost, runtime and re-render cost, theming/SSR, accessibility/forms, copy-in or version drift, with real before/after measurement. Always produces a written findings report and a fix plan for approval before touching code. Use this whenever the user mentions Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dro

How it works

  1. Workflow
  2. Principles
  3. Docs
Original SKILL.md headings · 61 lines, 584 words
SKILL.md preview
---
name: flowbite-optimizer
description: Audit and optimize Flowbite (Tailwind components + JS / React wrapper, flowbite 4.x / flowbite-react 0.12.x) usage in a codebase for Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dropdown, bundle/import cost, runtime and re-render cost, theming/SSR, accessibility/forms, copy-in or version drift, with real before/after measurement. Always produces a written findings report and a fix plan for approval before touching code. Use this whenever the user mentions Flowbite, flowbite-react, data-modal-target, Flowbite Tailwind plugin, Flowbite datepicker/dropdown or "optimize my UI" -- even if they never say "audit" or "optimize".
---

# Flowbite Optimizer

Flowbite ships Tailwind component classes plus a JS data-API (and a separate React wrapper). Cost is the global JS bundle, duplicate vanilla/React initialization, theme CSS and per-page plugin work. Pick one integration model and initialize only what is on the page.

## Workflow

### 1. Scope (quick)

- Find the app root and detect Flowbite usage: `flowbite 4.x / flowbite-react 0.12.x`. Record the version, framework (React/Next/Vue/Svelte/Solid/Angular or HTML), styling system, and whether the library is a package, a CSS-only kit, or copied source.
- Run `python <skill-dir>/scripts/audit.py <project-root>` -- static scan of `package.json`, config/CSS files and source for version drift, provider/config drift, import and theme issues, a11y gaps, heavy components and upgrade risk, with file:line evidence. Use `--json` to post-process.
- Classify the pain: bundle/import cost, runtime/re-render cost, theming/SSR style flash, accessibility/forms, large tables/lists, or migration/upgrade. Ask which hurts if unclear.
- Read `references/tooling.md` once: what can be measured here.

- Check whether the project uses vanilla Flowbite (data attributes + JS) or flowbite-react, and whether both are present.

### 2. Audit

The script finds cheap leads; you find the rest by reading. Read the install/config, the global CSS/theme file, the provider or plugin setup, and the 3-5 most-used components. Load only what applies:

| Area | Reference |
|------|-----------|
| Install, config, provider/plugin, theming, SSR | `references/setup.md` |
| Bundle/imports, runtime, a11y/forms, tables, upgrades | `references/optimizations.md` |
| Measurement and honest reporting | `references/tooling.md` |

**Measure, never guess.** Build for production and measure the real route/bundle. Inspect SSR HTML for style tags and dark-mode flash; run axe/Playwright on dialogs, menus, forms and tables. Component count, bundle bytes and a11y violations are evidence; "feels heavy" is not.

Mark each finding **Confirmed** (build/analyzer/axe/code evidence) or **Suspected** (needs measuring).

### 3. Report

Fill `assets/report-template.md`, save it as `FLOWBITE_OPTIMIZATION_REPORT.md` in the project root, and show the user. Five-line summary, findings table by impact/effort, then per-finding detail (evidence, why it hurts, fix, risk, visual/behavior impact). Group near-duplicates.

### 4. Plan -- then stop for approval

Use plan mode: `EnterPlanMode` (load with ToolSearch if deferred), write the plan, present with `ExitPlanMode`; if unavailable show it in chat and wait for an explicit "go". Structure:

1. **Quick wins** -- trim imports, use path imports, add provider/plugin correctly, add missing labels/titles, move heavy components off the initial route, remove per-row overlays, align theme tokens, add SSR style/cache setup. Low risk.
2. **Structural** -- split component boundaries, virtualize tables, lazy-load heavy widgets, consolidate theming, migrate variants/tokens, fix form composition, deduplicate copied components. Name each behavior change.
3. **Heavy** -- major upgrade, primitive-base change, CSS-only to styled kit (or reverse), Tailwind 3 to 4, copy-in registry extraction, SSR architecture. Separately approved.
   Each step: files touched, expected effect, how to verify, how to roll back.

### 5. Fix

Only approved items, in small groups. After each: typecheck, lint, tests, production build, and a visual/axe check on affected components. A break must trace to one change. Do not mix a major migration with optimization edits. If a change alters a public component API, theme tokens or SSR behavior, stop and ask.

### 6. Verify and wrap up

Re-measure the same routes/components: route JS/CSS, SSR styles/theme, axe violations, dialog/form keyboard flow, table interaction. State plainly what could not be measured. End with deferred items and one suggested next step.

## Principles

- **One integration model.** Vanilla or React, not both.
- **Initialize what is present.** Global JS is not free.
- **Native first.** Use platform elements for simple toggles.

## Docs

- https://flowbite.com/docs/getting-started/introduction/
Files in this package (8)
  • LICENSE 1 KB
  • README.md 1 KB
  • SKILL.md 5 KB
  • assets/report-template.md 1 KB
  • references/optimizations.md 1 KB
  • references/setup.md 1 KB
  • references/tooling.md 1 KB
  • scripts/audit.py 10 KB

Versions

The database has no other skills named flowbite-optimizer.

Database snapshot: 13.11.2026 · package version e5fbc7129fce (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 85franken-ui-optimizer
    Audit and optimize Franken UI (HTML-first UIkit + Lit/Tailwind kit, franken-ui 2.x) usage in a codebase for Franken UI, franken-ui, UIkit 3, uk- attributes, LitElement components, Franken UI Tailwind/Vite plugin, bundle/import cost, runtime and re-render cost, theming/SSR,…
  • 85floatui-optimizer
    Audit and optimize Float UI (copy-in Tailwind components, copied Tailwind/React/Vue components) usage in a codebase for Float UI, floatui.com components, copied Tailwind landing sections, Headless UI + Tailwind snippets, bundle/import cost, runtime and re-render cost,…
  • 100tailwind-class-optimizer
    Optimize tailwind class optimizer operations. Auto-activating skill for Frontend Development. Triggers on: tailwind class optimizer, tailwind class optimizer Part of the Frontend Development skill category. Use when working with tailwind class optimizer functionality. Trigger…
  • 100react-frontend-patterns
    React 19+, TypeScript, Tailwind CSS, shadcn/ui component patterns, accessibility, forms, state management. Use when building or reviewing React components, pages, or frontend architecture.
  • 90react-component
    Generates complete, production-ready React/TypeScript components using Tailwind CSS. Use when building UI components in a React or Next.js project that requires TypeScript, Tailwind styling, and accessible interactions.
  • 100senior-frontend
    Frontend development skill for React, Next.js, TypeScript, and Tailwind CSS applications. Use when building React components, optimizing Next.js performance, analyzing bundle sizes, scaffolding frontend projects, implementing accessibility, or reviewing frontend code quality.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.