Agent skill

UI Implementer

by MadAppGang in MadAppGang/claude-code

Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching.

MITAuto-check: notesFrontend & Design

Install UI Implementer

skills CLI
$ npx skills add MadAppGang/claude-code --skill ui-implementer -a claude-code

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

GitHub CLI
$ gh skill install MadAppGang/claude-code ui-implementer --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/MadAppGang/claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/frontend/skills/ui-implementer .claude/skills/ui-implementer && 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
ui-implementer
GitHub stars
284
Token cost
~3.3k tokens
SKILL.md length
726 words
Files
1
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching.

  • Works in 5 steps: Initialize Workflow → Gather User Inputs → Initial Implementation from Scratch → …
  • User provides a design and wants pixel-perfect UI implementation with design fidelity validation
  • SKILL.md covers When to use this Skill, DO NOT use this Skill when:, Instructions and Orchestration Rules, plus 2 more sections
  • Reaches figma.com

What it does

UI Implementer is an agent skill from MadAppGang/claude-code. Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching. Use when user provides a design and wants pixel-perfect UI implementation with design fidelity validation. Triggers automatically when user mentions Figma links, design screenshots, or wants to implement UI from designs.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Design to code. It works with Figma. The repository describes itself as: claude code plugins marketplace. The licence is MIT.

When your agent uses it

  • User provides a design and wants pixel-perfect UI implementation with design fidelity validation
  • Automatically when user mentions Figma links
  • Design screenshots
  • Wants to implement UI from designs

Example prompts

  • “Use the ui-implementer skill to implement UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent…”
  • “/ui-implementer”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Task, AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, TaskList, TaskGet, Glob, Grep

Workflow steps

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

  1. Initialize Workflow
  2. Gather User Inputs
  3. Initial Implementation from Scratch
  4. Validation and Adaptive Fixing Loop
  5. Final Report & Completion

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Task
    • AskUserQuestion
    • Bash
    • Read
    • TaskCreate
    • TaskUpdate
    • TaskList
    • TaskGet
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript and markdown).

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • figma.com

    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

UI Implementer loads about 3.3k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 726 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

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

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Task, AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, TaskList, TaskGet, Glob, Grep

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.

SKILL.md

The full file from MadAppGang/claude-code at commit 6097ad4, republished under its MIT licence (© MadAppGang). 726 words, ~3,251 tokens.

Download SKILL.mdSave it as .claude/skills/ui-implementer/SKILL.md (or your agent's skills folder).
name
ui-implementer
description
Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching. Use when user provides a design and wants pixel-perfect UI implementation with design fidelity validation. Triggers automatically when user mentions Figma links, design screenshots, or wants to implement UI from designs.
allowed-tools
Task, AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, TaskList, TaskGet, Glob, Grep

UI Implementer

This Skill implements UI components from scratch based on design references using specialized UI development agents with intelligent validation and adaptive agent switching for optimal results.

When to use this Skill

Claude should invoke this Skill when:

Design References Provided:

  • User shares a Figma URL (e.g., "Here's the Figma design: https://figma.com/...")
  • User provides a screenshot/mockup path (e.g., "I have a design at /path/to/design.png")
  • User mentions a design URL they want to implement

Intent to Implement UI:

  • "Implement this UI design"
  • "Create components from this Figma file"
  • "Build this interface from the mockup"
  • "Make this screen match the design"

Pixel-Perfect Requirements:

  • "Make it look exactly like the design"
  • "Implement pixel-perfect from Figma"
  • "Match the design specifications exactly"

Examples of User Messages:

  • "Here's a Figma link, can you implement the UserProfile component?"
  • "I have a design screenshot, please create the dashboard layout"
  • "Implement this navbar from the mockup at designs/navbar.png"
  • "Build the product card to match this Figma: https://figma.com/..."

DO NOT use this Skill when:

  • User just wants to validate existing UI (use browser-debugger or /validate-ui instead)
  • User wants to fix existing components (use regular developer agent)
  • User wants to implement features without design reference (use regular implementation flow)

Instructions

This Skill implements the same workflow as the /implement-ui command. Follow these phases:

PHASE 0: Initialize Workflow

Create a global todo list to track progress:

TaskCreate:
- PHASE 1: Gather inputs (design reference, component description, preferences)
- PHASE 1: Validate inputs and find target location
- PHASE 2: Launch UI Developer for initial implementation
- PHASE 3: Start validation and iterative fixing loop
- PHASE 3: Quality gate - ensure design fidelity achieved
- PHASE 4: Generate final implementation report
- PHASE 4: Present results and complete handoff
PHASE 1: Gather User Inputs

Step 1: Extract Design Reference

Check if user already provided design reference in their message:

  • Scan for Figma URLs: https://figma.com/design/... or https://figma.com/file/...
  • Scan for file paths: /path/to/design.png, ~/designs/mockup.jpg
  • Scan for remote URLs: http://example.com/design.png

If design reference found in user's message:

  • Extract and store as design_reference
  • Log: "Design reference detected: [design_reference]"

If NOT found, ask:

I'd like to implement UI from your design reference.

Please provide the design reference:
1. Figma URL (e.g., https://figma.com/design/abc123.../node-id=136-5051)
2. Screenshot file path (local file on your machine)
3. Remote URL (live design reference)

What is your design reference?

Step 2: Extract Component Description

Check if user mentioned what to implement:

  • Look for component names: "UserProfile", "navbar", "dashboard", "ProductCard"
  • Look for descriptions: "implement the header", "create the sidebar", "build the form"

If found:

  • Extract and store as component_description

If NOT found, ask:

What UI component(s) should I implement from this design?

Examples:
- "User profile card component"
- "Navigation header with mobile menu"
- "Product listing grid with filters"
- "Dashboard layout with widgets"

What component(s) should I implement?

Step 3: Ask for Target Location

Ask:

Where should I create this component?

Options:
1. Provide a specific directory path (e.g., "src/components/profile/")
2. Let me suggest based on component type
3. I'll tell you after seeing the component structure

Where should I create the component files?

Store as target_location.

Step 4: Ask for Application URL

Ask:

What is the URL where I can preview the implementation?

Examples:
- http://localhost:5173 (Vite default)
- http://localhost:3000 (Next.js/CRA default)
- https://staging.yourapp.com

Preview URL?

Store as app_url.

Step 5: Ask for UI Developer Codex Preference

Use AskUserQuestion:

Enable intelligent agent switching with UI Developer Codex?

When enabled:
- If UI Developer struggles (2 consecutive failures), switches to UI Developer Codex
- If UI Developer Codex struggles (2 consecutive failures), switches back
- Provides adaptive fixing with both agents for best results

Enable intelligent agent switching?

Options:

  • "Yes - Enable intelligent agent switching"
  • "No - Use only UI Developer"

Store as codex_enabled (boolean).

Step 6: Validate Inputs

Validate all inputs using the same logic as /implement-ui command:

  • Design reference format (Figma/Remote/Local)
  • Component description not empty
  • Target location valid
  • Application URL valid
PHASE 2: Initial Implementation from Scratch

Launch UI Developer agent using Task tool with subagent_type: frontend:ui-developer:

Implement the following UI component(s) from scratch based on the design reference.

**Design Reference**: [design_reference]
**Component Description**: [component_description]
**Target Location**: [target_location]
**Application URL**: [app_url]

**Your Task:**

1. **Analyze the design reference:**
   - If Figma: Use Figma MCP to fetch design screenshot and specs
   - If Remote URL: Use Chrome DevTools MCP to capture screenshot
   - If Local file: Read the file to view design

2. **Plan component structure:**
   - Determine component hierarchy
   - Identify reusable sub-components
   - Plan file structure (atomic design principles)

3. **Implement UI components from scratch using modern best practices:**
   - React 19 with TypeScript
   - Tailwind CSS 4 (utility-first, static classes only, no @apply)
   - Mobile-first responsive design
   - Accessibility (WCAG 2.1 AA, ARIA attributes)
   - Use existing design system components if available

4. **Match design reference exactly:**
   - Colors (Tailwind theme or exact hex)
   - Typography (families, sizes, weights, line heights)
   - Spacing (Tailwind scale: p-4, p-6, etc.)
   - Layout (flexbox, grid, alignment)
   - Visual elements (borders, shadows, border-radius)
   - Interactive states (hover, focus, active, disabled)

5. **Create component files in target location:**
   - Use Write tool to create files
   - Follow project conventions
   - Include TypeScript types
   - Add JSDoc comments

6. **Ensure code quality:**
   - Run typecheck: `npx tsc --noEmit`
   - Run linter: `npm run lint`
   - Run build: `npm run build`
   - Fix any errors

7. **Provide implementation summary:**
   - Files created
   - Components implemented
   - Key decisions
   - Any assumptions

Return detailed implementation summary when complete.

Wait for UI Developer to complete.

Show full SKILL.md (304 more words)Show less
PHASE 3: Validation and Adaptive Fixing Loop

Initialize loop variables:

iteration_count = 0
max_iterations = 10
previous_issues_count = None
current_issues_count = None
last_agent_used = None
ui_developer_consecutive_failures = 0
codex_consecutive_failures = 0
design_fidelity_achieved = false

Loop: While iteration_count < max_iterations AND NOT design_fidelity_achieved

Step 3.1: Launch Designer for Validation

Use Task tool with subagent_type: frontend:designer:

Review the implemented UI component against the design reference.

**Iteration**: [iteration_count + 1] / 10
**Design Reference**: [design_reference]
**Component Description**: [component_description]
**Implementation Files**: [List of files]
**Application URL**: [app_url]

**Your Task:**
1. Fetch design reference screenshot
2. Capture implementation screenshot at [app_url]
3. Perform comprehensive design review:
   - Colors & theming
   - Typography
   - Spacing & layout
   - Visual elements
   - Responsive design
   - Accessibility (WCAG 2.1 AA)
   - Interactive states

4. Document ALL discrepancies
5. Categorize by severity (CRITICAL/MEDIUM/LOW)
6. Provide actionable fixes with code snippets
7. Calculate design fidelity score (X/60)

8. **Overall assessment:**
   - PASS ✅ (score >= 54/60)
   - NEEDS IMPROVEMENT ⚠️ (score 40-53/60)
   - FAIL ❌ (score < 40/60)

Return detailed design review report.

Step 3.2: Check if Design Fidelity Achieved

Extract from designer report:

  • Overall assessment
  • Issue count
  • Design fidelity score

If assessment is "PASS":

  • Set design_fidelity_achieved = true
  • Exit loop (success)

Step 3.3: Determine Fixing Agent (Smart Switching Logic)

javascript
function determineFix ingAgent() {
  // If Codex not enabled, always use UI Developer
  if (!codex_enabled) return "ui-developer"

  // Smart switching based on consecutive failures
  if (ui_developer_consecutive_failures >= 2) {
    // UI Developer struggling - switch to Codex
    return "ui-developer-codex"
  }

  if (codex_consecutive_failures >= 2) {
    // Codex struggling - switch to UI Developer
    return "ui-developer"
  }

  // Default: UI Developer (or continue with last successful)
  return last_agent_used || "ui-developer"
}

Step 3.4: Launch Fixing Agent

If fixing_agent == "ui-developer":

  • Use Task with subagent_type: frontend:ui-developer
  • Provide designer feedback
  • Request fixes

If fixing_agent == "ui-developer-codex":

  • Use Task with subagent_type: frontend:ui-developer-codex
  • Prepare complete prompt with designer feedback + current code
  • Request expert fix plan

Step 3.5: Update Metrics and Loop

javascript
// Check if progress was made
const progress_made = (current_issues_count < previous_issues_count)

if (progress_made) {
  // Success! Reset counters
  ui_developer_consecutive_failures = 0
  codex_consecutive_failures = 0
} else {
  // No progress - increment failure counter
  if (last_agent_used === "ui-developer") {
    ui_developer_consecutive_failures++
  } else if (last_agent_used === "ui-developer-codex") {
    codex_consecutive_failures++
  }
}

// Update for next iteration
previous_issues_count = current_issues_count
iteration_count++

Continue loop until design fidelity achieved or max iterations reached.

PHASE 4: Final Report & Completion

Generate comprehensive implementation report:

markdown
# UI Implementation Report

## Component Information
- Component: [component_description]
- Design Reference: [design_reference]
- Location: [target_location]
- Preview: [app_url]

## Implementation Summary
- Files Created: [count]
- Components: [list]

## Validation Results
- Iterations: [count] / 10
- Final Status: [PASS/NEEDS IMPROVEMENT/FAIL]
- Design Fidelity Score: [score] / 60
- Issues: [count]

## Agent Performance
- UI Developer: [iterations, successes]
- UI Developer Codex: [iterations, successes] (if enabled)
- Agent Switches: [count] times

## Quality Metrics
- Design Fidelity: [Pass/Needs Improvement]
- Accessibility: [WCAG compliance]
- Responsive: [Mobile/Tablet/Desktop]
- Code Quality: [TypeScript/Lint/Build status]

## How to Use
[Preview instructions]
[Component location]
[Example usage]

## Outstanding Items
[List any remaining issues or recommendations]

Present results to user and offer next actions.

Orchestration Rules

Smart Agent Switching:
  • Track consecutive failures independently for each agent
  • Switch after 2 consecutive failures (no progress)
  • Reset counters when progress is made
  • Log all switches with reasons
  • Balance UI Developer (speed) with UI Developer Codex (expertise)
Loop Prevention:
  • Maximum 10 iterations before asking user
  • Track progress at each iteration (issue count)
  • Ask user for guidance if limit reached
Quality Gates:
  • Design fidelity score >= 54/60 for PASS
  • All CRITICAL issues must be resolved
  • Accessibility compliance required

Success Criteria

Complete when:

  1. ✅ UI component implemented from scratch
  2. ✅ Designer validated against design reference
  3. ✅ Design fidelity score >= 54/60
  4. ✅ All CRITICAL issues resolved
  5. ✅ Accessibility compliant (WCAG 2.1 AA)
  6. ✅ Responsive (mobile/tablet/desktop)
  7. ✅ Code quality passed (typecheck/lint/build)
  8. ✅ Comprehensive report provided
  9. ✅ User acknowledges completion

Notes

  • This Skill wraps the /implement-ui command workflow
  • Use proactively when user provides design references
  • Implements from scratch (not for fixing existing UI)
  • Smart switching maximizes success rate
  • All work on unstaged changes until user approves
  • Maximum 10 iterations with user escalation

© MadAppGang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/frontend/skills/ui-implementer of MadAppGang/claude-code.

Open the folder on GitHubat commit 6097ad4

Compare with similar skills

UI Implementer 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.

UI Implementer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
UI Implementer this skillMadAppGang/claude-code284—~3.3kAutomated safety check: NotesMIT
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma Design to Codewarpdotdev/warp65k4 repos~2.9kAutomated safety check: PassAGPL-3.0
Figma Design System Rules Generatorwarpdotdev/warp65k3 repos~4.6kAutomated safety check: PassAGPL-3.0
Figma Code Connect Componentswarpdotdev/warp65k2 repos~4.2kAutomated safety check: PassAGPL-3.0
Design To CodeMigoXLab/coderio1142 repos~1.2kAutomated safety check: PassApache-2.0

Similar skills

  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Figma Design to Code

    warpdotdev/warp

    Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

    65k GitHub starsUsed in 4 repos~2.9k tokens
    Frontend & DesignAuto-check passed
  • Creates project-specific design system rules from your codebase so coding agents implement Figma designs with your components, naming and tokens.

    65k GitHub starsUsed in 3 repos~4.6k tokens
    Frontend & DesignAuto-check passed
  • Maps published Figma components to their code implementations with Code Connect, using the Figma MCP suggestion and mapping tools.

    65k GitHub starsUsed in 2 repos~4.2k tokens
    Frontend & DesignAuto-check passed
  • Design To Code

    MigoXLab/coderio

    Pixel-perfect Figma to React conversion using coderio. An agent skill from MigoXLab/coderio.

    114 GitHub starsUsed in 2 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Figma Screen Generator

    warpdotdev/warp

    Builds or updates full Figma screens from code or a description by reusing the file's published design system components, variables and styles.

    65k GitHub starsUsed in 2 repos~5k tokens
    Frontend & DesignAuto-check passed

More from MadAppGang/claude-code

All 69 skills in this repo
  • API Spec Analyzer

    MadAppGang/claude-code

    Analyzes API documentation from OpenAPI specs to provide TypeScript interfaces, request/response formats, and implementation guidance.

    284 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Content Brief

    MadAppGang/claude-code

    Content brief template and creation methodology for SEO-optimized content.

    284 GitHub starsUsed in 1 repo~959 tokens
    Auto-check passed
  • Context Detection

    MadAppGang/claude-code

    A skill your agent uses when detecting project technology stack from files/configs/directory structure, auto-loading framework-specific skills, or analyzing multi-stack fullstack projects (e.g…

    284 GitHub stars~5.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Content Optimizer

    MadAppGang/claude-code

    On-page SEO optimization techniques including keyword density, meta tags, heading structure, and readability.

    284 GitHub starsUsed in 1 repo~694 tokens
    Auto-check passed
  • Keyword Cluster Builder

    MadAppGang/claude-code

    Techniques for expanding seed keywords and clustering by topic and intent.

    284 GitHub starsUsed in 1 repo~674 tokens
    Auto-check passed
  • Serp Analysis

    MadAppGang/claude-code

    SERP analysis techniques for intent classification, feature identification, and competitive intelligence.

    284 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed

Works with

Questions about UI Implementer

What does UI Implementer do?

Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching. UI Implementer is an agent skill from MadAppGang/claude-code. Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching.

When should I use UI Implementer?

UI Implementer fits situations like: user provides a design and wants pixel-perfect UI implementation with design fidelity validation; automatically when user mentions Figma links; design screenshots; wants to implement UI from designs.

How do I install UI Implementer in Claude Code?

Run `npx skills add MadAppGang/claude-code --skill ui-implementer -a claude-code`. Or copy the skill folder (plugins/frontend/skills/ui-implementer in MadAppGang/claude-code) into .claude/skills/ui-implementer in your project. Claude Code loads it when a task matches its description.

How do I install UI Implementer in Codex?

Run `npx skills add MadAppGang/claude-code --skill ui-implementer -a codex`. Or copy the skill folder (plugins/frontend/skills/ui-implementer in MadAppGang/claude-code) into .agents/skills/ui-implementer in your project. Codex loads it when a task matches its description.

Can I use UI Implementer 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 MadAppGang/claude-code --skill ui-implementer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui-implementer, .gemini/skills/ui-implementer, .github/skills/ui-implementer and .opencode/skills/ui-implementer in your project.

What does UI Implementer need to run?

SKILL.md names no scripts, command-line tools or credentials: UI Implementer is instructions for the agent only. Our summary lists: Node.js. Its frontmatter pre-approves these tools: Task, AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, TaskList, TaskGet, Glob, Grep.

Does UI Implementer access the network?

SKILL.md names 1 domain. In commands or code: figma.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is UI Implementer safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does UI Implementer use?

UI Implementer 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 UI Implementer 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.

What are the alternatives to UI Implementer?

Skills that share tags, products or a category with UI Implementer: Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars), Figma Design to Code (warpdotdev/warp, 65k stars), Figma Design System Rules Generator (warpdotdev/warp, 65k stars) and Figma Code Connect Components (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains UI Implementer?

MadAppGang (a GitHub organization) maintains it in MadAppGang/claude-code, which has 284 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on March 15, 2026.

Source: MadAppGang/claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.