Connect Component To Figma
dequelabs/cauldron
Add a Figma Code Connect (.figma.tsx) file for a Cauldron React component.
Best practices for building and improving React code components in Framer, a no-code website builder.
$ npx skills add framer/plugins --skill framer-component-best-practices -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install framer/plugins framer-component-best-practices --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/framer/plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/code-link-cli/skills .claude/skills/framer-component-best-practices && 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 "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .claude/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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/framer/plugins/tree/main/packages/code-link-cli/skillsType 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 framer/plugins --skill framer-component-best-practices -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install framer/plugins framer-component-best-practices --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/framer/plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/code-link-cli/skills .agents/skills/framer-component-best-practices && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .agents/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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 framer/plugins --skill framer-component-best-practices -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install framer/plugins framer-component-best-practices --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/framer/plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/code-link-cli/skills .cursor/skills/framer-component-best-practices && 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 "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .cursor/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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/framer/plugins.git --path packages/code-link-cli/skills--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 framer/plugins --skill framer-component-best-practices -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install framer/plugins framer-component-best-practices --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/framer/plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/code-link-cli/skills .gemini/skills/framer-component-best-practices && 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 "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .gemini/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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 framer/plugins framer-component-best-practicesInstalls 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 framer/plugins --skill framer-component-best-practices -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/framer/plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/code-link-cli/skills .github/skills/framer-component-best-practices && 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 "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .github/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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 framer/plugins --skill framer-component-best-practices -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install framer/plugins framer-component-best-practices --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/framer/plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/code-link-cli/skills .opencode/skills/framer-component-best-practices && 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 "framer-component-best-practices" agent skill from https://github.com/framer/plugins/tree/main/packages/code-link-cli/skills into .opencode/skills/framer-component-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "framer-component-best-practices", 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.
framer-component-best-practicesBest practices for building and improving React code components in Framer, a no-code website builder.
Framer Component Best Practices is an agent skill from framer/plugins. Best practices for building and improving React code components in Framer, a no-code website builder. Covers property controls, animations, accessibility, and platform constraints. Use when creating, editing, or reviewing Framer components, working with ControlType property controls, or building React components for Framer projects.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/EXAMPLES.md`, `references/PROPERTY_CONTROLS.md` and `references/PROPERTY_CONTROL_GUIDE.md`).
It sits in Frontend & Design, covering React components and Accessibility. It works with React. The repository describes itself as: A collection of example Framer Plugins. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6f9a02e. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
framerusercontent.comFrom 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.
Framer Component Best Practices loads about 1.3k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 433 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 framer/plugins at commit 6f9a02e, republished under its MIT licence (© framer). 433 words, ~1,340 tokens.
.claude/skills/framer-component-best-practices/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Best practices for building and improving React components in Framer with property controls, animations, and accessibility.
import { addPropertyControls, ControlType } from "framer";
import { motion } from "framer-motion"; // NOT from "framer"
interface MyComponentProps {
/* typed props */
}
/**
* @framerSupportedLayoutWidth any-prefer-fixed
* @framerSupportedLayoutHeight any-prefer-fixed
*/
export default function MyComponent(props: MyComponentProps) {
// component
}
addPropertyControls(MyComponent, {
/* controls */
});These will cause errors if violated:
function syntax (not arrow functions), no named exportsreact, react-dom, framer, framer-motion. Import motion from "framer-motion", not "framer"position: relative on the root element, never fixedwindow/document access: if (typeof window !== "undefined")@framerSupportedLayoutWidth/Height in a /** */ block comment immediately above the component functionMyComponentProps). Avoid NodeJS types like Timeout — use number instead| Content | Width | Height |
|---|---|---|
| No intrinsic size | fixed | fixed |
| Text/auto-sizing | auto | auto |
| Flexible | any-prefer-fixed | any-prefer-fixed |
Detect auto vs fixed sizing: check if style.width or style.height is "100%".
To make components configurable in Framer's properties panel, add property controls:
ControlType.Color. Reuse the same prop for elements sharing a color.ControlType.Font with controls: "extended" and defaultFontType: "sans-serif".ControlType.ResponsiveImage. Set defaults in the component body via destructuring (the control doesn't support defaultValue).defaultValue for every prop so components render correctly in the Framer canvas. Include at least one item in ControlType.Array controls.ComponentName.defaultProps is not supported in Framer — use defaultValue on the property control instead.hidden for conditional visibility: hidden: (props) => !props.showFeatureconst {
image = {
src: "https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg",
alt: "Default",
},
} = props;import { useIsStaticRenderer } from "framer";
import { useInView } from "framer-motion";
const isStatic = useIsStaticRenderer();
const ref = useRef(null);
const isInView = useInView(ref);
if (isStatic) return <StaticPreview />; // Show useful static state
// Pause animations when out of viewportframer-motion.startTransition() prevents UI blocking and keeps interactions smooth.width: max-content or minWidth: max-content to prevent text from collapsing.SecurityError: Failed to execute 'texImage2D' for cross-origin images.aria roles on interactive elements<nav>, <article>, <section>)alt="" on decorative images© framer, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in packages/code-link-cli/skills of framer/plugins.
Open the folder on GitHubat commit 6f9a02e
Framer Component Best Practices 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 |
|---|---|---|---|---|---|---|
| Framer Component Best Practices this skillframer/plugins | 138 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Connect Component To Figmadequelabs/cauldron | 129 | — | ~2k | Automated safety check: Pass | MPL-2.0 | |
| A11y Auditscaleway/ultraviolet | 127 | — | ~967 | Automated safety check: Pass | Apache-2.0 | |
| Base UI Reactsecondsky/claude-skills | 227 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Stitch to React and Vite Dashboardgoogle-labs-code/stitch-skills | 8.4k | — | ~914 | Automated safety check: Notes | Apache-2.0 | |
| Design Code for Any Frameworkplugin87/ux-ui-agent-skills | 1.6k | — | ~1.7k | Automated safety check: Pass | MIT |
dequelabs/cauldron
Add a Figma Code Connect (.figma.tsx) file for a Cauldron React component.
scaleway/ultraviolet
Audit components for accessibility. An agent skill from scaleway/ultraviolet.
secondsky/claude-skills
MUI Base UI unstyled React components with Floating UI. An agent skill from secondsky/claude-skills.
google-labs-code/stitch-skills
Turns Stitch screens into a React, Vite and TypeScript dashboard with TanStack Query data fetching, DESIGN.md tokens as CSS variables and optional read-only Web3 data.
plugin87/ux-ui-agent-skills
Generates complete, accessible, token-driven UI component code for a chosen framework such as React with Tailwind, SwiftUI, Vue, Flutter or Jetpack Compose.
shift-editor/shift
Guides design, implementation and review of Shift interface work: shared Base UI wrappers, Tailwind v4 theme tokens, Figma matching and accessible interaction states.
Works with
Categories
Best practices for building and improving React code components in Framer, a no-code website builder. Framer Component Best Practices is an agent skill from framer/plugins. Best practices for building and improving React code components in Framer, a no-code website builder.
Framer Component Best Practices fits situations like: reviewing Framer components; working with ControlType property controls; building React components for Framer projects.
Run `npx skills add framer/plugins --skill framer-component-best-practices -a claude-code`. Or copy the skill folder (packages/code-link-cli/skills in framer/plugins) into .claude/skills/framer-component-best-practices in your project. Claude Code loads it when a task matches its description.
Run `npx skills add framer/plugins --skill framer-component-best-practices -a codex`. Or copy the skill folder (packages/code-link-cli/skills in framer/plugins) into .agents/skills/framer-component-best-practices 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 framer/plugins --skill framer-component-best-practices -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/framer-component-best-practices, .gemini/skills/framer-component-best-practices, .github/skills/framer-component-best-practices and .opencode/skills/framer-component-best-practices in your project.
SKILL.md names no scripts, command-line tools or credentials: Framer Component Best Practices is instructions for the agent only. Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: framerusercontent.com; the agent is likely to contact it when it follows the instructions. 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.
Framer Component Best Practices is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 15k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Framer Component Best Practices: Connect Component To Figma (dequelabs/cauldron, 129 stars), A11y Audit (scaleway/ultraviolet, 127 stars), Base UI React (secondsky/claude-skills, 227 stars) and Stitch to React and Vite Dashboard (google-labs-code/stitch-skills, 8.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
framer (a GitHub organization) maintains it in framer/plugins, which has 138 GitHub stars. The repository was last updated on October 1, 2026.
Source: framer/plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.