home / skills / steveclarke / dotfiles / i-teach-impeccable

i-teach-impeccable skill

/ai/skills/i-teach-impeccable

This skill collects design context from the project and persists it to your AI config for consistent, long-term guidelines.

npx playbooks add skill steveclarke/dotfiles --skill i-teach-impeccable

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.8 KB
---
name: i-teach-impeccable
description: One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.
user-invokable: true
---

Gather design context for this project, then persist it for all future sessions.

## Step 1: Explore the Codebase

Before asking questions, thoroughly scan the project to discover what you can:

- **README and docs**: Project purpose, target audience, any stated goals
- **Package.json / config files**: Tech stack, dependencies, existing design libraries
- **Existing components**: Current design patterns, spacing, typography in use
- **Brand assets**: Logos, favicons, color values already defined
- **Design tokens / CSS variables**: Existing color palettes, font stacks, spacing scales
- **Any style guides or brand documentation**

Note what you've learned and what remains unclear.

## Step 2: Ask UX-Focused Questions

STOP and call the AskUserQuestion tool to clarify. Focus only on what you couldn't infer from the codebase:

### Users & Purpose
- Who uses this? What's their context when using it?
- What job are they trying to get done?
- What emotions should the interface evoke? (confidence, delight, calm, urgency, etc.)

### Brand & Personality
- How would you describe the brand personality in 3 words?
- Any reference sites or apps that capture the right feel? What specifically about them?
- What should this explicitly NOT look like? Any anti-references?

### Aesthetic Preferences
- Any strong preferences for visual direction? (minimal, bold, elegant, playful, technical, organic, etc.)
- Light mode, dark mode, or both?
- Any colors that must be used or avoided?

### Accessibility & Inclusion
- Specific accessibility requirements? (WCAG level, known user needs)
- Considerations for reduced motion, color blindness, or other accommodations?

Skip questions where the answer is already clear from the codebase exploration.

## Step 3: Write Design Context

Synthesize your findings and the user's answers into a `## Design Context` section:

```markdown
## Design Context

### Users
[Who they are, their context, the job to be done]

### Brand Personality
[Voice, tone, 3-word personality, emotional goals]

### Aesthetic Direction
[Visual tone, references, anti-references, theme]

### Design Principles
[3-5 principles derived from the conversation that should guide all design decisions]
```

Write this section to `.impeccable.md` in the project root. If the file already exists, update the Design Context section in place.

Then STOP and call the AskUserQuestion tool to clarify. whether they'd also like the Design Context appended to CLAUDE.md. If yes, append or update the section there as well.

Confirm completion and summarize the key design principles that will now guide all future work.

Overview

This skill performs a one-time setup that gathers design context for your project and persists it to the AI config file so every future session shares the same design guidance. It inspects the codebase, prompts for a few targeted UX and brand questions, and writes a structured Design Context to .impeccable.md at the project root. After saving, it asks whether you also want the same section appended to CLAUDE.md.

How this skill works

The skill scans repos for README, package/config files, components, brand assets, design tokens, and any style guides to infer what’s already decided. It pauses to call an AskUserQuestion tool for only the unclear or missing items (users, brand personality, accessibility needs, aesthetic direction). Finally, it synthesizes findings into a standard Design Context block and writes or updates .impeccable.md; it then asks whether to append/update CLAUDE.md as well.

When to use it

  • Initial project setup so design decisions are persistent across machines and sessions
  • Onboarding a new contributor or machine to ensure consistent visual and UX expectations
  • Before major UI work or refactor to lock down guiding principles
  • When no centralized design guidance exists in the repo
  • When migrating or standardizing design tokens and brand assets

Best practices

  • Run once per project root and commit the resulting .impeccable.md to version control
  • Thoroughly review project docs and styles first; only ask questions for gaps the scanner cannot answer
  • Keep answers concise and concrete (audience, emotional goals, color constraints, accessibility levels)
  • Maintain 3–5 actionable design principles that guide all future changes
  • Update .impeccable.md intentionally when brand or product goals change, not for every small tweak

Example use cases

  • You cloned a utility-tool repo and want every machine to share the same visual defaults
  • A solo maintainer standardizes spacing, typography, and color tokens before UI development
  • A small team sets a 1-hour onboarding step that establishes brand tone and accessibility targets
  • Preparing a repo for a design system extraction where consistent design context is essential
  • Ensuring CI/CD and automated AI agents use the same UI assumptions across environments

FAQ

What file is written and where?

.impeccable.md is written or updated in the project root with a ## Design Context section. If it exists, the section is replaced in place.

Will this change code or assets?

No code or binary assets are modified. The skill only reads the repo and writes the textual Design Context file; token or asset edits remain manual.

What if I want the same section in another doc?

After writing .impeccable.md the skill will ask whether you want the same Design Context appended or updated in CLAUDE.md and will proceed only with confirmation.