diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index dadbc8834..5260451c1 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "impeccable", - "description": "Design vocabulary and skills for frontend development. Includes 21 skills (20 user-invokable: /polish, /distill, /audit, /typeset, /overdrive, etc.) and an enhanced frontend-design skill with curated anti-patterns.", + "description": "Design vocabulary and skills for frontend development. Includes 21 skills (20 user-invocable: /polish, /distill, /audit, /typeset, /overdrive, etc.) and an enhanced frontend-design skill with curated anti-patterns.", "version": "1.5.1", "author": { "name": "Paul Bakaus", diff --git a/.impeccable.md b/.impeccable.md new file mode 100644 index 000000000..15be2e4ce --- /dev/null +++ b/.impeccable.md @@ -0,0 +1,19 @@ +## Design Context + +### Users +Frontend and full-stack developers who use AI coding tools (Cursor, Claude Code, Gemini CLI, Codex CLI, etc.) and want better design output from their AI. They land on the site from GitHub, social media, or word of mouth, already aware that AI-generated UIs have quality problems. They're looking for a practical solution, not education about the problem. + +### Brand Personality +Expert, opinionated, refined. Impeccable speaks with an authoritative design voice -- confident taste, editorial quality, zero hedging. It's the design director in the room who knows exactly what's wrong and how to fix it. + +### Aesthetic Direction +- **Visual tone**: Editorial precision meets fluid motion. Light, high-contrast, typographically bold. The site itself must be proof of what Impeccable enables -- it should practice what it preaches. +- **Theme**: Light mode with warm paper tones, vibrant magenta/rose accent, serif display + clean sans body +- **Anti-references**: Generic AI tool marketing (dark mode, purple gradients, glassmorphism, neon accents). The site should be the antithesis of everything it critiques. + +### Design Principles +1. **Practice what you preach** -- the site must pass its own anti-pattern tests with flying colors +2. **Show, don't tell** -- demonstrate design quality through execution, not just words +3. **Expert confidence** -- no hedging, no "maybe consider." Direct, opinionated, decisive. +4. **Editorial over marketing** -- feels like a design publication, not a SaaS landing page +5. **Purposeful restraint** -- every element earns its place; nothing decorative without function diff --git a/CLAUDE.md b/CLAUDE.md index 33de089a2..a94d60543 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -53,7 +53,7 @@ When bumping the version, update **all** of these locations to keep them in sync ## Adding New Skills -When adding a new user-invokable skill, update the command count in **all** of these locations: +When adding a new user-invocable skill, update the command count in **all** of these locations: - `public/index.html` → meta descriptions, hero box, section lead - `public/cheatsheet.html` → meta description, subtitle, `commandCategories`, `commandRelationships` diff --git a/DEVELOP.md b/DEVELOP.md index 16219237e..bce128a66 100644 --- a/DEVELOP.md +++ b/DEVELOP.md @@ -9,7 +9,7 @@ This repository uses a **feature-rich source format** that transforms into provi ### Why This Approach? Different providers have different capabilities: -- **Claude Code, OpenCode**: Full metadata — args, user-invokable, allowed-tools, license, compatibility +- **Claude Code, OpenCode**: Full metadata — args, user-invocable, allowed-tools, license, compatibility - **Codex, Agents**: Args converted to `argument-hint` format - **Gemini**: Minimal frontmatter, `{{arg}}` placeholders become `{{args}}` - **Cursor, Kiro, Pi**: Basic frontmatter (name, description, license/compatibility) @@ -34,8 +34,8 @@ Your skill instructions here... **Frontmatter fields** (based on [Agent Skills spec](https://agentskills.io/specification)): - `name` (required): Skill identifier (1-64 chars, lowercase/numbers/hyphens) - `description` (required): What the skill provides (1-1024 chars) -- `user-invokable` (optional): Boolean — if `true`, the skill can be invoked as a slash command -- `args` (optional): Array of argument objects (for user-invokable skills) +- `user-invocable` (optional): Boolean — if `true`, the skill can be invoked as a slash command +- `args` (optional): Array of argument objects (for user-invocable skills) - `name`: Argument identifier - `description`: What it's for - `required`: Boolean (defaults to false) @@ -90,27 +90,27 @@ All providers output skills to `dist/{provider}/.{config}/skills/{name}/SKILL.md ### Claude Code (Full Featured) - Output: `dist/claude-code/.claude/skills/{name}/SKILL.md` -- Frontmatter: name, description, user-invokable, args, license, compatibility, metadata, allowed-tools +- Frontmatter: name, description, user-invocable, args, license, compatibility, metadata, allowed-tools - Preserves `{{arg}}` placeholders in body ### OpenCode (Full Featured) - Output: `dist/opencode/.opencode/skills/{name}/SKILL.md` -- Frontmatter: name, description, user-invokable, args, license, compatibility, metadata, allowed-tools +- Frontmatter: name, description, user-invocable, args, license, compatibility, metadata, allowed-tools - Same format as Claude Code ### Gemini CLI - Output: `dist/gemini/.gemini/skills/{name}/SKILL.md` - Frontmatter: name, description -- For user-invokable skills: remaining `{{arg}}` placeholders become `{{args}}` +- For user-invocable skills: remaining `{{arg}}` placeholders become `{{args}}` ### Codex CLI - Output: `dist/codex/.codex/skills/{name}/SKILL.md` - Frontmatter: name, description, argument-hint, license -- For user-invokable skills: `{{argname}}` → `$ARGNAME` (uppercase) +- For user-invocable skills: `{{argname}}` → `$ARGNAME` (uppercase) ### Agents (VS Code Copilot, Antigravity) - Output: `dist/agents/.agents/skills/{name}/SKILL.md` -- Frontmatter: name, description, user-invokable, argument-hint +- Frontmatter: name, description, user-invocable, argument-hint - Args converted to `argument-hint` format (e.g., ` [FORMAT=]`) ### Kiro @@ -170,7 +170,7 @@ The build system uses a modular architecture under `scripts/`: - `transformClaudeCode()`: Full metadata with args and allowed-tools - `transformGemini()`: Minimal frontmatter, `{{arg}}` → `{{args}}` - `transformCodex()`: Args → argument-hint, `{{arg}}` → `$ARGNAME` -- `transformAgents()`: Args → argument-hint, user-invokable flag +- `transformAgents()`: Args → argument-hint, user-invocable flag - `transformKiro()`: Basic frontmatter with license/compatibility/metadata - `transformOpenCode()`: Full metadata (same as Claude Code) - `transformPi()`: Basic frontmatter with license/compatibility/metadata diff --git a/public/index.html b/public/index.html index 26aa638e9..849179cb7 100644 --- a/public/index.html +++ b/public/index.html @@ -362,7 +362,7 @@ March 4, 2026