skills/i-teach-impeccable/SKILL.md
Use when the user says: "setup impeccable", "design context setup", "teach impeccable", "design this UI", "look and feel", "establish design tokens", "plan the look and feel", "UI planning", "design system for this project", "craft the interface". Gathers design context and concrete tokens, saves to design/context.md.
npx skillsauth add NodeJSmith/Claudefiles i-teach-impeccableInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Gather design context for this project — both prose context (audience, brand, principles) and concrete design tokens (colors, fonts, spacing, motion). Persist everything to design/context.md for all future sessions.
Before asking questions, scan the project to discover what you can:
Also check for a design doc: look for design/specs/*/design.md. If found, read the User Scenarios section — it contains structured actor/goal/context data that pre-answers Step 2 questions.
Note what you've learned and what remains unclear.
Look for design/context.md, .impeccable.md, or design/direction.md.
If found, read and ask:
AskUserQuestion:
question: "Existing design context found. What would you like to do?"
header: "Context"
options:
- label: "Update it"
description: "Revise the existing context with new decisions"
- label: "Start fresh"
description: "Replace it entirely"
If updating, carry forward decisions not being changed.
Ask focused questions, one at a time. Skip any already answered by the spec or codebase exploration.
Question 1 (skip if spec has User Scenarios):
AskUserQuestion:
question: "Who is this person? Not 'users' — the actual person. A teacher at 7am with coffee, a developer debugging at midnight, a manager scanning reports between meetings."
header: "Audience"
If the answer is vague ("users", "people"), push back: "Can you be more specific? What's their context when they use this?"
Question 2 (skip if spec has User Scenarios):
AskUserQuestion:
question: "What must they accomplish? The verb — not 'use the dashboard.' Grade submissions, find the broken deployment, approve the payment."
header: "Task"
Question 3:
AskUserQuestion:
question: "What should this feel like? Specific language: 'warm like a notebook', 'cold like a terminal', 'dense like a trading floor.' Not 'clean and modern.'"
header: "Feel"
If any answer is vague ("clean and modern", "simple"), push back with a concrete alternative and ask to confirm or revise.
Ask for visual references:
AskUserQuestion:
question: "Name 2-3 apps or sites whose *feel* (not features) matches what you described. Not to copy — to articulate direction."
header: "References"
If the user cannot name any, suggest 3 options based on the domain and intent. For each reference, identify:
Naming the visual movement constrains downstream decisions more precisely than vague feel descriptors.
Run the four-part exploration. Present all four before proposing any direction.
Present exploration results to the user. Remove the product name — could someone still identify what it's for? If not, explore deeper.
Draft your token decisions internally. Before presenting them, run these checks:
If any check fails, iterate before presenting. Ask yourself: "If they said this lacks craft, what would they point to?" Fix that first.
Present concrete token decisions. Every value must be justified against intent and domain — not "it's common" or "it works."
Present a summary covering:
Ask the user to confirm or revise before saving.
After user confirmation, write design/context.md. Create the design/ directory if it does not exist.
---
schema_version: 1
updated_at: YYYY-MM-DD
---
## Users & Purpose
[From Step 2, Questions 1-2 — who the person is, their context, the task]
## Brand Personality
[From Step 2, Question 3 — emotional feel, aesthetic tone]
## Aesthetic Direction
[From Step 3 — visual references, what to take/leave, visual movement name]
[From Step 4 — domain concepts, signature element, defaults rejected]
## Concrete Constraints
[From Step 4 — hard aesthetic rules, e.g., "no rounded corners above 4px", "body text must be serif"]
## Design Principles
[3-5 principles derived from the conversation]
## Design Tokens
### Color
| Token | Light | Dark | Role |
|-------|-------|------|------|
| `--bg` | oklch(...) | oklch(...) | Page background |
| `--surface` | oklch(...) | oklch(...) | Card/panel background |
| ... | ... | ... | ... |
**Rationale**: [how colors connect to domain and intent]
### Typography
- **Primary**: [font name] — [why]
- **Mono**: [font name] — [for code/data]
- **Scale**: [specific sizes: xs, sm, base, lg, xl, 2xl, 3xl]
- **Weights**: [which weights, for what purpose]
### Spacing
- **Base**: [value]
- **Scale**: micro (1×), sm (2×), md (4×), lg (8×), xl (12×), 2xl (16×)
### Depth
- **Strategy**: [borders-only | subtle shadows | layered | surface tints]
- **Why**: [connection to intent]
- **Levels**: [specific values]
### Border Radius
- **Scale**: sm, md, lg
- **Character**: [sharp=technical, round=friendly]
### Motion
- **Micro**: [~150ms, easing]
- **Transition**: [200-250ms, easing]
- **Entrance**: [if applicable]
### Anti-patterns
[Specific things to avoid for THIS product — not generic advice]
If design/context.md already exists and the user chose "Update it" in Step 1, update changed sections in place rather than overwriting.
AskUserQuestion:
question: "Design context saved. What's next?"
header: "Next step"
options:
- label: "Generate a mockup"
description: "Run /mine.mockup to produce an HTML preview using these tokens"
- label: "Also add to CLAUDE.md"
description: "Append a Design Context summary to CLAUDE.md so it loads automatically in all sessions (takes effect in new sessions, not the current one)"
- label: "Done for now"
description: "Context is saved — it will be used by all i-* design skills automatically"
If mockup → invoke /mine.mockup.
If CLAUDE.md → append or update a ## Design Context section in CLAUDE.md with a summary of the prose sections (not the full token tables — those live in design/context.md).
Be invisible. Don't announce modes or narrate process.
Never say: "I'm now entering the exploration phase", "Let me check for existing files..." Instead: Jump into work. Present exploration, then direction, then confirm.
development
Use when the user says: 'create an issue', 'file an issue', 'open an issue', 'write an issue', 'new issue for this'. Codebase-aware issue creation — investigates the code to produce well-structured issues with acceptance criteria, affected areas, and enough detail for automated triage.
development
Use when the user says: 'triage issues', 'classify issues by complexity', 'assess issue complexity', 'find quick wins', 'which issues are small', 'batch issue assessment'. Batch codebase-aware issue triage — parallel Haiku subagents assess actual complexity and effort by reading the code, not just titles.
development
Use when the user says: "review my changes", "run the reviewers", "code and integration review", "readability review", "maintainability review", "sniff test this", "WTF check", "code smells", "is this code any good", "fresh eyes on this branch", "review this directory", "check this module". Dispatches three parallel reviewers — code, integration, and a readability pass — and consolidates findings into one prioritized report.
development
Use when the user says: "clean code check", "style review", "LLM smell check", "code hygiene", "nitpick this", "style check", "find style sins", "nitpicker review", "anal retentive review", "exhaustive style review", "no-filter style report". Dispatches three parallel stylistic checkers — llm-checker (training-bias patterns), lazy-checker (deferred debt), and nitpicker (style hygiene) — and consolidates findings into a report organized by checker with a Summary section for orchestration consumption.