Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/roninforge/roninforge-tailwind-v4/tailwind-v4-migrationgit clone --depth 1 https://github.com/RoninForge/roninforge-tailwind-v4Wrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/roninforge/roninforge-tailwind-v4/tailwind-v4-migration)<a href="https://agentmods.dev/rules/roninforge/roninforge-tailwind-v4/tailwind-v4-migration"><img src="https://agentmods.dev/badge/rules/roninforge/roninforge-tailwind-v4/tailwind-v4-migration.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00036 | $0.01786 |
| Opus 5 | $0.00018 | $0.00893 |
| Sonnet 5 | $0.00007 | $0.00357 |
| Haiku 4.5 | $0.00004 | $0.00179 |
Grade A, and why
tailwind-v4-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 291 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tailwind v3 to v4 Migration
Use these rules when migrating an existing Tailwind v3 project to v4. For a full interactive migration workflow, use the /tw-migrate skill.
Before Starting
Browser requirement: v4 requires Safari 16.4+, Chrome 111+, Firefox 128+. If the project needs older browser support, stay on v3.4.x.
Node.js requirement: The @tailwindcss/upgrade tool requires Node.js 20+. Tailwind v4 itself supports Node.js 18+.
Automated Upgrade Tool
Tailwind provides an automated upgrade tool that handles many changes:
npx @tailwindcss/upgrade
This tool:
- Converts
@tailwindimports to@import "tailwindcss" - Moves
!important modifiers to class end - Updates arbitrary CSS variable syntax
[--x]to(--x) - Renames utility classes (shadow-sm to shadow-xs, etc.)
- Updates PostCSS config
- Attempts to convert
tailwind.config.jsto@theme
It does NOT handle all edge cases. Manual review is always required after running it.
Manual Migration Steps
Step 1: Update Dependencies
# Remove v3 packages
npm uninstall tailwindcss autoprefixer postcss-import
# Install v4 packages (choose one)
npm install -D tailwindcss @tailwindcss/vite # Vite projects
npm install -D tailwindcss @tailwindcss/postcss # PostCSS projects
Step 2: Update CSS Entry Point
Replace:
@tailwind base;
@tailwind components;
@tailwind utilities;
With:
@import "tailwindcss";
Step 3: Convert Configuration
Move tailwind.config.js theme values to @theme:
// OLD: tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
brand: '#ff6a00',
},
fontFamily: {
sans: ['Inter', 'sans-serif'],
},
},
},
}
/* NEW: in your CSS file */
@import "tailwindcss";
@theme {
--color-brand: #ff6a00;
--font-sans: "Inter", sans-serif;
}
If full conversion is not yet practical, bridge with @config:
@import "tailwindcss";
@config "../../tailwind.config.js";
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 291 lines · 36 tokens per session scan A 633499343718
tailwind-v4-migration is a cursor rule published in the GitHub repository RoninForge/roninforge-tailwind-v4 (2 stars, last pushed 2mo ago), licensed MIT. It adds 36 tokens to every session and 1,786 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
html-css
Rules for HTML, CSS, and styling files.
tinted-ui-tokens-skills
Generate a brand-tinted UI design-token system (CSS) from a single brand color. No pure neutral colors.
compose-core
Modern Android development rules: Kotlin 2.x with K2, Jetpack Compose, Material 3, state hoisting + StateFlow + collectAsStateWithLifecycle, Hilt with hiltViewModel(), type-safe Navigation Compose, KSP, Version Catalogs, Compose Compiler as Kotlin plugin.
compose-anti-patterns
Compose / Kotlin Android anti-pattern detector. Catches findViewById, setContentView(R.layout), GlobalScope, LiveData + observeAsState, MutableState exposed publicly, force-unwrap !!, lowercase composables, LazyColumn without key, LaunchedEffect(true), Material 2 imports, padding-before-clickable…
compose-testing
Compose testing: createComposeRule, semantic matchers, Paparazzi screenshot tests, Hilt + Compose test setup, runTest for coroutines, Turbine for Flow assertions, fake repositories over mocks. Agent-requested.
compose-architecture
Android architecture patterns: feature modularization, repository + data source pattern, sealed interfaces for UI state, ViewModel + StateFlow, Ktor / Retrofit + Kotlin Serialization, Room with Flow returns + KSP, coroutines structured concurrency.