Creative Tim UI Blocks
creativetimofficial/ui
Helps install, generate and review Creative Tim UI blocks: shadcn/ui-based React and Tailwind sections that follow a restrained, production-minded design philosophy.
Guides an upgrade from Chakra UI v2 to v3: inspect the project, swap packages, run the official codemod, then fix provider, color mode, props, theming and Next.js code.
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/chakra-ui-migrate .claude/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .claude/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/chakra-ui-migrate .agents/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .agents/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/chakra-ui-migrate .cursor/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .cursor/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/chakra-ui/chakra-ui.git --path skills/chakra-ui-migrate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/chakra-ui-migrate .gemini/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .gemini/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/chakra-ui-migrate .github/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .github/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install chakra-ui/chakra-ui chakra-ui-migrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chakra-ui/chakra-ui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/chakra-ui-migrate .opencode/skills/chakra-ui-migrate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chakra-ui-migrate" agent skill from https://github.com/chakra-ui/chakra-ui/tree/main/skills/chakra-ui-migrate into .opencode/skills/chakra-ui-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chakra-ui-migrate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chakra-ui-migrateGuides an upgrade from Chakra UI v2 to v3: inspect the project, swap packages, run the official codemod, then fix provider, color mode, props, theming and Next.js code.
The agent inspects the project before changing anything, reading package.json for the Chakra version, related packages, the framework (Next.js with App or Pages Router, Vite or plain React) and the package manager from the lockfile, and it spot-checks provider, theme and color mode files. Chakra UI v3 needs Node 20 or newer, so the agent confirms that first when the environment is uncertain.
Package changes come next: remove @chakra-ui/icons, @chakra-ui/hooks, @chakra-ui/next-js, @emotion/styled and framer-motion, install @chakra-ui/react and @emotion/react, and replace the removed packages with lucide-react or react-icons, react-use or usehooks-ts, and the asChild pattern. The official codemod runs as a dry run first, then for real, and its result should be committed before manual edits because it does not replace a review.
Later steps cover provider setup, color mode, prop renaming, compound components, theming, recipes and Next.js changes, and the skill also fits questions about breaking changes after an upgrade or differences between the two versions.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f799e4d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmnpxpnpmyarnFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, npx, pnpm and yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Chakra UI v2 to v3 Migration loads about 3.4k tokens when it runs. Until then it costs about 156 tokens; SKILL.md has 805 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from chakra-ui/chakra-ui at commit f799e4d, republished under its MIT licence (© chakra-ui). 805 words, ~3,395 tokens.
.claude/skills/chakra-ui-migrate/SKILL.md (or your agent's skills folder).You are guiding a developer through migrating their project from Chakra UI v2 to v3. Work through the steps below in order. Inspect the project first — never guess the package versions or framework.
Node requirement: Chakra UI v3 requires Node >= 20.x. Confirm before proceeding if the environment is uncertain.
Read these files to understand the current state:
package.jsonLook for:
@chakra-ui/react version (v2.x vs v3.x)@chakra-ui/icons, @chakra-ui/hooks,
@chakra-ui/next-js, @emotion/styled, framer-motionpnpm-lock.yaml, yarn.lock, bun.lock,
package-lock.json)Also spot-check key files when helpful:
_app.tsx, layout.tsx, theme.ts)ColorModeScript, useColorMode, useColorModeValue)# npm
npm uninstall @chakra-ui/icons @chakra-ui/hooks @chakra-ui/next-js @emotion/styled framer-motion
# pnpm
pnpm remove @chakra-ui/icons @chakra-ui/hooks @chakra-ui/next-js @emotion/styled framer-motion
# yarn
yarn remove @chakra-ui/icons @chakra-ui/hooks @chakra-ui/next-js @emotion/styled framer-motion@emotion/styled and framer-motion are no longer required in v3.
# npm
npm install @chakra-ui/react @emotion/react
# pnpm
pnpm add @chakra-ui/react @emotion/react
# yarn
yarn add @chakra-ui/react @emotion/react| Removed | Replacement |
|---|---|
@chakra-ui/icons | lucide-react or react-icons |
@chakra-ui/hooks | react-use or usehooks-ts |
@chakra-ui/next-js | asChild prop pattern (see Next.js section) |
The official codemod handles most mechanical changes: component renames, prop updates, import rewrites, and compound component restructuring. It does not replace manual review — plan to audit the output.
Dry run first (no files changed):
npx @chakra-ui/codemod upgrade --dryReview what it proposes. When satisfied:
npx @chakra-ui/codemod upgradeAfter the codemod, commit the changes before making manual edits so you have a clean diff to work from.
// v2
import { ChakraProvider } from "@chakra-ui/react"
import theme from "./theme"
;<ChakraProvider theme={theme}>{children}</ChakraProvider>Generate the provider and component snippets:
npx @chakra-ui/cli snippet addThis creates components/ui/provider.tsx (plus toaster and tooltip
snippets) and automatically installs required npm dependencies — including
next-themes. Import and use it:
// v3 — app/layout.tsx (Next.js App Router)
import { Provider } from "@/components/ui/provider"
;<html lang="en" suppressHydrationWarning>
<body>
<Provider>{children}</Provider>
</body>
</html>The Provider file includes "use client" — do not add it to layout.tsx. See
the Next.js section for Pages Router placement.
Replace extendTheme with createSystem:
// v2
import { extendTheme } from "@chakra-ui/react"
// v3
import { createSystem, defaultConfig, defineConfig } from "@chakra-ui/react"
export const theme = extendTheme({ colors: { brand: { 500: "#2196f3" } } })
const config = defineConfig({
theme: { tokens: { colors: { brand: { 500: { value: "#2196f3" } } } } },
})
export const system = createSystem(defaultConfig, config)Pass system to ChakraProvider via value={system}.
// REMOVE these v2 imports and usages:
import { ColorModeScript } from "@chakra-ui/react"
// ❌
import { useColorMode } from "@chakra-ui/react"
// ❌ (use next-themes)
import { useColorModeValue } from "@chakra-ui/react"
// ❌ (use CSS tokens)
import { DarkMode, LightMode } from "@chakra-ui/react"
// ❌
// Also remove from _document.tsx:
;<ColorModeScript initialColorMode={theme.config.initialColorMode} /> // ❌Color mode is handled by next-themes via the generated Provider. Use
semantic tokens that automatically respond to the active color mode:
// Use Chakra semantic tokens — they flip automatically in dark mode
<Box color="fg.default" bg="bg.subtle">
...
</Box>For a color mode toggle, use the generated components/ui/color-mode.tsx
snippet or useColorMode from next-themes directly.
These boolean and style props were renamed in v3 for consistency with HTML and modern React conventions. The codemod catches most of these, but verify manually afterward.
| v2 | v3 |
|---|---|
isOpen | open |
defaultIsOpen | defaultOpen |
isDisabled | disabled |
isInvalid | invalid |
isRequired | required |
isReadOnly | readOnly |
isChecked | checked |
isLoaded | loaded |
isIndeterminate | indeterminate |
| v2 | v3 |
|---|---|
colorScheme | colorPalette |
noOfLines | lineClamp |
truncated | truncate |
spacing (Stack) | gap |
apply | textStyle or layerStyle |
// v2 — sx with nested pseudo-selectors
<Box sx={{ "&:hover": { color: "blue.500" } }} />
// v3 — css prop with "&" selectors
<Box css={{ "&:hover": { color: "blue.500" } }} />| v2 | v3 |
|---|---|
Modal | Dialog |
FormControl | Field |
Select | NativeSelect |
AlertDialog | AlertDialog (compound, see below) |
Modal is the most common rename — every <Modal>, <ModalOverlay>,
<ModalContent>, <ModalHeader>, <ModalBody>, <ModalFooter>, and
<ModalCloseButton> becomes a Dialog.* compound part:
// v2
<Modal isOpen={open} onClose={onClose}>
<ModalOverlay />
<ModalContent>
<ModalHeader>Title</ModalHeader>
<ModalBody>Body</ModalBody>
<ModalFooter><Button onClick={onClose}>Close</Button></ModalFooter>
</ModalContent>
</Modal>
// v3
<Dialog.Root open={open} onOpenChange={({ open }) => setOpen(open)}>
<Dialog.Backdrop />
<Dialog.Positioner>
<Dialog.Content>
<Dialog.Header><Dialog.Title>Title</Dialog.Title></Dialog.Header>
<Dialog.Body>Body</Dialog.Body>
<Dialog.Footer><Button onClick={() => setOpen(false)}>Close</Button></Dialog.Footer>
<Dialog.CloseTrigger />
</Dialog.Content>
</Dialog.Positioner>
</Dialog.Root>v3 adopts a consistent compound component API. The codemod handles many of these, but complex custom usage needs manual review.
Checkbox
// v2
<Checkbox isChecked={val} onChange={fn}>Label</Checkbox>
// v3
<Checkbox.Root checked={val} onCheckedChange={fn}>
<Checkbox.Control><Checkbox.Indicator /></Checkbox.Control>
<Checkbox.Label>Label</Checkbox.Label>
</Checkbox.Root>Progress
// v2
<Progress value={60} colorScheme="blue" />
// v3
<Progress.Root value={60} colorPalette="blue">
<Progress.Track><Progress.Range /></Progress.Track>
</Progress.Root>Accordion
// v2
<Accordion><AccordionItem><AccordionButton /><AccordionPanel /></AccordionItem></Accordion>
// v3
<Accordion.Root>
<Accordion.Item value="item-1">
<Accordion.ItemTrigger />
<Accordion.ItemContent />
</Accordion.Item>
</Accordion.Root>FormControl → Field
// v2
<FormControl isInvalid={!!error} isRequired>
<FormLabel>Email</FormLabel>
<Input type="email" />
<FormErrorMessage>{error}</FormErrorMessage>
<FormHelperText>We'll never share your email.</FormHelperText>
</FormControl>
// v3
<Field.Root invalid={!!error} required>
<Field.Label>Email</Field.Label>
<Input type="email" />
<Field.ErrorText>{error}</Field.ErrorText>
<Field.HelpText>We'll never share your email.</Field.HelpText>
</Field.Root>All FormControl sub-parts map to Field.*:
FormLabel → Field.LabelFormErrorMessage → Field.ErrorTextFormHelperText → Field.HelpTextFormControl props isInvalid, isRequired, isDisabled → invalid,
required, disabledDialog / Drawer / Menu / Tabs follow the same compound pattern: use
ComponentName.Root, .Trigger, .Content, .Item, etc. Check the Chakra UI
v3 docs for the specific compound API for each.
// v2 — @chakra-ui/next-js
import { LinkOverlay } from "@chakra-ui/next-js"
// v3 — asChild pattern
import NextLink from "next/link"
<ChakraLink asChild><NextLink href="/about">About</NextLink></ChakraLink>
import NextImage from "next/image"
<ChakraImage asChild><NextImage src="..." alt="..." /></ChakraImage>// v3 — single component (recipe)
import { defineRecipe } from "@chakra-ui/react"
// v2
const buttonStyle = {
baseStyle: { fontWeight: "bold" },
variants: { solid: { bg: "blue.500" } },
defaultProps: { variant: "solid" },
}
const buttonRecipe = defineRecipe({
base: { fontWeight: "bold" },
variants: { variant: { solid: { bg: "blue.500" } } },
defaultVariants: { variant: "solid" },
})// v3 — slot recipe
import { defineSlotRecipe } from "@chakra-ui/react"
// v2 — multiStyleConfig (multi-part component)
const cardStyle = multiStyleConfig({
parts: ["root", "header"],
baseStyle: { root: { bg: "white" }, header: { fontWeight: "bold" } },
})
const cardSlotRecipe = defineSlotRecipe({
slots: ["root", "header"],
base: { root: { bg: "white" }, header: { fontWeight: "bold" } },
})After adding custom tokens, semantic tokens, recipes, or slot recipes, run typegen to keep TypeScript types in sync:
npx @chakra-ui/cli typegen ./theme.tsComplex theme migrations — if you're moving a large v2 theme with many custom tokens, semantic tokens, or multi-part component styles, use the
chakra-ui-themingskill. It covers the full token/recipe/slot-recipe API in depth and is a better guide than this section alone.
<Provider> in app/layout.tsx (Server Component — no "use client")components/ui/provider.tsx already has "use client"suppressHydrationWarning to <html> to prevent color mode flicker"use client"// pages/_app.js
import { Provider } from "@/components/ui/provider"
export default function App({ Component, pageProps }) {
return (
<Provider>
<Component {...pageProps} />
</Provider>
)
}Remove any ColorModeScript from pages/_document.tsx — it is not used in v3.
Work through this after the migration is complete:
npm install / pnpm installnpx tsc --noEmit — resolve all type errorsnpm run lintnpm run buildgrep -r "ColorModeScript\|useColorModeValue\|extendTheme\|styleConfig\|@chakra-ui/icons\|@chakra-ui/next-js" src/If the user's version, framework, or scope is ambiguous, ask:
@chakra-ui/react are you on right now?"State assumptions clearly if you proceed without asking.
© chakra-ui, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/chakra-ui-migrate of chakra-ui/chakra-ui.
Open the folder on GitHubat commit f799e4d
Chakra UI v2 to v3 Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chakra UI v2 to v3 Migration this skillchakra-ui/chakra-ui | 41k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Creative Tim UI Blockscreativetimofficial/ui | 12k | — | ~2.1k | Automated safety check: Notes | MIT | |
| Animated React Component LibrariesHainrixz/editor-pro-max | 260 | 1 repos | ~5.7k | Automated safety check: Pass | Custom licence | |
| Fast Typescript Checkinternet-development/www-sacred | 1.6k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Animatedelphi-ai/animate-skill | 107 | — | ~1.3k | Automated safety check: Pass | None | |
| Awwwards-Level React AnimationsHainrixz/editor-pro-max | 260 | — | ~4.4k | Automated safety check: Pass | Custom licence |
creativetimofficial/ui
Helps install, generate and review Creative Tim UI blocks: shadcn/ui-based React and Tailwind sections that follow a restrained, production-minded design philosophy.
Hainrixz/editor-pro-max
Helps choose and drop in animated React components from Magic UI and React Bits for landing pages, marketing sites and dashboards, instead of hand-coding animations.
internet-development/www-sacred
Keep www-sacred's TypeScript fast to type-check and fast to run.
delphi-ai/animate-skill
Animation patterns and best practices for Next.js/React applications.
Hainrixz/editor-pro-max
Guides React animation work with GSAP, Motion, Anime.js and Lenis for scroll effects, page transitions, text effects and generative visuals, with a library decision table.
softmaple/softmaple
Animation skill for Motion (prev Framer Motion) and CSS animation.
chakra-ui/chakra-ui
Builds responsive, accessible Chakra UI v3 components and layouts, sets up Chakra in new or existing projects, and designs themes with tokens, semantic tokens and recipes.
chakra-ui/chakra-ui
Reviews and converts UI code to Chakra UI v3, producing a critique, rewritten code or both, from plain HTML, Tailwind, CSS Modules or styled-components.
Categories
Guides an upgrade from Chakra UI v2 to v3: inspect the project, swap packages, run the official codemod, then fix provider, color mode, props, theming and Next.js code. js with App or Pages Router, Vite or plain React) and the package manager from the lockfile, and it spot-checks provider, theme and color mode files. Chakra UI v3 needs Node 20 or newer, so the agent confirms that first when the environment is uncertain.
Chakra UI v2 to v3 Migration fits situations like: upgrading a project from Chakra UI v2 to v3; fixing breaking changes right after a Chakra upgrade; converting ColorModeScript, useColorModeValue, extendTheme or isDisabled usage; checking what changed between Chakra UI v2 and v3.
Run `npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a claude-code`. Or copy the skill folder (skills/chakra-ui-migrate in chakra-ui/chakra-ui) into .claude/skills/chakra-ui-migrate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a codex`. Or copy the skill folder (skills/chakra-ui-migrate in chakra-ui/chakra-ui) into .agents/skills/chakra-ui-migrate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chakra-ui/chakra-ui --skill chakra-ui-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chakra-ui-migrate, .gemini/skills/chakra-ui-migrate, .github/skills/chakra-ui-migrate and .opencode/skills/chakra-ui-migrate in your project.
Going by SKILL.md and its folder, Chakra UI v2 to v3 Migration needs the command-line tools its instructions call (npm, npx, pnpm and yarn). Our summary lists: Node.js 20 or newer; A project using Chakra UI v2.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Chakra UI v2 to v3 Migration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Chakra UI v2 to v3 Migration: Creative Tim UI Blocks (creativetimofficial/ui, 12k stars), Animated React Component Libraries (Hainrixz/editor-pro-max, 260 stars), Fast Typescript Check (internet-development/www-sacred, 1.6k stars) and Animate (delphi-ai/animate-skill, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
chakra-ui (a GitHub organization) maintains it in chakra-ui/chakra-ui, which has 40,676 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: chakra-ui/chakra-ui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.