Scaffold Project
Marve10s/Better-Fullstack
Scaffold a new app, API, backend, fullstack project, mobile app, polyglot service, monorepo, or starter with Better Fullstack.
Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific…
$ npx skills add ancoleman/ai-design-components --skill assembling-components -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ancoleman/ai-design-components assembling-components --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/ancoleman/ai-design-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/assembling-components .claude/skills/assembling-components && 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 "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .claude/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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/ancoleman/ai-design-components/tree/main/skills/assembling-componentsType 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 ancoleman/ai-design-components --skill assembling-components -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ancoleman/ai-design-components assembling-components --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/assembling-components .agents/skills/assembling-components && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .agents/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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 ancoleman/ai-design-components --skill assembling-components -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ancoleman/ai-design-components assembling-components --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/assembling-components .cursor/skills/assembling-components && 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 "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .cursor/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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/ancoleman/ai-design-components.git --path skills/assembling-components--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 ancoleman/ai-design-components --skill assembling-components -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ancoleman/ai-design-components assembling-components --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/assembling-components .gemini/skills/assembling-components && 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 "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .gemini/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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 ancoleman/ai-design-components assembling-componentsInstalls 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 ancoleman/ai-design-components --skill assembling-components -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/assembling-components .github/skills/assembling-components && 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 "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .github/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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 ancoleman/ai-design-components --skill assembling-components -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ancoleman/ai-design-components assembling-components --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/assembling-components .opencode/skills/assembling-components && 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 "assembling-components" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/assembling-components into .opencode/skills/assembling-components/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "assembling-components", 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.
assembling-componentsAssembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific…
Assembling Components is an agent skill from ancoleman/ai-design-components. Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific scaffolding. Use as the capstone skill after running theming, layout, dashboard, data-viz, or feedback skills to wire components into working React/Next.js, Python, or Rust projects.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files, including scripts, reference files and assets (for example `assets/templates/python/README.md`, `assets/templates/react/README.md` and `assets/templates/rust/README.md`).
It sits in Development, covering Project scaffolding and Theming and dark mode. It works with React, Rust, Python and Next.js. The repository describes itself as: Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 76551b7. 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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Assembling Components loads about 3.3k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 98 tokens; SKILL.md has 632 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); the scripts in this folder are not scanned.
The full file from ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 632 words, ~3,339 tokens.
.claude/skills/assembling-components/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.This skill transforms the outputs of AI Design Components skills into production-ready applications. It provides library-specific context for our token system, component patterns, and skill chain workflow - knowledge that generic assembly patterns cannot provide. The skill validates token integration, generates proper scaffolding, and wires components together correctly.
Activate this skill when:
This skill understands the output of every AI Design Components skill:
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ theming- │────▶│ designing- │────▶│ creating- │
│ components │ │ layouts │ │ dashboards │
└──────────────────┘ └──────────────────┘ └──────────────────┘
│ │ │
▼ ▼ ▼
tokens.css Layout.tsx Dashboard.tsx
theme-provider.tsx Header.tsx KPICard.tsx
│ │ │
└────────────────────────┴────────────────────────┘
│
▼
┌──────────────────────┐
│ visualizing-data │
│ providing-feedback │
└──────────────────────┘
│
▼
DonutChart.tsx
Toast.tsx, Spinner.tsx
│
▼
┌──────────────────────┐
│ ASSEMBLING- │
│ COMPONENTS │
│ (THIS SKILL) │
└──────────────────────┘
│
▼
WORKING COMPONENT SYSTEM| Skill | Primary Outputs | Token Dependencies |
|---|---|---|
theming-components | tokens.css, theme-provider.tsx | Foundation |
designing-layouts | Layout.tsx, Header.tsx, Sidebar.tsx | --spacing-, --color-border- |
creating-dashboards | Dashboard.tsx, KPICard.tsx | All layout + chart tokens |
visualizing-data | Chart components, legends | --chart-color-, --font-size- |
building-forms | Form inputs, validation | --spacing-, --radius-, --color-error |
building-tables | Table, pagination | --color-, --spacing- |
providing-feedback | Toast, Spinner, EmptyState | --color-success/error/warning |
# Basic validation
python scripts/validate_tokens.py src/styles
# Strict mode with fix suggestions
python scripts/validate_tokens.py src --strict --fix-suggestions
# JSON output for CI/CD
python scripts/validate_tokens.py src --json/* Colors - semantic naming */
--color-primary: #FA582D; /* Brand primary */
--color-success: #00CC66; /* Positive states */
--color-warning: #FFCB06; /* Caution states */
--color-error: #C84727; /* Error states */
--color-info: #00C0E8; /* Informational */
--color-bg-primary: #FFFFFF; /* Main background */
--color-bg-secondary: #F8FAFC; /* Elevated surfaces */
--color-text-primary: #1E293B; /* Body text */
--color-text-secondary: #64748B; /* Muted text */
/* Spacing - 4px base unit */
--spacing-xs: 0.25rem; /* 4px */
--spacing-sm: 0.5rem; /* 8px */
--spacing-md: 1rem; /* 16px */
--spacing-lg: 1.5rem; /* 24px */
--spacing-xl: 2rem; /* 32px */
/* Typography */
--font-size-xs: 0.75rem; /* 12px */
--font-size-sm: 0.875rem; /* 14px */
--font-size-base: 1rem; /* 16px */
--font-size-lg: 1.125rem; /* 18px */
/* Component sizes */
--icon-size-sm: 1rem; /* 16px */
--icon-size-md: 1.5rem; /* 24px */
--radius-sm: 4px;
--radius-md: 8px;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.05);| Must Use Tokens (Errors) | Example Fix |
|---|---|
| Colors | #FA582D → var(--color-primary) |
| Spacing (≥4px) | 16px → var(--spacing-md) |
| Font sizes | 14px → var(--font-size-sm) |
| Should Use Tokens (Warnings) | Example Fix |
|---|---|
| Border radius | 8px → var(--radius-md) |
| Shadows | 0 4px... → var(--shadow-md) |
| Z-index (≥100) | 1000 → var(--z-dropdown) |
Choose Vite + React when:
Choose Next.js 14/15 when:
Choose FastAPI when:
Choose Flask when:
Choose Axum when:
Choose Actix Web when:
Before assembly, check all CSS uses tokens:
python scripts/validate_tokens.py <component-directory>Fix any violations before proceeding.
React/Vite:
// src/main.tsx - Entry point
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { ThemeProvider } from '@/context/theme-provider'
import App from './App'
import './styles/tokens.css' // FIRST - token definitions
import './styles/globals.css' // SECOND - global resets
createRoot(document.getElementById('root')!).render(
<StrictMode>
<ThemeProvider>
<App />
</ThemeProvider>
</StrictMode>,
)index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{PROJECT_TITLE}}</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>Theme Provider:
// src/context/theme-provider.tsx
import { createContext, useContext, useEffect, useState } from 'react'
type Theme = 'light' | 'dark' | 'system'
const ThemeContext = createContext<{
theme: Theme
setTheme: (theme: Theme) => void
} | undefined>(undefined)
export function ThemeProvider({ children }: { children: React.ReactNode }) {
const [theme, setTheme] = useState<Theme>('system')
useEffect(() => {
const root = document.documentElement
const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches
? 'dark' : 'light'
root.setAttribute('data-theme', theme === 'system' ? systemTheme : theme)
localStorage.setItem('theme', theme)
}, [theme])
return (
<ThemeContext.Provider value={{ theme, setTheme }}>
{children}
</ThemeContext.Provider>
)
}
export const useTheme = () => {
const context = useContext(ThemeContext)
if (!context) throw new Error('useTheme must be used within ThemeProvider')
return context
}Barrel Exports:
// src/components/ui/index.ts
export { Button } from './button'
export { Card } from './card'
// src/components/features/dashboard/index.ts
export { KPICard } from './kpi-card'
export { DonutChart } from './donut-chart'
export { Dashboard } from './dashboard'vite.config.ts:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
})tsconfig.json:
{
"compilerOptions": {
"target": "ES2020",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"moduleResolution": "bundler",
"jsx": "react-jsx",
"strict": true,
"baseUrl": ".",
"paths": { "@/*": ["./src/*"] }
},
"include": ["src"]
}// Import tokens first, components inherit token values
import './styles/tokens.css'
// Use ThemeProvider at root
<ThemeProvider>
<App />
</ThemeProvider>// Components from creating-dashboards skill
import { Dashboard, KPICard } from '@/components/features/dashboard'
// Wire with data
<Dashboard>
<KPICard
label="Total Threats"
value={1234}
severity="critical"
trend={{ value: 15.3, direction: 'up' }}
/>
</Dashboard>// Charts from visualizing-data skill
import { DonutChart } from '@/components/charts'
// Charts use --chart-color-* tokens automatically
<DonutChart
data={threatData}
title="Threats by Severity"
/>// From providing-feedback skill
import { Toast, Spinner, EmptyState } from '@/components/feedback'
// Wire toast notifications
<ToastProvider>
<App />
</ToastProvider>
// Use spinner for loading states
{isLoading ? <Spinner /> : <Dashboard />}Before delivery, verify:
tokens.css) with all 7 categoriesvalidate_tokens.py)data-theme attribute switches)@media (prefers-reduced-motion))scripts/validate_tokens.py - Validate CSS uses design tokensscripts/generate_scaffold.py - Generate project boilerplatescripts/check_imports.py - Validate import chainsscripts/generate_exports.py - Create barrel export filesRun scripts directly without loading into context:
python scripts/validate_tokens.py demo/examples --fix-suggestionsreferences/library-context.md - AI Design Components library awarenessreferences/react-vite-template.md - Full Vite + React setupreferences/nextjs-template.md - Next.js 14/15 patternsreferences/python-fastapi-template.md - FastAPI project structurereferences/rust-axum-template.md - Rust/Axum project structurereferences/token-validation-rules.md - Complete validation rulesexamples/react-dashboard/ - Full Vite + React dashboardexamples/nextjs-dashboard/ - Next.js App Router dashboardexamples/fastapi-dashboard/ - Python FastAPI dashboardexamples/rust-axum-dashboard/ - Rust Axum dashboardassets/templates/react/ - React project templatesassets/templates/python/ - Python project templatesassets/templates/rust/ - Rust project templatesvalidate_tokens.py on all generated CSSFor library-specific patterns and complete context, see references/library-context.md.
© ancoleman, 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 21 other files (scripts, references, assets) in skills/assembling-components of ancoleman/ai-design-components.
Open the folder on GitHubat commit 76551b7
Assembling Components 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 |
|---|---|---|---|---|---|---|
| Assembling Components this skillancoleman/ai-design-components | 526 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Scaffold ProjectMarve10s/Better-Fullstack | 752 | — | ~716 | Automated safety check: Pass | MIT | |
| UI UX Pro Maxfutureboard/futureboard-studio | 106 | — | ~5.6k | Automated safety check: Pass | MIT | |
| NEAR dApp Builderinternet-court/internet-court-skill | 6.4k | 1 repos | ~684 | Automated safety check: Pass | Custom licence | |
| Fullstack DevHHU3637kr/skills | 145 | 3 repos | ~8.6k | Automated safety check: Notes | MIT | |
| Fullstack Devinfometa/workbuddyskills | 344 | — | ~1k | Automated safety check: Pass | MIT |
Marve10s/Better-Fullstack
Scaffold a new app, API, backend, fullstack project, mobile app, polyglot service, monorepo, or starter with Better Fullstack.
futureboard/futureboard-studio
Comprehensive design guide for web, mobile, and desktop applications.
internet-court/internet-court-skill
Scaffolds new NEAR dApps with create-near-app or adds NEAR wallet sign-in, contract calls and transaction signing to an existing React or plain JavaScript app.
HHU3637kr/skills
Full-stack backend architecture and frontend-backend integration guide.
infometa/workbuddyskills
Full-stack backend architecture and frontend-backend integration guide.
jakubwarkusz/themes
Build or audit Next.js 16 App Router apps using a next-beats-style React Server Components architecture.
ancoleman/ai-design-components
Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.
ancoleman/ai-design-components
Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.
ancoleman/ai-design-components
Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.
ancoleman/ai-design-components
Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.
ancoleman/ai-design-components
Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.
ancoleman/ai-design-components
Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.
Categories
Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific…. Assembling Components is an agent skill from ancoleman/ai-design-components. Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific scaffolding.
Assembling Components fits situations like: tasks that involve Project scaffolding; tasks that involve Theming and dark mode.
Run `npx skills add ancoleman/ai-design-components --skill assembling-components -a claude-code`. Or copy the skill folder (skills/assembling-components in ancoleman/ai-design-components) into .claude/skills/assembling-components in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ancoleman/ai-design-components --skill assembling-components -a codex`. Or copy the skill folder (skills/assembling-components in ancoleman/ai-design-components) into .agents/skills/assembling-components 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 ancoleman/ai-design-components --skill assembling-components -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/assembling-components, .gemini/skills/assembling-components, .github/skills/assembling-components and .opencode/skills/assembling-components in your project.
Going by SKILL.md and its folder, Assembling Components needs the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Assembling Components 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.3k tokens (SKILL.md is roughly 13k 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 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Assembling Components: Scaffold Project (Marve10s/Better-Fullstack, 752 stars), UI UX Pro Max (futureboard/futureboard-studio, 106 stars), NEAR dApp Builder (internet-court/internet-court-skill, 6.4k stars) and Fullstack Dev (HHU3637kr/skills, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ancoleman (a GitHub user) maintains it in ancoleman/ai-design-components, which has 526 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on December 11, 2025.
Source: ancoleman/ai-design-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.