{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:jezweb/claude-skills:skills/tailwind-v4-shadcn", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "3a4ea8133386093e3aaeb81830b149674e1a8e83", "treeHash": "a5dcad101e5c0e16d791c9cb2c005ba605f50d0d86217e272252a3026fd47616", "generatedAt": "2025-11-28T10:18:58.994843Z", "toolVersion": "publish_plugins.py@0.2.0" }, "origin": { "remote": "git@github.com:zhongweili/42plugin-data.git", "branch": "master", "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" }, "manifest": { "name": "tailwind-v4-shadcn", "description": "Set up Tailwind v4 with shadcn/ui using @theme inline pattern and CSS variable architecture. Four-step mandatory pattern: define CSS variables at root, map to Tailwind utilities, apply base styles, get automatic dark mode. Use when: initializing React projects with Tailwind v4, setting up shadcn/ui dark mode, or fixing colors not working, theme not applying, CSS variables broken, tw-animate-css errors, or migrating from v3.", "version": "1.0.0" }, "content": { "files": [ { "path": "README.md", "sha256": "d8a327f4da5d3c0bc4fb7d3ff4e45cb9398833619dee5bac7cf6c9be72ccaa30" }, { "path": "SKILL.md", "sha256": "5cdeded8fc9ab0f6634b1c9a2656ba45f4045efef87d3979447129dc97221b65" }, { "path": "references/architecture.md", "sha256": "da2f6f3eeb32717728159c6133c6e9ebe83815ae41371a83a8a38eeff461f344" }, { "path": "references/migration-guide.md", "sha256": "4580c5c918d71e3ac518d236a035bd627a5e99b254bb93f05eed67fc5ae53b42" }, { "path": "references/dark-mode.md", "sha256": "3392626694dcf970bdadd4537b425de5825fc0a2a8725474110f246528c87e34" }, { "path": "references/common-gotchas.md", "sha256": "b42d35ce713ae2f7ff0a77072cbbb70f89428f01b8e0ac77ee325368841fb835" }, { "path": ".claude-plugin/plugin.json", "sha256": "94ab042d7431b148cfd14aaed3b60839c319599f9611cc0adb350283f0062aa8" }, { "path": "templates/theme-provider.tsx", "sha256": "df87540b95499b272216c7b41a5d133bf0a449eb25049128f8a032ccd0e65580" }, { "path": "templates/tsconfig.app.json", "sha256": "8d20a8ea391818bebc7436709dd00e3e5422db9f811868127f1584efe8ff3047" }, { "path": "templates/utils.ts", "sha256": "51bbf14cd1f84f49aab2e0dbee420137015d56b6677bb439e83a908cd292cce1" }, { "path": "templates/index.css", "sha256": "3bb8a7a2daf4a9507f8c27deeb626b0d51166d018f7aa0d1d656dd8f652a527a" }, { "path": "templates/components.json", "sha256": "38d09e0be58f15412e01057114a5d9d4b3582200378441a3c74fd490c37b9a4b" }, { "path": "templates/vite.config.ts", "sha256": "37171894fd3d8b7709d1ea15c4db5f4ba0faa1b58d7c7418d11ce4e30eb5562d" } ], "dirSha256": "a5dcad101e5c0e16d791c9cb2c005ba605f50d0d86217e272252a3026fd47616" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }