Agent skill

Building Forms

by ancoleman in ancoleman/ai-design-components

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

MITAuto-check passedFrontend & Design

Install Building Forms

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

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

GitHub CLI
$ gh skill install ancoleman/ai-design-components building-forms --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/building-forms .claude/skills/building-forms && 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
building-forms
GitHub stars
526
Token cost
~3.7k tokens
SKILL.md length
1,297 words
Files
51 (incl. scripts, references, assets)
Skills in repo
75
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 5 steps: On Submit - Validate when form submitted… → On Blur - Validate when field loses… → On Change - Validate as user types… → …
  • Collecting user input
  • SKILL.md covers Purpose, When to Use This Skill, Universal Form Concepts and Language-Specific…, plus 6 more sections
  • Building surveys

What it does

Building Forms is an agent skill from ancoleman/ai-design-components. Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages. Includes 50+ input types, validation strategies, accessibility patterns (WCAG 2.1), multi-step wizards, and UX best practices. Provides decision trees from data type to component selection, validation timing guidance, and error handling patterns. Use when creating forms, collecting user input, building surveys, implementing validation, designing multi-step workflows…

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 56 other files, including scripts, reference files and assets (for example `assets/error-messages/errors-en.json`, `assets/error-messages/errors-es.json` and `assets/error-messages/errors-fr.json`).

It sits in Frontend & Design, covering Accessibility. 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

  • Collecting user input
  • Building surveys
  • Implementing validation
  • Designing multi-step workflows

Example prompts

  • “Use the building-forms skill to build form components and data collection interfaces including contact forms, registration flows, checkout…”
  • “/building-forms”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. On Submit - Validate when form submitted (simple forms)
  2. On Blur - Validate when field loses focus (RECOMMENDED for most forms)
  3. On Change - Validate as user types (password strength, availability checks)
  4. Debounced - Validate after user stops typing (API-based validation)
  5. Progressive - Start with on-blur, switch to on-change after first error

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.

    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

Building Forms loads about 3.7k tokens when it runs, and up to ~65k if it reads all its reference files. Until then it costs about 141 tokens; SKILL.md has 1,297 words of instructions outside code blocks.

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

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). 1,297 words, ~3,726 tokens.

Download SKILL.mdSave it as .claude/skills/building-forms/SKILL.md (or your agent's skills folder). This skill also uses 50 other files; get the full folder from GitHub.
name
building-forms
description
Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages. Includes 50+ input types, validation strategies, accessibility patterns (WCAG 2.1), multi-step wizards, and UX best practices. Provides decision trees from data type to component selection, validation timing guidance, and error handling patterns. Use when creating forms, collecting user input, building surveys, implementing validation, designing multi-step workflows, or ensuring form accessibility.

Form Systems & Input Patterns

Build accessible, user-friendly forms with systematic component selection, validation strategies, and UX best practices.

Purpose

Forms are the primary mechanism for user data input in web applications. This skill provides systematic guidance for:

  • Selecting appropriate input types based on data requirements
  • Implementing validation strategies that enhance user experience
  • Ensuring WCAG 2.1 AA accessibility compliance
  • Creating complex patterns (multi-step wizards, conditional fields, dynamic forms)

When to Use This Skill

Triggers:

  • Building contact forms, login/registration flows, checkout processes
  • Implementing surveys, questionnaires, or settings pages
  • Adding validation to user inputs
  • Creating multi-step workflows or wizards
  • Ensuring form accessibility
  • Collecting structured data (addresses, credit cards, dates)

Common Requests:

  • "Create a registration form with validation"
  • "Build a multi-step checkout flow"
  • "Add inline validation to email input"
  • "Make this form accessible for screen readers"
  • "Implement a survey with conditional questions"

Universal Form Concepts

Component Selection Framework

The Golden Rule: Data Type → Input Component → Validation Pattern

Start by identifying the data type to collect, then select the appropriate component:

Quick Reference:

  • Short text (<100 chars) → Text input, Email input, Password input
  • Long text (>100 chars) → Textarea, Rich text editor, Code editor
  • Numeric → Number input, Currency input, Slider
  • Date/Time → Date picker, Time picker, Date range picker
  • Boolean → Checkbox, Toggle switch
  • Single choice → Radio group (2-7 options), Select dropdown (>7 options), Autocomplete (>15 options)
  • Multiple choice → Checkbox group, Multi-select, Tag input
  • File/Media → File upload, Image upload
  • Structured → Address input, Credit card input, Phone number input

For detailed decision tree: See references/decision-tree.md

Validation Timing Strategies

Recommended Default: On Blur with Progressive Enhancement

Field pristine (never touched): No validation
User typing: No errors shown
On blur (field loses focus): Validate and show errors
After first error: Switch to onChange for that field
On fix: Show success immediately

Validation Modes:

  1. On Submit - Validate when form submitted (simple forms)
  2. On Blur - Validate when field loses focus (RECOMMENDED for most forms)
  3. On Change - Validate as user types (password strength, availability checks)
  4. Debounced - Validate after user stops typing (API-based validation)
  5. Progressive - Start with on-blur, switch to on-change after first error

For complete validation guide: See references/validation-concepts.md

Accessibility Requirements (WCAG 2.1 AA)

Critical Accessibility Patterns:

Labels and Instructions:

  • Every input must have an associated <label> or aria-label
  • Labels must be visible and descriptive
  • Required fields clearly indicated (not by color alone)
  • Never use placeholder text as label replacement
  • Provide help text for complex inputs

Keyboard Navigation:

  • Logical, sequential tab order
  • All inputs keyboard accessible
  • Custom components support arrow keys
  • Escape key dismisses modals/popovers
  • Focus visible (outline or custom indicator)

Error Handling:

  • Errors programmatically associated with inputs (aria-describedby)
  • Error messages clear and actionable
  • Errors announced by screen readers (aria-live)
  • Focus moves to first error on submit
  • Errors not conveyed by color alone

ARIA Attributes:

  • aria-required="true" for required fields
  • aria-invalid="true" when validation fails
  • aria-describedby linking to help/error text
  • role="group" for related inputs
  • aria-live="polite" for validation messages

For complete accessibility checklist: See references/accessibility-forms.md

UX Best Practices

Modern Form UX Principles (2024-2025):

  1. Progressive Disclosure - Show only essential fields initially, reveal advanced options on demand
  2. Smart Defaults - Pre-fill known information, suggest values based on context
  3. Inline Validation with Positive Feedback - Show green checkmark on valid input, provide helpful error messages
  4. Mobile-First - Large touch targets (44px minimum), appropriate keyboard types
  5. Reduce Cognitive Load - Group related fields, use clear labels, provide examples
  6. Error Prevention - Constraints prevent invalid input, autocomplete reduces typos
  7. Autosave and Recovery - Save draft state automatically, warn before losing data

For detailed UX patterns: See references/ux-patterns.md

Error Message Best Practices

Good Error Message Formula:

  1. What's wrong - "Email address is not valid"
  2. Why it matters - "We need this to send your receipt"
  3. How to fix - "Format: name@example.com"

Examples:

❌ Bad: "Invalid input" ✅ Good: "Email address must include @ symbol (e.g., name@example.com)"

❌ Bad: "Error" ✅ Good: "Password must be at least 8 characters long"

❌ Bad: "Field required" ✅ Good: "Please enter your email address so we can send order confirmation"

Tone Guidelines:

  • Conversational, not robotic
  • Helpful, not blaming
  • Specific, not generic
  • Actionable, not just descriptive

Language-Specific Implementations

This skill provides universal form concepts above, with language-specific implementations below.

JavaScript/React (PRIMARY)

Recommended Stack:

  • React Hook Form - Form state management (best performance, 8KB bundle)
  • Zod - TypeScript-first schema validation
  • Radix UI or React Aria - Accessible component primitives

Quick Start:

tsx
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import * as z from 'zod';

// Define validation schema
const schema = z.object({
  email: z.string().email('Invalid email address'),
  password: z.string().min(8, 'Password must be at least 8 characters'),
});

type FormData = z.infer<typeof schema>;

function LoginForm() {
  const { register, handleSubmit, formState: { errors } } = useForm<FormData>({
    resolver: zodResolver(schema),
    mode: 'onBlur', // Validate on blur (recommended)
  });

  const onSubmit = (data: FormData) => {
    console.log(data);
  };

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <label htmlFor="email">Email</label>
      <input id="email" {...register('email')} type="email" />
      {errors.email && <span role="alert">{errors.email.message}</span>}

      <label htmlFor="password">Password</label>
      <input id="password" {...register('password')} type="password" />
      {errors.password && <span role="alert">{errors.password.message}</span>}

      <button type="submit">Login</button>
    </form>
  );
}

Detailed JavaScript/React Documentation:

  • references/javascript/react-hook-form.md - Complete React Hook Form guide
  • references/javascript/zod-validation.md - Zod schema validation patterns
  • references/javascript/examples/ - Working code examples
Python (PRIMARY)

Recommended Stack:

  • Pydantic - Data validation and settings management (runtime validation, type-safe)
  • FastAPI - Modern async web framework with automatic validation
  • WTForms - Flask/Django form handling (when using traditional frameworks)

Quick Start (FastAPI + Pydantic):

python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, EmailStr, Field, validator

app = FastAPI()

# Define validation schema
class LoginForm(BaseModel):
    email: EmailStr  # Validates email format
    password: str = Field(..., min_length=8, description="Password must be at least 8 characters")

    @validator('password')
    def validate_password_strength(cls, v):
        if not any(char.isdigit() for char in v):
            raise ValueError('Password must contain at least one number')
        if not any(char.isupper() for char in v):
            raise ValueError('Password must contain at least one uppercase letter')
        return v

@app.post("/api/login")
async def login(form_data: LoginForm):
    # Pydantic automatically validates incoming data
    # If validation fails, returns 422 with error details
    return {"message": "Login successful", "email": form_data.email}

# Example error response (automatic):
# {
#   "detail": [
#     {
#       "loc": ["body", "email"],
#       "msg": "value is not a valid email address",
#       "type": "value_error.email"
#     }
#   ]
# }

Detailed Python Documentation:

  • references/python/pydantic-forms.md - Pydantic validation patterns
  • references/python/wtforms.md - WTForms for Flask/Django
  • references/python/examples/ - Working code examples
Rust (FUTURE)

Planned Libraries:

  • validator - Struct field validation
  • Leptos / Yew - Reactive web frameworks

Rust implementation will be added when needed.

Go (FUTURE)

Planned Libraries:

  • Templ - Type-safe HTML templating
  • html/template - Standard library templating

Go implementation will be added when needed.

Show full SKILL.md (518 more words)Show less

Component Tiers

Tier 1: Basic Input Components

Text-Based:

  • Text field (single-line)
  • Textarea (multi-line)
  • Email input (with validation)
  • Password input (with visibility toggle)
  • Number input (with step controls)
  • Tel input (with formatting)
  • URL input (with protocol validation)
  • Search input (with clear button)

Selection:

  • Radio group (2-7 options)
  • Checkbox (boolean or multiple)
  • Toggle switch (clear on/off states)
  • Select dropdown (many options)
  • Multi-select (multiple selections)

Date & Time:

  • Date picker (calendar interface)
  • Time picker (hour/minute)
  • Date range picker (start and end)
  • DateTime picker (combined)
Tier 2: Rich Input Components

Advanced Selection:

  • Autocomplete/Combobox (type to filter)
  • Tag input (multiple tags)
  • Transfer list (move items between lists)
  • Listbox (keyboard-navigable)

Specialized:

  • Color picker (hex, RGB, HSL)
  • File uploader (single, multiple, drag-drop)
  • Image uploader (crop, resize, preview)
  • Slider/Range (single or range)
  • Rating input (stars, numeric, emoji)
  • Rich text editor (formatting, media)
  • Code editor (syntax highlighting)
  • Markdown editor (preview, toolbar)

Structured Data:

  • Address input (multi-field)
  • Credit card input (formatted)
  • Phone number (international)
  • Currency input (symbol, decimal)
Tier 3: Complex Form Patterns

Multi-Step Forms:

  • Linear wizard (step 1 → 2 → 3)
  • Branching wizard (conditional steps)
  • Progress indicators
  • Save and resume (draft state)
  • Review and submit page

Dynamic Forms:

  • Conditional fields (show/hide)
  • Repeating sections (add/remove)
  • Field arrays (dynamic list)
  • Nested forms (complex objects)

Advanced Patterns:

  • Inline editing (click to edit)
  • Bulk editing (multiple records)
  • Autosave (periodic or on change)
  • Optimistic updates
  • Undo/redo functionality

Integration with Design Tokens

All form components use the design-tokens skill for visual styling, enabling theme switching (light/dark/high-contrast/custom brands).

Key Token Categories:

  • Color - Input backgrounds, borders, text, error/success states
  • Spacing - Padding, gaps between fields, label margins
  • Typography - Font sizes, weights for inputs, labels, errors
  • Borders - Border width, radius, focus ring
  • Shadows - Focus indicators, elevation

See: skills/design-tokens/ for complete theming documentation.

Common Use Cases

Contact Form
tsx
// Basic contact form with validation
// See: references/javascript/examples/basic-form.tsx
Registration Flow
tsx
// Multi-step registration with password strength
// See: references/javascript/examples/multi-step-wizard.tsx
Inline Validation
tsx
// Real-time validation with debouncing
// See: references/javascript/examples/inline-validation.tsx
Survey with Conditional Logic
tsx
// Dynamic form with conditional fields
// See: references/javascript/examples/conditional-form.tsx
Settings Page
tsx
// Mixed input types with autosave
// See: references/javascript/examples/settings-form.tsx

Quick Decision Guide

Question: What input should I use? → See references/decision-tree.md for complete decision tree

Question: When should I validate? → Use on-blur with progressive enhancement (on-change after first error) → See references/validation-concepts.md for all strategies

Question: How do I make my form accessible? → Use semantic HTML, label all inputs, support keyboard navigation → See references/accessibility-forms.md for WCAG 2.1 checklist

Question: How do I handle complex validation? → Use schema validation (Zod for TypeScript, Yup for JavaScript) → See references/javascript/zod-validation.md for patterns

Question: How do I build a multi-step form? → Use state management with progress tracking → See references/javascript/examples/multi-step-wizard.tsx

Best Practices Summary

  1. Start with semantic HTML - Use native <input>, <select>, <textarea> when possible
  2. Label everything - Every input needs a visible, descriptive label
  3. Validate on blur - Best UX balance for most forms
  4. Provide helpful errors - Explain what's wrong and how to fix it
  5. Support keyboard navigation - Tab order, arrow keys, escape to dismiss
  6. Mobile-first - Large touch targets, appropriate keyboards
  7. Progressive disclosure - Don't overwhelm with all fields at once
  8. Autosave when possible - Prevent data loss
  9. Test with screen readers - Ensure ARIA attributes work correctly
  10. Use design tokens - Consistent styling, theme support

Additional Resources

  • references/decision-tree.md - Complete component selection framework
  • references/validation-concepts.md - All validation strategies and patterns
  • references/accessibility-forms.md - WCAG 2.1 AA compliance checklist
  • references/ux-patterns.md - Modern form UX best practices
  • references/javascript/ - JavaScript/React implementation guides

© 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 50 other files (scripts, references, assets) in skills/building-forms of ancoleman/ai-design-components.

  • SKILL.md
  • assets/error-messages/errors-en.json
  • assets/error-messages/errors-es.json
  • assets/error-messages/errors-fr.json
  • assets/form-schemas/contact-form.json
  • assets/form-schemas/registration-form.json
  • assets/validation-rules/common-validations.json
  • assets/validation-rules/email-patterns.json
  • assets/validation-rules/phone-formats.json
  • examples/basic-form.tsx
  • examples/conditional-form.tsx
  • examples/inline-validation.tsx
  • examples/javascript/async-validation.tsx
  • examples/javascript/file-upload-preview.tsx
  • examples/multi-step-wizard.tsx
  • … and 36 more

Open the folder on GitHubat commit 76551b7

Compare with similar skills

Building Forms 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.

Building Forms compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Building Forms this skillancoleman/ai-design-components526—~3.7kAutomated safety check: PassMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k98 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.4k4 repos~1.2kAutomated safety check: PassMIT
Wcag Audit PatternsvmDeshpande/ai-agent-automation17810 repos~610Automated safety check: PassApache-2.0

Similar skills

  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 98 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.4k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 10 repos~610 tokens
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.4k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-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 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
  • Guiding Users

    ancoleman/ai-design-components

    Implements onboarding and help systems including product tours, interactive tutorials, tooltips, checklists, help panels, and progressive disclosure patterns.

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

Questions about Building Forms

What does Building Forms do?

Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages. Building Forms is an agent skill from ancoleman/ai-design-components. Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.

When should I use Building Forms?

Building Forms fits situations like: collecting user input; building surveys; implementing validation; designing multi-step workflows.

How do I install Building Forms in Claude Code?

Run `npx skills add ancoleman/ai-design-components --skill building-forms -a claude-code`. Or copy the skill folder (skills/building-forms in ancoleman/ai-design-components) into .claude/skills/building-forms in your project. Claude Code loads it when a task matches its description.

How do I install Building Forms in Codex?

Run `npx skills add ancoleman/ai-design-components --skill building-forms -a codex`. Or copy the skill folder (skills/building-forms in ancoleman/ai-design-components) into .agents/skills/building-forms in your project. Codex loads it when a task matches its description.

Can I use Building Forms 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 building-forms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/building-forms, .gemini/skills/building-forms, .github/skills/building-forms and .opencode/skills/building-forms in your project.

What does Building Forms need to run?

SKILL.md names no scripts, command-line tools or credentials: Building Forms is instructions for the agent only. Our summary lists: Python 3.

Does Building Forms 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 Building Forms 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 Building Forms use?

Building Forms 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 Building Forms use?

About 3.7k tokens (SKILL.md is roughly 15k 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 61k tokens, read only when the agent opens those files.

What are the alternatives to Building Forms?

Skills that share tags, products or a category with Building Forms: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Building Forms?

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.