Design Philosophy
Impeccable uses a feature-rich source format that transforms into provider-specific formats. This “Option A” architecture maintains full metadata in source files and downgrades for providers with limited support (like Cursor), rather than limiting everyone to the lowest common denominator.Why This Approach?
Different providers have different capabilities:- Cursor: No frontmatter or argument support
- Claude Code, Gemini, Codex: Full support for metadata and arguments
Core Concepts
Single Source of Truth
All content lives insource/ directory:
- Skills (
source/skills/*.md): Reusable instruction sets - Commands (
source/commands/*.md): Quick prompts
Build-Time Transformation
The build system (scripts/build.js) transforms source files into provider-specific formats:
- Read source files with full metadata
- Apply provider-specific transformations
- Write to
dist/directory - Generate ZIP bundles
Committed Distribution
Thedist/ directory is committed to the repository so end users can:
- Download files directly from GitHub
- Copy files without needing build tools
- Use the project immediately
Source File Format
Skills
Skills follow the Agent Skills specification:name(required): Skill identifier (1-64 chars, lowercase/numbers/hyphens)description(required): What the skill provides (1-1024 chars)license(optional): License/attribution infocompatibility(optional): Environment requirements (1-500 chars)metadata(optional): Arbitrary key-value pairsallowed-tools(optional, experimental): Pre-approved tools list
Commands
Commands use custom frontmatter with argument support:name(required): Command identifierdescription(required): What the command doesargs(optional): Array of argument objectsname: Argument identifierdescription: What it’s forrequired: Boolean (defaults to false)
{{argname}} for argument placeholders.
Provider Transformations
Cursor (Agent Skills Standard)
Commands- Strip frontmatter (Cursor doesn’t support it)
- Body only →
dist/cursor/.cursor/commands/*.md
- Full Agent Skills standard →
dist/cursor/.cursor/skills/{name}/SKILL.md - Supports full YAML frontmatter
- Reference files in skill subdirectories
- Requires Cursor nightly channel
Claude Code (Full Featured)
Commands- Keep full YAML frontmatter →
dist/claude-code/.claude/commands/*.md
- Keep full YAML frontmatter →
dist/claude-code/.claude/skills/{name}/SKILL.md - Matches Anthropic Skills spec
Gemini CLI (Full Featured)
Commands- Convert to TOML format →
dist/gemini/.gemini/commands/*.toml - Use
descriptionandpromptkeys - Transform
{{argname}}→{{args}}(Gemini uses single args string)
- Modular with imports →
dist/gemini/GEMINI.{name}.md - Main
GEMINI.mduses@./GEMINI.{name}.mdimport syntax - Gemini automatically loads imported files
Codex CLI (Full Featured)
Commands- Custom prompt format →
dist/codex/.codex/prompts/*.md - Use
descriptionandargument-hintin frontmatter - Transform
{{argname}}→$ARGNAME(uppercase variables) - Invoked as
/prompts:<name>
- Agent Skills standard →
dist/codex/.codex/skills/{name}/SKILL.md - Same SKILL.md format as Claude Code
- Reference files in subdirectories
Build System Architecture
The build system is modular and zero-dependency:Key Functions
parseFrontmatter(): Extracts YAML frontmatter and bodyreadSourceFiles(): Recursively reads source filestransformCursor(): Strips frontmatter for CursortransformClaudeCode(): Keeps full formattransformGemini(): Converts to TOML + modular skillstransformCodex(): Custom prompts + skills
Build Process
- Read all source files
- Parse frontmatter and body
- Apply transformations for each provider
- Write to provider-specific directories
- Generate ZIP bundles
- Copy Claude Code output to local
.claude/for development
Website Architecture
The impeccable.style website uses a dual deployment model:Tech Stack
- Frontend: Vanilla JavaScript, modern CSS
- Local Development: Bun server (
server/index.js) - Production: Vercel Functions (
/apidirectory) - Shared Logic:
server/lib/api-handlers.js
Design
- Editorial precision aesthetic
- Cormorant Garamond (display) + Instrument Sans (body)
- OKLCH color space for vibrant, perceptually uniform colors
- Editorial sidebar layout
- Modular CSS architecture (9 files)
API Endpoints
/- Homepage (static HTML)/api/skills- JSON list of all skills/api/commands- JSON list of all commands/api/download/[type]/[provider]/[id]- Individual file download/api/download/bundle/[provider]- ZIP bundle download
Key Design Decisions
Why commit dist/?
End users can copy files directly without needing build tools.Why separate transformers?
- Each provider ~30-85 lines, easy to understand
- Can modify one without affecting others
- Easy to add new providers
Why Bun?
- Much faster than Node.js (2-4x)
- All-in-one toolkit (runtime + package manager)
- Zero config, TypeScript native
- Node.js compatible (works with existing code)
Why modular skills for Gemini/Codex?
- Better context management (load only what’s needed)
- Cleaner file organization
- Gemini: Uses native
@file.mdimport feature - Codex: Uses routing pattern
Why vanilla JS for website?
- No build complexity
- Bun handles everything natively
- Modern features (ES6+, CSS nesting, OKLCH colors)
- Fast, lean, maintainable
Extensibility
The architecture makes it easy to:Add a New Provider
- Create
scripts/lib/transformers/newprovider.js - Export transformation function
- Add to
transformers/index.js - Call from
build.js
Add New Source Types
- Define format in
source/newtype/ - Add parser in
utils.js - Add transformers for each provider
Modify Output Format
- Edit provider-specific transformer
- Rebuild
- Test with provider
Reference Documentation
- Agent Skills Specification
- Cursor Commands
- Cursor Skills
- Claude Code Slash Commands
- Anthropic Skills
- Gemini CLI Custom Commands
- Gemini CLI GEMINI.md
- Codex CLI Slash Commands
- Codex CLI Skills
Related
- Contributing Overview - How to get started
- Adding Content - How to add skills and commands
- Build System - Build system details
