frontend-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited frontend-design (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Comprehensive skill for creating beautiful, accessible, and performant user interfaces. This curated skill merges expertise from 11 specialized frontend/UI skills covering design systems, component libraries, CSS frameworks, accessibility patterns, and visual design principles.
Use this skill when:
User Request -> What is the goal?
|
+-- Creating new UI component?
| +-- Simple component -> Quick Start: Component Creation
| +-- Full page/app -> Workflow 1: Full UI Creation
| +-- shadcn/ui component -> Use shadcn_add.py script
| +-- fpkit component -> Use scaffold_component.py script
|
+-- Styling existing UI?
| +-- Tailwind CSS -> Load references/tailwind-utilities.md
| +-- CSS Variables -> Load references/css-variables.md
| +-- Theme customization -> Load references/shadcn-theming.md
|
+-- Design system work?
| +-- Design tokens from Figma -> Use extract_tokens.py, transform_tokens.py
| +-- Token validation -> Use validate_tokens.py
| +-- Component library setup -> Load references/component-patterns.md
|
+-- Accessibility concerns?
| +-- WCAG compliance -> Load references/accessibility-guidelines.md
| +-- Audit existing UI -> Use audit_accessibility.sh
| +-- Accessible patterns -> Load references/accessibility-patterns.md
|
+-- Evaluating/Testing UI?
| +-- Quality evaluation -> Use evaluate-ui.ts
| +-- A/B comparison -> Use compare-variations.ts
| +-- CSS validation -> Use validate_css_vars.py
|
+-- Performance optimization?
+-- Load references/PERFORMANCE_OPTIMIZATION.md
+-- Core Web Vitals guidanceLayer 1: TailwindCSS (Styling Foundation)
Layer 2: Radix UI (Behavior & Accessibility)
Layer 3: shadcn/ui (Beautiful Components)
Key Principle: Each layer enhances the one below. Start with Tailwind for styling, add Radix for accessible behavior, use shadcn/ui for complete components.
# Initialize shadcn/ui (includes Tailwind)
npx shadcn@latest init
# Add components
npx shadcn@latest add button card dialog form
# Or use the automation script
python scripts/shadcn_add.py button card dialogimport { Button } from "@/components/ui/button"
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
export function Dashboard() {
return (
<div className="container mx-auto p-6 grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<Card className="hover:shadow-lg transition-shadow">
<CardHeader>
<CardTitle className="text-2xl font-bold">Analytics</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<p className="text-muted-foreground">View your metrics</p>
<Button variant="default" className="w-full">
View Details
</Button>
</CardContent>
</Card>
</div>
)
}:root {
/* Tier 1: Primitives (immutable) */
--gray-50: 250 250 250;
--gray-900: 24 24 27;
--blue-500: oklch(0.55 0.22 264);
/* Tier 2: Semantics (theme-aware) */
--background: var(--gray-50);
--foreground: var(--gray-900);
--primary: var(--blue-500);
/* Tier 3: Components */
--button-height: 2.5rem;
--card-padding: 1.5rem;
}
.dark {
/* Only semantic tokens change */
--background: var(--gray-900);
--foreground: var(--gray-50);
}python scripts/extract_tokens.py --file-key YOUR_FIGMA_KEY
python scripts/transform_tokens.py tokens.json --format css
python scripts/validate_tokens.py tokens.jsonLoad references: references/DESIGN_TOKENS.md, references/token-naming-conventions.md
| Level | Normal Text | Large Text | UI Components |
|---|---|---|---|
| AA (Required) | 4.5:1 | 3:1 | 3:1 |
| AAA (Enhanced) | 7:1 | 4.5:1 | 4.5:1 |
<button>, <nav>, <main>, <article>)aria-label, aria-describedby)Load references: references/accessibility-guidelines.md, references/accessibility-patterns.md
<button> in <a>)role or aria-* attributes usually makes things worse, not betterclassName={\text-${color}-${shade}\} does not work because Tailwind purges unreferenced classes; use className={variants[color]} with safelist insteadfocus-visible: instead of removing it<button> inside <a> or vice versa creates ambiguous activation targets and violates HTML specSee Extended Patterns for detailed component examples, styling patterns, file organization, scripts reference, and reference quick guide.
Skill Version: 1.0.0 Last Updated: 2025-01-18 Source Skills: 11 merged Total Resources: 107 files
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.