pbakaus/impeccablePublic

The design language that makes your AI harness better at design.

AI summary: A design guidance tool and rule detector for AI coding agents to eliminate generic frontend tropes.

Stars
76.1K
+878 today
Forks
4.5K
Watchers
206
Open issues
53
Open PRs
11
Contributors
~54
Commits
1.9K
Branches
112

JavaScriptApache-2.0Created Nov 16, 2025Last push todayLatest release engine-v0.1.8+4.5K stars this week+11.1K this month

Quick answers

What is impeccable?
A design guidance tool and rule detector for AI coding agents to eliminate generic frontend tropes.
What does impeccable do?
Impeccable is a specialized design vocabulary and enforcement tool built to elevate the quality of frontend code generated by AI assistants. It specifically targets and eliminates common 'AI design tells'—like overused purple gradients, nested cards, and generic typography—by establishing a strict shared design context between the developer and the LLM. It initializes projects with explicit brand guidelines and provides 23 specialized commands (e.g., 'polish', 'quieter') to steer the AI's aesthetic choices. Crucially, it includes a suite of 60 deterministic, non-LLM detector rules that can instantly audit generated UI components for design flaws without requiring expensive API calls.
Who is impeccable for?
Frontend developers, designers, and engineering teams who heavily rely on AI coding assistants but require the output to be highly polished, on-brand, and structurally sound.
How do I get started with impeccable?
Run `npx impeccable install` in your project root, then execute `/impeccable init` inside your AI coding tool.
How popular is impeccable on GitHub?
pbakaus/impeccable has 76,114 stars and 4,544 forks on GitHub, and gained 4,547 stars in the last 7 days.
What license does impeccable use?
pbakaus/impeccable is released under the Apache-2.0 license.

Star history

since Jul 27, 2026
020K40K60KJul 2026Aug 2026Sep 2026Oct 2026
76.1K stars as of Oct 4, 2026. Measured daily since Jul 27, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 1 commit2025-11-16: 5 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 3 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 1 commit2025-12-15: 4 commits2025-12-16: 31 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 6 commits2026-01-07: 11 commits2026-01-08: 19 commits2026-01-09: 6 commits2026-01-10: 0 commits2026-01-11: 8 commits2026-01-12: 1 commit2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 4 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 14 commits2026-03-05: 8 commits2026-03-06: 0 commits2026-03-07: 1 commit2026-03-08: 3 commits2026-03-09: 0 commits2026-03-10: 4 commits2026-03-11: 1 commit2026-03-12: 6 commits2026-03-13: 1 commit2026-03-14: 3 commits2026-03-15: 14 commits2026-03-16: 11 commits2026-03-17: 23 commits2026-03-18: 8 commits2026-03-19: 13 commits2026-03-20: 9 commits2026-03-21: 5 commits2026-03-22: 1 commit2026-03-23: 2 commits2026-03-24: 13 commits2026-03-25: 1 commit2026-03-26: 0 commits2026-03-27: 4 commits2026-03-28: 3 commits2026-03-29: 1 commit2026-03-30: 11 commits2026-03-31: 4 commits2026-04-01: 1 commit2026-04-02: 4 commits2026-04-03: 25 commits2026-04-04: 0 commits2026-04-05: 5 commits2026-04-06: 8 commits2026-04-07: 13 commits2026-04-08: 52 commits2026-04-09: 12 commits2026-04-10: 20 commits2026-04-11: 3 commits2026-04-12: 12 commits2026-04-13: 18 commits2026-04-14: 4 commits2026-04-15: 2 commits2026-04-16: 1 commit2026-04-17: 4 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 1 commit2026-04-21: 11 commits2026-04-22: 55 commits2026-04-23: 14 commits2026-04-24: 9 commits2026-04-25: 6 commits2026-04-26: 2 commits2026-04-27: 9 commits2026-04-28: 20 commits2026-04-29: 9 commits2026-04-30: 4 commits2026-05-01: 0 commits2026-05-02: 4 commits2026-05-03: 4 commits2026-05-04: 4 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 2 commits2026-05-13: 6 commits2026-05-14: 5 commits2026-05-15: 1 commit2026-05-16: 0 commits2026-05-17: 1 commit2026-05-18: 2 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 1 commit2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 26 commits2026-05-29: 6 commits2026-05-30: 1 commit2026-05-31: 0 commits2026-06-01: 1 commit2026-06-02: 9 commits2026-06-03: 6 commits2026-06-04: 0 commits2026-06-05: 16 commits2026-06-06: 2 commits2026-06-07: 0 commits2026-06-08: 17 commits2026-06-09: 15 commits2026-06-10: 1 commit2026-06-11: 1 commit2026-06-12: 0 commits2026-06-13: 1 commit2026-06-14: 5 commits2026-06-15: 9 commits2026-06-16: 6 commits2026-06-17: 6 commits2026-06-18: 0 commits2026-06-19: 7 commits2026-06-20: 13 commits2026-06-21: 4 commits2026-06-22: 4 commits2026-06-23: 1 commit2026-06-24: 0 commits2026-06-25: 3 commits2026-06-26: 4 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 4 commits2026-06-30: 1 commit2026-07-01: 10 commits2026-07-02: 1 commit2026-07-03: 3 commits2026-07-04: 2 commits2026-07-05: 0 commits2026-07-06: 4 commits2026-07-07: 5 commits2026-07-08: 16 commits2026-07-09: 9 commits2026-07-10: 9 commits2026-07-11: 20 commits2026-07-12: 41 commits2026-07-13: 29 commits2026-07-14: 16 commits2026-07-15: 7 commits2026-07-16: 0 commits2026-07-17: 2 commits2026-07-18: 7 commits2026-07-19: 3 commits2026-07-20: 13 commits2026-07-21: 50 commits2026-07-22: 37 commits2026-07-23: 10 commits2026-07-24: 10 commits2026-07-25: 29 commits2026-07-26: 18 commits2026-07-27: 43 commits2026-07-28: 43 commits2026-07-29: 30 commits2026-07-30: 17 commits2026-07-31: 18 commits2026-08-01: 6 commits2026-08-02: 3 commits2026-08-03: 26 commits2026-08-04: 14 commits2026-08-05: 5 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 7 commits2026-08-09: 15 commits2026-08-10: 11 commits2026-08-11: 11 commits2026-08-12: 19 commits2026-08-13: 22 commits2026-08-14: 23 commits2026-08-15: 16 commits2026-08-16: 32 commits2026-08-17: 23 commits2026-08-18: 1 commit2026-08-19: 3 commits2026-08-20: 2 commits2026-08-21: 8 commits2026-08-22: 14 commits2026-08-23: 7 commits2026-08-24: 12 commits2026-08-25: 9 commits2026-08-26: 5 commits2026-08-27: 3 commits2026-08-28: 20 commits2026-08-29: 1 commit2026-08-30: 0 commits2026-08-31: 15 commits2026-09-01: 25 commits2026-09-02: 9 commits2026-09-03: 9 commits2026-09-04: 19 commits2026-09-05: 13 commits2026-09-06: 12 commits2026-09-07: 11 commits2026-09-08: 12 commits2026-09-09: 7 commits2026-09-10: 18 commits2026-09-11: 10 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 11 commits2026-09-15: 1 commit2026-09-16: 1 commit2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 2 commits2026-09-22: 4 commits2026-09-23: 0 commits2026-09-24: 4 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 1 commit2026-09-29: 4 commits2026-09-30: 8 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
1,803 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    76,114 stars

  • Rising fast

    +4,547 stars this week

  • Very active

    1,803 commits in 52 weeks

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

  • Repeat trending

    33 trending appearances

  • Top 10% tracked

    Rank 112 of 1135

What impeccable does

Impeccable is a specialized design vocabulary and enforcement tool built to elevate the quality of frontend code generated by AI assistants. It specifically targets and eliminates common 'AI design tells'—like overused purple gradients, nested cards, and generic typography—by establishing a strict shared design context between the developer and the LLM. It initializes projects with explicit brand guidelines and provides 23 specialized commands (e.g., 'polish', 'quieter') to steer the AI's aesthetic choices. Crucially, it includes a suite of 60 deterministic, non-LLM detector rules that can instantly audit generated UI components for design flaws without requiring expensive API calls.

Frontend developers, designers, and engineering teams who heavily rely on AI coding assistants but require the output to be highly polished, on-brand, and structurally sound.

  • Shared Design Context: Initialize projects with `PRODUCT.md` and `DESIGN.md` files to explicitly define brand voice, color palettes, and anti-references for the AI.
  • Specialized AI Commands: Utilize 23 specific directives like `audit`, `distill`, and `bolder` to precisely guide the AI's iterative design process.
  • Deterministic Defect Detection: Run 60 hardcoded, non-LLM rules locally to instantly catch common AI design flaws like poor contrast or inconsistent spacing.
  • Anti-Trope Enforcement: Actively prevent the generation of generic SaaS templates, overused gradients, and repetitive component structures.
  • Multi-Interface Auditing: Execute design checks seamlessly via a CLI tool against local code or through a browser extension against live websites.

Where teams use it

Guiding Brand-Specific Generation

Using context files to ensure an AI assistant generates React components that perfectly match a company's unique aesthetic rather than a generic template.

Automated UI Auditing

Running the deterministic CLI rules against newly generated AI components to instantly identify and correct accessibility or visual hierarchy issues.

Iterative Design Refinement

Employing commands like `/impeccable critique` to force an AI coding agent to re-evaluate and improve its own layout choices before finalizing code.

Standardizing Team Output

Deploying the tool across an engineering team to ensure all AI-assisted frontend work adheres strictly to a baseline of professional design principles.

Getting started: Run `npx impeccable install` in your project root, then execute `/impeccable init` inside your AI coding tool.

README

main branch

Impeccable

Design guidance for AI coding agents. 1 skill, 24 commands, live browser iteration, and 61 deterministic detector rules for AI-generated frontend design.

Quick start: From your project root, run npx impeccable install, then run /impeccable init inside your AI coding tool. Full docs: impeccable.style.

Why Impeccable?

Anthropic's frontend-design was the first widely-used design skill for Claude. Impeccable started from there.

Every model trained on the same SaaS templates. Skip the guidance and you get the same handful of tells on every project: Inter for everything, purple-to-blue gradients, cards nested in cards, gray text on colored backgrounds, the rounded-square icon tile above every heading.

Impeccable adds:

  • One setup flow. /impeccable init records durable product truth in PRODUCT.md, so later commands know the audience, purpose, operating context, constraints, voice, and evidence without confusing those facts with surface-level visual direction.
  • 24 commands. A shared design vocabulary with your AI: polish, audit, critique, distill, animate, bolder, quieter, and more.
  • 61 deterministic detector rules plus LLM-only critique checks. The CLI and browser extension run the deterministic rules with no LLM and no API key.

What's Included

The Skill: impeccable

The skill installs as one command:

/impeccable <command> <target>

Start every new project with:

/impeccable init

init inspects the project, asks only for material gaps in durable product truth, and writes PRODUCT.md. Visitor mode and visual direction are chosen later for each surface; incumbent or newly built visual systems are recorded separately in DESIGN.md.

24 Commands

All commands are accessed through /impeccable:

Command What it does
/impeccable craft Full shape-then-build flow with visual iteration
/impeccable init One-time setup: gather durable product context, write PRODUCT.md, configure live mode when applicable, recommend next steps
/impeccable document Generate root DESIGN.md from existing project code
/impeccable extract Pull reusable components and tokens into the design system
/impeccable shape Plan UX/UI before writing code
/impeccable critique UX design review: hierarchy, clarity, emotional resonance
/impeccable audit Run technical quality checks (a11y, performance, responsive)
/impeccable polish Final pass, design system alignment, and shipping readiness
/impeccable bolder Amplify boring designs
/impeccable quieter Tone down overly bold designs
/impeccable distill Strip to essence
/impeccable harden Error handling, i18n, text overflow, edge cases
/impeccable onboard First-run flows, empty states, activation paths
/impeccable animate Add purposeful motion
/impeccable colorize Introduce strategic color
/impeccable typeset Fix font choices, hierarchy, sizing
/impeccable layout Fix layout, spacing, visual rhythm
/impeccable delight Add moments of joy
/impeccable overdrive Add technically extraordinary effects
/impeccable clarify Improve unclear UX copy
/impeccable adapt Adapt for different devices
/impeccable optimize Performance improvements
/impeccable live Visual variant mode: iterate on elements in the browser
/impeccable generate Generate variants of a named element in the live browser, no manual picking

Use /impeccable pin <command> to create standalone shortcuts (e.g., pin audit creates /audit).

Usage Examples
/impeccable audit blog           # Audit blog hub + post pages
/impeccable critique landing     # UX design review
/impeccable polish settings      # Final pass before shipping
/impeccable harden checkout      # Add error handling + edge cases

Or use /impeccable directly with a description:

/impeccable redo this hero section

Anti-Patterns

The skill includes explicit guidance on what to avoid:

  • Don't use overused fonts (Arial, Inter, system defaults)
  • Don't use gray text on colored backgrounds
  • Don't use pure black/gray (always tint)
  • Don't wrap everything in cards or nest cards inside cards
  • Don't use bounce/elastic easing (feels dated)

See It In Action

Visit the Neo Mirai case study to see a before/after case study of a real project transformed with Impeccable commands.

Installation

The skill needs no runtime of its own. Every skill copy ships a small launcher (scripts/impeccable, plus impeccable.cmd for Windows) that runs the Impeccable engine, a self-contained binary that either sits next to the launcher or is downloaded once on first run into ~/.impeccable/bin/. Node is only involved if you use the npx impeccable installer, which is a shim around the same binary; the manual and Git options below work without it.

Option 1: CLI installer (Recommended)

From the root of your project, run:

npx impeccable install

This shows the harness folders or installed CLIs it detected (for example ~/.claude, ~/.codex, ~/.grok, ~/.hermes, ~/.veto, or project-local .cursor), lets you keep the detected set or customize providers, then asks whether to install into the current project or globally. Use --providers=claude,codex,cursor,grok,hermes,veto and --scope=project|global to skip those choices in scripts. On Claude Code, Cursor, Codex, GitHub Copilot, and Grok Build, it also installs the provider-native hook manifest for the current project. Veto receives the packaged skill under ~/.veto/skills/ and does not run native Impeccable edit hooks. Works with Cursor, Claude Code, Gemini CLI, Codex CLI, Grok Build, Hermes Agent, Veto, and every other supported tool. Reload your harness afterward.

To refresh an existing install, run:

npx impeccable update

Codex users should open /hooks after install or update and approve the project hook when prompted. Codex tracks trust by hook definition, so updates that change .codex/hooks.json can require approval again. Grok Build users need project folder trust (/hooks-trust or launch with --trust) before .grok/hooks/ scripts run.

See Allow the hook in your harness for harness-specific trust and verification steps.

Option 2: Git Submodule

For teams that want to keep Impeccable vendored and updated through Git, add this repo as a submodule and link the compiled provider build into your harness folders:

git submodule add https://github.com/pbakaus/impeccable .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor
git add .gitmodules .impeccable .claude .cursor
git commit -m "Add Impeccable skills"

Use the providers your project needs, for example claude, cursor, gemini, codex, github, grok, hermes, opencode, pi, qoder, trae, trae-cn, rovo-dev, vibe, or veto. The command links individual skill folders from .impeccable/dist/universal/ and leaves existing real skill directories untouched unless you pass --force.

To update later:

git submodule update --remote .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor

Option 3: Plugin install

GitHub Copilot in VS Code:

Install Impeccable from the Visual Studio Marketplace, or run:

code --install-extension renaissance-geek.impeccable

Requires VS Code 1.109.3+, Copilot Chat access, and a trusted local workspace. Open Chat in Agent mode and try /impeccable polish. This skill-only extension does not install automatic hooks; avoid a duplicate Impeccable skill in the same workspace/profile. See VS Code distribution details.

Claude Code:

/plugin marketplace add pbakaus/impeccable

Claude Code only. After adding the marketplace, open /plugin and install Impeccable from the list.

Grok Build:

grok plugin install pbakaus/impeccable#plugin --trust

Grok Build only. The #plugin suffix installs the slim plugin package (skills, agents, and hooks) instead of the full monorepo. Then run /impeccable init in a Grok session. Project-scoped installs via npx impeccable install --providers=grok also work and write .grok/skills/ plus .grok/hooks/impeccable.json.

Option 4: Download from Website

Visit impeccable.style, download the ZIP for your tool, and extract to your project.

Option 5: Copy from Repository

Cursor:

cp -r dist/cursor/.cursor your-project/

Note: Cursor skills require setup:

  1. Switch to Nightly channel in Cursor Settings → Beta
  2. Enable Agent Skills in Cursor Settings → Rules

Learn more about Cursor skills

Claude Code:

# Project-specific
cp -r dist/claude-code/.claude your-project/

# Or global (applies to all projects)
cp -r dist/claude-code/.claude/* ~/.claude/

OpenCode:

cp -r dist/opencode/.opencode your-project/

DeepSeek Harness:

# Project-specific
cp -r dist/dsh/.dsh your-project/

# Or global (applies to all projects)
mkdir -p "${DSH_HOME:-$HOME/.dsh}/skills"
cp -r dist/dsh/.dsh/skills/* "${DSH_HOME:-$HOME/.dsh}/skills/"

The CLI honors DSH_HOME only when it resolves inside your home directory (or to home itself); otherwise it uses ~/.dsh. An outside-home manual copy is not managed by impeccable install/update.

Hermes Agent:

# Global (applies to all projects; uses the active profile, or ~/.hermes by default)
cp -r dist/hermes/.hermes/skills/* "${HERMES_HOME:-$HOME/.hermes}/skills/"

# Or project-specific
cp -r dist/hermes/.hermes your-project/

Note: Hermes gates project-local skills behind a per-repo trust decision (they are procedure documents, so auto-loading them from any cloned repo is treated as a prompt-injection vector). After a project-scoped install, run hermes skills trust once from the project root. Global installs into the active $HERMES_HOME/skills/ (or ~/.hermes/skills/ when unset) load without a trust step. /impeccable <command> then routes through the skill's Commands table; the design hook does not install on Hermes (no hook surface).

Learn more about Hermes skills

Pi:

cp -r dist/pi/.pi your-project/

Gemini CLI:

cp -r dist/gemini/.gemini your-project/

Note: Gemini CLI skills require setup:

  1. Install preview version: npm i -g @google/gemini-cli@preview
  2. Run /settings and enable "Skills"
  3. Run /skills list to verify installation

Learn more about Gemini CLI skills

Codex CLI:

# Project-local
cp -r dist/agents/.agents your-project/
mkdir -p your-project/.codex
cp dist/codex/.codex/hooks.json your-project/.codex/hooks.json

# Or install the skill user-wide. Copy .codex/hooks.json into each project
# where you want the design hook to run.
mkdir -p ~/.agents/skills
cp -r dist/agents/.agents/skills/* ~/.agents/skills/

The asset-producer subagent ships nested inside the skill's own agents/ folder, which Codex auto-discovers. No separate .codex/agents/ copy is needed. The hook is project-local because Codex discovers hooks from .codex/hooks.json next to trusted project config.

GitHub Copilot:

cp -r dist/github/.github your-project/

Trae:

# Trae China (domestic version)
cp -r dist/trae/.trae-cn/skills/* ~/.trae-cn/skills/

# Trae International
cp -r dist/trae/.trae/skills/* ~/.trae/skills/

Note: Trae has two versions with different config directories:

  • Trae China: ~/.trae-cn/skills/
  • Trae International: ~/.trae/skills/

After copying, restart Trae IDE to activate the skills.

Rovo Dev:

# Project-specific
cp -r dist/rovo-dev/.rovodev your-project/

# Or global (applies to all projects)
cp -r dist/rovo-dev/.rovodev/skills/* ~/.rovodev/skills/

Qoder:

# Project-specific
cp -r dist/qoder/.qoder your-project/

# Or global (applies to all projects)
cp -r dist/qoder/.qoder/skills/* ~/.qoder/skills/

Mistral Vibe:

# Project-specific
cp -r dist/vibe/.vibe your-project/

# Or global (applies to all projects)
cp -r dist/vibe/.vibe/skills/* ~/.vibe/skills/

Grok Build:

# Project-specific
cp -r dist/grok/.grok your-project/

# Or global (applies to all projects)
cp -r dist/grok/.grok/skills/* ~/.grok/skills/

Prefer npx impeccable install --providers=grok or grok plugin install pbakaus/impeccable#plugin --trust so the design hook installs too. Project hooks need /hooks-trust (or --trust) once per folder.

Google Antigravity:

# Project-specific
cp -r dist/antigravity/.agent your-project/

# Or global (applies to all projects)
mkdir -p ~/.gemini/config/skills
cp -r dist/antigravity/.agent/skills/* ~/.gemini/config/skills/

Usage

Once installed, every command runs through the single /impeccable skill:

/impeccable audit        # Find issues
/impeccable polish       # Final cleanup
/impeccable distill      # Remove complexity
/impeccable critique     # Full design review

Type /impeccable alone to see the full command list.

Most commands accept an optional argument to focus on a specific area:

/impeccable audit the header
/impeccable polish the checkout form

If you reach for one command often, pin it with /impeccable pin audit to get /audit as a standalone shortcut.

Note: Codex uses skills here, not /prompts: commands. Open /skills or type $impeccable. Repo-local installs live in .agents/skills/; user-wide installs live in ~/.agents/skills/. GitHub Copilot uses .github/skills/. Restart the tool if a newly installed skill does not appear.

Keeping .impeccable out of git

As you run commands, Impeccable writes working files under .impeccable/: critique and polish screenshots, live-mode session and preview state, runtime caches, and per-developer config. Most of it is ephemeral and should not be committed, while a few files are shared project artifacts that belong in the repo. Add this block to your project's .gitignore:

# impeccable-ignore-start
# Ephemeral output, runtime state, and per-dev overrides.
# The **/ prefix covers .impeccable at the repo root or in a nested workspace.
# Shared artifacts stay tracked: config.json, live/config.json,
# design.json, surfaces/*.md, critique/*.md.
**/.impeccable/config.local.json
**/.impeccable/hook.cache.json
**/.impeccable/hook.pending.json
**/.impeccable/*.png
**/.impeccable/review/
**/.impeccable/questions/
**/.impeccable/live/server.json
**/.impeccable/live/sessions/
**/.impeccable/live/previews/
**/.impeccable/live/annotations/
**/.impeccable/live/cache/
**/.impeccable/live/manual-edit-apply-transaction.json
**/.impeccable/live/manual-edit-events.jsonl
**/.impeccable/live/manual-edit-evidence/
**/.impeccable/live/pending-manual-edits.json
**/.impeccable/live/deferred-svelte-component-accepts.json
**/.impeccable/live/*.png
# impeccable-ignore-end

The block is wrapped in # impeccable-ignore-start / # impeccable-ignore-end markers so you can recognize and refresh it later. The **/ prefix makes each pattern match whether the active project's .impeccable/ directory is at the repository root or under a nested workspace path like apps/web/.

Keep these tracked (they are shared project artifacts, do not add them to .gitignore):

  • .impeccable/config.json (unified shared config)
  • .impeccable/live/config.json (live-mode framework wiring)
  • .impeccable/design.json (shared design spec)
  • .impeccable/surfaces/*.md (route- or artifact-specific strategy and direction contracts)
  • .impeccable/critique/*.md (review reports)

If an ephemeral file (a screenshot, config.local.json) was committed before you added the block, .gitignore will not untrack it automatically. Run git rm --cached <path> to stop tracking it without deleting your local copy.

Design hook

On Claude Code, GitHub Copilot, Codex, Cursor, and Grok Build, npx impeccable install and npx impeccable update install a provider-native hook manifest along with the skill payload. The hook runs the Impeccable design detector on direct UI file edits and surfaces findings back into the agent flow. Claude Code, GitHub Copilot, and Codex surface findings after the edit (and run a deeper pass on Stop where supported). Grok Build scans after the edit to warm Stop, then surfaces on Stop; PostToolUse stdout never reaches the model. Cursor blocks bad proposed writes before they land.

Installed hook surfaces:

  • Claude Code: .claude/settings.local.json (gitignored, machine-local) runs ${CLAUDE_PROJECT_DIR}/.claude/skills/impeccable/scripts/impeccable hook. A hook moved into the shared settings.json is honored in place.
  • GitHub Copilot: .github/hooks/impeccable.json (committed, shared by the Copilot CLI and the cloud agent) runs .github/skills/impeccable/scripts/impeccable hook. The Copilot CLI activates it once the file is on the repository's default branch and the folder is trusted.
  • Cursor: .cursor/hooks.json runs .cursor/skills/impeccable/scripts/impeccable hook-before-edit.
  • Codex: .codex/hooks.json runs .agents/skills/impeccable/scripts/impeccable hook, with a commandWindows sibling that calls impeccable.cmd for cmd.exe.
  • Grok Build: .grok/hooks/impeccable.json runs .grok/skills/impeccable/scripts/impeccable hook. Requires /hooks-trust or --trust. Findings reach the model on Stop, not after each edit.

Every command goes through the launcher shipped in the skill's scripts/ directory (impeccable, or impeccable.cmd on Windows), guarded so a missing launcher is a silent no-op. The launcher runs the engine binary that ships next to it, or downloads the pinned version once into ~/.impeccable/bin/. No Node or other runtime is required for the hook or the skill.

In Claude Code, installed command hooks run independently of model-tool approval. The first edit or Stop event can therefore download and cache the engine even if the session denies the model's launcher command. Review installed hooks before unattended runs; to disable all Claude Code hooks for a run, pass --settings '{"disableAllHooks": true}'. See Claude Code's hook security guidance.

The installer preserves unrelated hook entries and settings. If a hook manifest is malformed, install/update aborts by default; rerun with --force to back up the malformed file as .bak and replace it.

On an interactive install/update, Impeccable explains the hook and offers to install it (default yes). Your choice is remembered per-developer in the gitignored .impeccable/config.local.json, so you are not asked again; --no-hooks skips it for that run without recording anything. Hook lifecycle settings live under the hook key of .impeccable/config.json; detector ignores live under detector, shared by /impeccable hooks and npx impeccable detect.

For debugging, set hook.auditLog in .impeccable/config.json to a path (or the legacy IMPECCABLE_HOOK_LOG env var) to write one NDJSON line per hook invocation. Leave it unset for normal use.

Build path: comp-first or code-first

When a new surface gets designed, Impeccable either generates a full-fidelity comp first and builds to match it, or builds straight in code with the ambition written into a development-only direction contract in the surface brief and checked at the finish. Comp-first composes bolder and takes longer; code-first is leaner and faster. /impeccable init asks once and records the answer as buildPath in .impeccable/config.json:

{ "buildPath": "comp" }

The values are comp and code, and nothing else is read. Set it in the gitignored .impeccable/config.local.json to override the team's committed value on one machine, which is what you want when your harness has no image generation. In a monorepo, commit it once at the repo root and any workspace that wants something else sets its own. The choice appears at all only where image generation is available, since without it there is nothing to comp.

You do not have to re-run init to set it on a project that predates the setting, and you do not have to edit the file by hand either. Whatever is recorded is a default rather than a lock: every decision page carries a footer toggle, and flipping it binds that session only. Flip it on a project that has recorded nothing and Impeccable asks once, after the round, whether to keep it, then writes your answer. That is the whole migration path for an existing project: use the toggle when the default is wrong, and answer the question that follows.

Codex requires one platform step that Impeccable cannot safely skip: open /hooks after install or update and approve the project hook. There is no Codex marketplace/plugin install flow for this hook.

Full hook docs: impeccable.style/docs/hooks.

The Stop pass suppresses confirmed pre-existing findings when a verified before-edit baseline is available (currently Claude Edit/Write results for text scans). Other findings are marked new or attribution unknown; unknown is not evidence that your session caused the problem. Explicit detect scans remain unchanged.

Manual copy commands are fallback/debug instructions. The normal path is:

npx impeccable install
npx impeccable update

Live mode and production sites

Live mode edits a local checkout through a development server or local static HTML. Injecting its localhost HTTP helper into a deployed production site, including an HTTPS site, is not supported. Do not disable browser security or weaken production CSP to make it work.

Use live mode only in projects you trust to run locally. Applying copy edits automatically runs package.json's optional scripts["impeccable:manual-edit-validate"] command in a shell, with your user permissions; review that script before using live mode in an unfamiliar checkout.

For production inspection, use npx impeccable detect https://example.com or the browser extension. These inspect the rendered page; they do not provide live variant editing or write changes back to your source.

CLI

Impeccable includes a standalone CLI for detecting anti-patterns without an AI harness. npx impeccable is a small shim that runs the same engine binary the skill uses (installed as a platform-specific optional dependency, or fetched once into ~/.impeccable/bin/); Node is needed only for npx itself, and you can also download the binary directly and put it on your PATH.

npx impeccable detect src/                   # scan a directory
npx impeccable detect index.html             # scan an HTML file
npx impeccable detect https://example.com    # scan a URL (uses an installed Chrome, Chromium, or Edge)
npx impeccable detect --json .               # CI-friendly JSON output
npx impeccable detect --no-config src/       # raw scan, ignoring project config/context
npx impeccable ignores list                  # show detector ignores
npx impeccable ignores add-file "src/legacy/**"
npx impeccable ignores add-value overused-font Inter --reason "Brand font"

The detector catches 61 deterministic issues across AI slop (side-tab borders, purple gradients, bounce easing, dark glows) and general design quality (line length, cramped padding, small touch targets, skipped headings, and more).

Human-readable findings are diagnostics written to stderr, so redirect them with 2> findings.txt. Use --json for machine-readable results on stdout. Exit 0 means the scan completed without primary findings, exit 2 means it completed with primary findings, and exit 1 means at least one requested target could not be scanned; operational failure takes precedence for a partial multi-target scan. URL scans inspect the rendered DOM, computed layout, and accessible linked stylesheets; browser security still prevents reading cross-origin CSS without CORS. A clean detector run is evidence, not proof of visual or accessibility quality: it does not replace inspecting the rendered experience across relevant viewports.

By default, detect respects the same .impeccable/config.json and .impeccable/config.local.json detector config as the design hook: detector.ignoreRules, detector.ignoreFiles, detector.ignoreValues, and detector.designSystem.enabled. Hook lifecycle settings such as hook.enabled only affect automatic hook execution.

For a waiver that should travel with one file instead of the repo config, add an inline comment in the file: <!-- impeccable-disable overused-font: exported brand doc -->. The marker works in any comment syntax, scopes to the whole file (or one line with impeccable-disable-line / impeccable-disable-next-line), and is bypassed by --no-inline-ignores or --no-config.

Full detector docs: impeccable.style/docs/detector.

Supported Tools

Community & Ecosystem

Join the community and ecosystem conversations:

  • GitHub Discussions: file bugs, request features, and help newcomers.
  • Impeccable on npm: grab the CLI, follow releases, and star the package.
  • Follow @pbakaus on Twitter for release notes, sample lint reports, and video highlights of new rules.

Contributing

See DEVELOP.md for contributor guidelines and build instructions.

License

Apache 2.0. See LICENSE.


Created by Paul Bakaus

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

72 total
  1. impeccable engine engine-v0.1.8engine-v0.1.8Sep 29, 202624.3K downloads

    Prebuilt impeccable engine binaries (engine-v0.1.8). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

  2. impeccable engine engine-v0.1.7engine-v0.1.7Sep 29, 202610.9K downloads

    Prebuilt impeccable engine binaries (engine-v0.1.7). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

  3. impeccable engine engine-v0.1.6engine-v0.1.6Sep 25, 2026104.8K downloads

    Prebuilt impeccable engine binaries (engine-v0.1.6). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

  4. Skill 4.3.1skill-v4.3.1Sep 9, 2026221.1K downloads

    - **Useful errors instead of silent exits.** Blocked cache writes and failed engine downloads now identify the required engine version, cache location, and recovery steps. Automatic first-use downloads and reuse of the cached engine are preserved. - **Windows setup stops cleanly.** Unwritable download locations report an error instead of leaving the launcher waiting for input.

  5. Skill 4.3.0skill-v4.3.0Sep 8, 20261.4K downloads

    - **Artwork that belongs on your page.** Impeccable can now generate illustrations and objects with genuinely transparent backgrounds, ready to sit over your own colors and textures. Photos and full-frame artwork keep their backgrounds. - **GPT Image 2.5 joins the workflow.** Flare now powers image generation and reference edits when Impeccable uses your OpenAI key. Your agent's native image tool remains the first choice. - **More iterations, less waiting.** In our 24-image comparison, Flare reduced median generation time from 88 seconds to 18, with approximately 73% lower estimated cost. - **Cutouts get a closer look.** Asset production checks white details, fine edges, and interior gaps on light and dark backgrounds, then refines visible misses. Fidelity checks account for transparency against the reference background.

Code frequency

additions and deletions
+1.2M-1.2MWeek of 2025-11-09: +162 linesWeek of 2025-11-09: -0 linesWeek of 2025-11-16: +34,363 linesWeek of 2025-11-16: -12,335 linesWeek of 2025-11-23: +0 linesWeek of 2025-11-23: -0 linesWeek of 2025-11-30: +7,308 linesWeek of 2025-11-30: -3,871 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +27,521 linesWeek of 2025-12-14: -21,381 linesWeek of 2025-12-21: +0 linesWeek of 2025-12-21: -0 linesWeek of 2025-12-28: +0 linesWeek of 2025-12-28: -0 linesWeek of 2026-01-04: +27,244 linesWeek of 2026-01-04: -34,094 linesWeek of 2026-01-11: +5,055 linesWeek of 2026-01-11: -1,789 linesWeek of 2026-01-18: +0 linesWeek of 2026-01-18: -0 linesWeek of 2026-01-25: +0 linesWeek of 2026-01-25: -0 linesWeek of 2026-02-01: +0 linesWeek of 2026-02-01: -0 linesWeek of 2026-02-08: +0 linesWeek of 2026-02-08: -0 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +0 linesWeek of 2026-02-22: -0 linesWeek of 2026-03-01: +24,402 linesWeek of 2026-03-01: -23,605 linesWeek of 2026-03-08: +2,626 linesWeek of 2026-03-08: -4,420 linesWeek of 2026-03-15: +61,382 linesWeek of 2026-03-15: -20,847 linesWeek of 2026-03-22: +15,736 linesWeek of 2026-03-22: -10,804 linesWeek of 2026-03-29: +50,053 linesWeek of 2026-03-29: -36,968 linesWeek of 2026-04-05: +91,178 linesWeek of 2026-04-05: -75,290 linesWeek of 2026-04-12: +93,236 linesWeek of 2026-04-12: -18,731 linesWeek of 2026-04-19: +84,904 linesWeek of 2026-04-19: -22,034 linesWeek of 2026-04-26: +81,105 linesWeek of 2026-04-26: -32,611 linesWeek of 2026-05-03: +59,025 linesWeek of 2026-05-03: -44,042 linesWeek of 2026-05-10: +9,897 linesWeek of 2026-05-10: -3,377 linesWeek of 2026-05-17: +154,812 linesWeek of 2026-05-17: -6,244 linesWeek of 2026-05-24: +231,825 linesWeek of 2026-05-24: -45,483 linesWeek of 2026-05-31: +60,903 linesWeek of 2026-05-31: -8,233 linesWeek of 2026-06-07: +102,215 linesWeek of 2026-06-07: -81,728 linesWeek of 2026-06-14: +99,478 linesWeek of 2026-06-14: -5,825 linesWeek of 2026-06-21: +4,220 linesWeek of 2026-06-21: -993 linesWeek of 2026-06-28: +3,073 linesWeek of 2026-06-28: -1,289 linesWeek of 2026-07-05: +42,011 linesWeek of 2026-07-05: -13,809 linesWeek of 2026-07-12: +239,000 linesWeek of 2026-07-12: -143,449 linesWeek of 2026-07-19: +301,428 linesWeek of 2026-07-19: -149,597 linesWeek of 2026-07-26: +146,241 linesWeek of 2026-07-26: -33,707 linesWeek of 2026-08-02: +25,831 linesWeek of 2026-08-02: -7,972 linesWeek of 2026-08-09: +206,888 linesWeek of 2026-08-09: -22,182 linesWeek of 2026-08-16: +12,220 linesWeek of 2026-08-16: -4,362 linesWeek of 2026-08-23: +110,152 linesWeek of 2026-08-23: -9,477 linesWeek of 2026-08-30: +316,940 linesWeek of 2026-08-30: -1,233,205 linesWeek of 2026-09-06: +52,040 linesWeek of 2026-09-06: -2,251 linesWeek of 2026-09-13: +13,319 linesWeek of 2026-09-13: -421 linesWeek of 2026-09-20: +1,458 linesWeek of 2026-09-20: -199 linesNov 9, 2025Sep 20, 2026
+2.8M lines added, -2.1M removed over the last year.

Commits per week

last 52 weeks
1750Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 1 commitsWeek of 2025-11-16: 5 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 3 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 36 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 42 commitsWeek of 2026-01-11: 13 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 23 commitsWeek of 2026-03-08: 18 commitsWeek of 2026-03-15: 83 commitsWeek of 2026-03-22: 24 commitsWeek of 2026-03-29: 46 commitsWeek of 2026-04-05: 113 commitsWeek of 2026-04-12: 41 commitsWeek of 2026-04-19: 96 commitsWeek of 2026-04-26: 48 commitsWeek of 2026-05-03: 8 commitsWeek of 2026-05-10: 14 commitsWeek of 2026-05-17: 4 commitsWeek of 2026-05-24: 33 commitsWeek of 2026-05-31: 34 commitsWeek of 2026-06-07: 35 commitsWeek of 2026-06-14: 46 commitsWeek of 2026-06-21: 16 commitsWeek of 2026-06-28: 21 commitsWeek of 2026-07-05: 63 commitsWeek of 2026-07-12: 102 commitsWeek of 2026-07-19: 152 commitsWeek of 2026-07-26: 175 commitsWeek of 2026-08-02: 55 commitsWeek of 2026-08-09: 117 commitsWeek of 2026-08-16: 83 commitsWeek of 2026-08-23: 57 commitsWeek of 2026-08-30: 90 commitsWeek of 2026-09-06: 70 commitsWeek of 2026-09-13: 13 commitsWeek of 2026-09-20: 10 commitsWeek of 2026-09-27: 13 commitsOct 4, 2025Sep 27, 2026
1.8K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 1 commitsSun 1:00 — 9 commitsSun 2:00 — 3 commitsSun 3:00 — 0 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 4 commitsSun 7:00 — 0 commitsSun 8:00 — 1 commitsSun 9:00 — 1 commitsSun 10:00 — 0 commitsSun 11:00 — 3 commitsSun 12:00 — 6 commitsSun 13:00 — 7 commitsSun 14:00 — 10 commitsSun 15:00 — 12 commitsSun 16:00 — 9 commitsSun 17:00 — 15 commitsSun 18:00 — 33 commitsSun 19:00 — 23 commitsSun 20:00 — 25 commitsSun 21:00 — 18 commitsSun 22:00 — 6 commitsSun 23:00 — 10 commitsMon 0:00 — 4 commitsMon 1:00 — 3 commitsMon 2:00 — 4 commitsMon 3:00 — 5 commitsMon 4:00 — 3 commitsMon 5:00 — 5 commitsMon 6:00 — 3 commitsMon 7:00 — 2 commitsMon 8:00 — 6 commitsMon 9:00 — 12 commitsMon 10:00 — 32 commitsMon 11:00 — 19 commitsMon 12:00 — 18 commitsMon 13:00 — 28 commitsMon 14:00 — 19 commitsMon 15:00 — 27 commitsMon 16:00 — 25 commitsMon 17:00 — 14 commitsMon 18:00 — 16 commitsMon 19:00 — 14 commitsMon 20:00 — 6 commitsMon 21:00 — 18 commitsMon 22:00 — 10 commitsMon 23:00 — 15 commitsTue 0:00 — 21 commitsTue 1:00 — 18 commitsTue 2:00 — 11 commitsTue 3:00 — 6 commitsTue 4:00 — 7 commitsTue 5:00 — 2 commitsTue 6:00 — 4 commitsTue 7:00 — 5 commitsTue 8:00 — 9 commitsTue 9:00 — 12 commitsTue 10:00 — 19 commitsTue 11:00 — 15 commitsTue 12:00 — 8 commitsTue 13:00 — 11 commitsTue 14:00 — 25 commitsTue 15:00 — 31 commitsTue 16:00 — 29 commitsTue 17:00 — 37 commitsTue 18:00 — 28 commitsTue 19:00 — 18 commitsTue 20:00 — 10 commitsTue 21:00 — 6 commitsTue 22:00 — 12 commitsTue 23:00 — 14 commitsWed 0:00 — 23 commitsWed 1:00 — 10 commitsWed 2:00 — 5 commitsWed 3:00 — 2 commitsWed 4:00 — 0 commitsWed 5:00 — 10 commitsWed 6:00 — 2 commitsWed 7:00 — 8 commitsWed 8:00 — 6 commitsWed 9:00 — 26 commitsWed 10:00 — 36 commitsWed 11:00 — 30 commitsWed 12:00 — 16 commitsWed 13:00 — 21 commitsWed 14:00 — 33 commitsWed 15:00 — 16 commitsWed 16:00 — 15 commitsWed 17:00 — 12 commitsWed 18:00 — 12 commitsWed 19:00 — 6 commitsWed 20:00 — 13 commitsWed 21:00 — 10 commitsWed 22:00 — 8 commitsWed 23:00 — 10 commitsThu 0:00 — 6 commitsThu 1:00 — 5 commitsThu 2:00 — 1 commitsThu 3:00 — 4 commitsThu 4:00 — 3 commitsThu 5:00 — 4 commitsThu 6:00 — 2 commitsThu 7:00 — 1 commitsThu 8:00 — 14 commitsThu 9:00 — 16 commitsThu 10:00 — 17 commitsThu 11:00 — 20 commitsThu 12:00 — 3 commitsThu 13:00 — 14 commitsThu 14:00 — 11 commitsThu 15:00 — 15 commitsThu 16:00 — 13 commitsThu 17:00 — 19 commitsThu 18:00 — 7 commitsThu 19:00 — 7 commitsThu 20:00 — 6 commitsThu 21:00 — 9 commitsThu 22:00 — 6 commitsThu 23:00 — 8 commitsFri 0:00 — 14 commitsFri 1:00 — 5 commitsFri 2:00 — 3 commitsFri 3:00 — 5 commitsFri 4:00 — 2 commitsFri 5:00 — 1 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 5 commitsFri 9:00 — 17 commitsFri 10:00 — 15 commitsFri 11:00 — 10 commitsFri 12:00 — 17 commitsFri 13:00 — 17 commitsFri 14:00 — 13 commitsFri 15:00 — 11 commitsFri 16:00 — 11 commitsFri 17:00 — 23 commitsFri 18:00 — 23 commitsFri 19:00 — 13 commitsFri 20:00 — 6 commitsFri 21:00 — 2 commitsFri 22:00 — 4 commitsFri 23:00 — 21 commitsSat 0:00 — 15 commitsSat 1:00 — 8 commitsSat 2:00 — 1 commitsSat 3:00 — 2 commitsSat 4:00 — 3 commitsSat 5:00 — 6 commitsSat 6:00 — 6 commitsSat 7:00 — 4 commitsSat 8:00 — 2 commitsSat 9:00 — 1 commitsSat 10:00 — 3 commitsSat 11:00 — 7 commitsSat 12:00 — 3 commitsSat 13:00 — 2 commitsSat 14:00 — 3 commitsSat 15:00 — 7 commitsSat 16:00 — 10 commitsSat 17:00 — 15 commitsSat 18:00 — 16 commitsSat 19:00 — 21 commitsSat 20:00 — 9 commitsSat 21:00 — 6 commitsSat 22:00 — 7 commitsSat 23:00 — 5 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1,359 (71%)
Community commits562 (29%)

1,921 commits in total over the last year.

DateListRankStars gained
Oct 4, 2026daily#2+1,170
Oct 3, 2026daily#1+705
Oct 2, 2026daily#2+717
Oct 1, 2026weekly#8+2,644
Oct 1, 2026daily#10+463
Sep 30, 2026weekly#8+2,644
Sep 29, 2026weekly#11+2,547
Sep 26, 2026daily#12+527
Sep 25, 2026daily#12+527
Sep 24, 2026daily#10+287
Sep 23, 2026daily#10+287
Aug 9, 2026monthly#14+12,795
Aug 8, 2026monthly#14+12,795
Aug 7, 2026monthly#12+12,655
Aug 6, 2026monthly#11+12,331
  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript

  • react/react

    The library for web and native user interfaces.

    250.9K stars · JavaScript

  • DietrichGebert/ponytail

    Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

    154.6K stars · JavaScript

  • vercel/next.js

    The React Framework

    143.2K stars · JavaScript

  • addyosmani/agent-skills

    Production-grade engineering skills for AI coding agents.

    101.1K stars · JavaScript

  • Leonxlnx/taste-skill

    Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop

    92.6K stars · JavaScript