Agent skill

Assembling Components

by ancoleman in 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…

MITAuto-check passedDevelopment

Install Assembling Components

skills CLI
$ npx skills add ancoleman/ai-design-components --skill assembling-components -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ancoleman/ai-design-components assembling-components --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
assembling-components
GitHub stars
526
Token cost
~3.3k tokens
SKILL.md length
632 words
Files
22 (incl. scripts, references, assets)
Skills in repo
75
Repo updated
First seen
Licence
MIT

At a glance

Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import chains, and framework-specific…

  • Works in 4 steps: Validate Token Integration → Generate Project Scaffolding → Wire Components Together → …
  • Tasks that involve Project scaffolding
  • SKILL.md covers Purpose, When to Use, Skill Chain Context and Token Validation, plus 6 more sections
  • Calls python

What it does

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.

When your agent uses it

  • Tasks that involve Project scaffolding
  • Tasks that involve Theming and dark mode

Example prompts

  • “Use the assembling-components skill to assemble component outputs from AI Design Components skills into unified, production-ready component systems…”
  • “/assembling-components”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Validate Token Integration
  2. Generate Project Scaffolding
  3. Wire Components Together
  4. Configure Build System

What it can do on your machine

Read from SKILL.md and the folder at commit 76551b7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~19k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 632 words, ~3,339 tokens.

Download SKILL.mdSave it as .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.
name
assembling-components
description
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.

Assembling Components

Purpose

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.

When to Use

Activate this skill when:

  • Completing a skill chain workflow (theming → layout → dashboards → data-viz → feedback)
  • Generating new project scaffolding for React/Vite, Next.js, FastAPI, Flask, or Rust/Axum
  • Validating that all generated CSS uses design tokens (not hardcoded values)
  • Creating barrel exports and wiring component imports correctly
  • Assembling components from multiple skills into a unified application
  • Debugging integration issues (missing entry points, broken imports, theme not switching)
  • Preparing generated code for production deployment

Skill Chain Context

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
Expected Outputs by Skill
SkillPrimary OutputsToken Dependencies
theming-componentstokens.css, theme-provider.tsxFoundation
designing-layoutsLayout.tsx, Header.tsx, Sidebar.tsx--spacing-, --color-border-
creating-dashboardsDashboard.tsx, KPICard.tsxAll layout + chart tokens
visualizing-dataChart components, legends--chart-color-, --font-size-
building-formsForm inputs, validation--spacing-, --radius-, --color-error
building-tablesTable, pagination--color-, --spacing-
providing-feedbackToast, Spinner, EmptyState--color-success/error/warning

Token Validation

Run Validation Script (Token-Free Execution)
bash
# 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
Our Token Naming Conventions
css
/* 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);
Validation Rules
Must Use Tokens (Errors)Example Fix
Colors#FA582D → var(--color-primary)
Spacing (≥4px)16px → var(--spacing-md)
Font sizes14px → var(--font-size-sm)
Should Use Tokens (Warnings)Example Fix
Border radius8px → var(--radius-md)
Shadows0 4px... → var(--shadow-md)
Z-index (≥100)1000 → var(--z-dropdown)

Framework Selection

React/TypeScript

Choose Vite + React when:

  • Building single-page applications
  • Lightweight, fast development builds
  • Maximum control over configuration
  • No server-side rendering needed

Choose Next.js 14/15 when:

  • Need server-side rendering or static generation
  • Building full-stack with API routes
  • SEO is important
  • Using React Server Components
Python

Choose FastAPI when:

  • Building modern async APIs
  • Need automatic OpenAPI documentation
  • High performance is required
  • Using Pydantic for validation

Choose Flask when:

  • Simpler, more flexible setup
  • Familiar with Flask ecosystem
  • Template rendering (Jinja2)
  • Smaller applications
Rust

Choose Axum when:

  • Modern tower-based architecture
  • Type-safe extractors
  • Async-first design
  • Growing ecosystem

Choose Actix Web when:

  • Maximum performance required
  • Actor model benefits your use case
  • More mature ecosystem

Implementation Approach

1. Validate Token Integration

Before assembly, check all CSS uses tokens:

bash
python scripts/validate_tokens.py <component-directory>

Fix any violations before proceeding.

2. Generate Project Scaffolding

React/Vite:

tsx
// 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:

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>
3. Wire Components Together

Theme Provider:

tsx
// 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:

tsx
// 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'
4. Configure Build System

vite.config.ts:

typescript
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:

json
{
  "compilerOptions": {
    "target": "ES2020",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "moduleResolution": "bundler",
    "jsx": "react-jsx",
    "strict": true,
    "baseUrl": ".",
    "paths": { "@/*": ["./src/*"] }
  },
  "include": ["src"]
}
Show full SKILL.md (251 more words)Show less

Cross-Skill Integration

Using Theming Components
tsx
// Import tokens first, components inherit token values
import './styles/tokens.css'

// Use ThemeProvider at root
<ThemeProvider>
  <App />
</ThemeProvider>
Using Dashboard Components
tsx
// 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>
Using Data Visualization
tsx
// Charts from visualizing-data skill
import { DonutChart } from '@/components/charts'

// Charts use --chart-color-* tokens automatically
<DonutChart
  data={threatData}
  title="Threats by Severity"
/>
Using Feedback Components
tsx
// 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 />}

Integration Checklist

Before delivery, verify:

  • Token file exists (tokens.css) with all 7 categories
  • Token import order correct (tokens.css → globals.css → components)
  • No hardcoded values (run validate_tokens.py)
  • Theme toggle works (data-theme attribute switches)
  • Reduced motion supported (@media (prefers-reduced-motion))
  • Build completes without errors
  • Types pass (TypeScript compiles)
  • Imports resolve (no missing modules)
  • Barrel exports exist for each component directory

Bundled Resources

Scripts (Token-Free Execution)
  • scripts/validate_tokens.py - Validate CSS uses design tokens
  • scripts/generate_scaffold.py - Generate project boilerplate
  • scripts/check_imports.py - Validate import chains
  • scripts/generate_exports.py - Create barrel export files

Run scripts directly without loading into context:

bash
python scripts/validate_tokens.py demo/examples --fix-suggestions
References (Detailed Patterns)
  • references/library-context.md - AI Design Components library awareness
  • references/react-vite-template.md - Full Vite + React setup
  • references/nextjs-template.md - Next.js 14/15 patterns
  • references/python-fastapi-template.md - FastAPI project structure
  • references/rust-axum-template.md - Rust/Axum project structure
  • references/token-validation-rules.md - Complete validation rules
Examples (Complete Implementations)
  • examples/react-dashboard/ - Full Vite + React dashboard
  • examples/nextjs-dashboard/ - Next.js App Router dashboard
  • examples/fastapi-dashboard/ - Python FastAPI dashboard
  • examples/rust-axum-dashboard/ - Rust Axum dashboard
Assets (Templates)
  • assets/templates/react/ - React project templates
  • assets/templates/python/ - Python project templates
  • assets/templates/rust/ - Rust project templates

Application Assembly Workflow

  1. Validate Components: Run validate_tokens.py on all generated CSS
  2. Choose Framework: React/Vite, Next.js, FastAPI, or Rust based on requirements
  3. Generate Scaffolding: Create project structure and configuration
  4. Wire Imports: Set up entry point, import chain, barrel exports
  5. Add Providers: ThemeProvider, ToastProvider at root
  6. Connect Components: Import and compose feature components
  7. Configure Build: vite.config, tsconfig, package.json
  8. Final Validation: Build, type-check, lint
  9. Document: README with setup and usage instructions

For 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

Files

SKILL.md and 21 other files (scripts, references, assets) in skills/assembling-components of ancoleman/ai-design-components.

  • SKILL.md
  • assets/templates/python/README.md
  • assets/templates/react/README.md
  • assets/templates/rust/README.md
  • examples/README.md
  • examples/fastapi-dashboard/README.md
  • examples/nextjs-dashboard/README.md
  • examples/react-dashboard/README.md
  • examples/rust-axum-dashboard/README.md
  • outputs.yaml
  • references
  • … and 11 more

Open the folder on GitHubat commit 76551b7

Compare with similar skills

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.

Assembling Components compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Assembling Components this skillancoleman/ai-design-components526—~3.3kAutomated safety check: PassMIT
Scaffold ProjectMarve10s/Better-Fullstack752—~716Automated safety check: PassMIT
UI UX Pro Maxfutureboard/futureboard-studio106—~5.6kAutomated safety check: PassMIT
NEAR dApp Builderinternet-court/internet-court-skill6.4k1 repos~684Automated safety check: PassCustom licence
Fullstack DevHHU3637kr/skills1453 repos~8.6kAutomated safety check: NotesMIT
Fullstack Devinfometa/workbuddyskills344—~1kAutomated safety check: PassMIT

Similar skills

  • Scaffold Project

    Marve10s/Better-Fullstack

    Scaffold a new app, API, backend, fullstack project, mobile app, polyglot service, monorepo, or starter with Better Fullstack.

    752 GitHub stars~716 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • UI UX Pro Max

    futureboard/futureboard-studio

    Comprehensive design guide for web, mobile, and desktop applications.

    106 GitHub stars~5.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • NEAR dApp Builder

    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.

    6.4k GitHub starsUsed in 1 repo~684 tokens
    Frontend & DesignAuto-check passed
  • Fullstack Dev

    HHU3637kr/skills

    Full-stack backend architecture and frontend-backend integration guide.

    145 GitHub starsUsed in 3 repos~8.6k tokens
    Backend & APIsAuto-check: notes
  • Fullstack Dev

    infometa/workbuddyskills

    Full-stack backend architecture and frontend-backend integration guide.

    344 GitHub stars~1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Nextjs App Architecture

    jakubwarkusz/themes

    Build or audit Next.js 16 App Router apps using a next-beats-style React Server Components architecture.

    123 GitHub starsUsed in 1 repo~2.5k tokens
    DevelopmentAuto-check passed

More from ancoleman/ai-design-components

All 75 skills in this repo
  • Building AI Chat

    ancoleman/ai-design-components

    Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.

    526 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Building Forms

    ancoleman/ai-design-components

    Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.

    526 GitHub stars~3.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Building Tables

    ancoleman/ai-design-components

    Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.

    526 GitHub stars~1.8k tokensUpdated 10 mo ago
    Auto-check passed
  • Creating Dashboards

    ancoleman/ai-design-components

    Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.

    526 GitHub stars~3.5k tokensUpdated 10 mo ago
    Auto-check passed
  • Designing Layouts

    ancoleman/ai-design-components

    Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.

    526 GitHub stars~1.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Displaying Timelines

    ancoleman/ai-design-components

    Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.

    526 GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed

Questions about Assembling Components

What does Assembling Components do?

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.

When should I use Assembling Components?

Assembling Components fits situations like: tasks that involve Project scaffolding; tasks that involve Theming and dark mode.

How do I install Assembling Components in Claude Code?

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.

How do I install Assembling Components in Codex?

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.

Can I use Assembling Components in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Assembling Components need to run?

Going by SKILL.md and its folder, Assembling Components needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Assembling Components access the network?

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.

Is Assembling Components safe to install?

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.

What licence does Assembling Components use?

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.

How many tokens does Assembling Components use?

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.

What are the alternatives to Assembling Components?

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.

Who maintains Assembling Components?

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.