Back to skills
SkillHub ClubDesign ProductFull StackFrontendDesigner

ui-freeze

Protects design and theme files from unintended changes. Locks tailwind.config, global CSS, and theme variables. Requires explicit confirmation before modifying UI components. Activate on changes to CSS, theme config, or layout components.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
30
Hot score
89
Updated
March 20, 2026
Overall rating
C2.8
Composite score
2.8
Best-practice grade
B75.1

Install command

npx @skill-hub/cli install svenja-dev-claude-code-skills-ui-freeze

Repository

Svenja-dev/claude-code-skills

Skill path: skills/ui-freeze

Protects design and theme files from unintended changes. Locks tailwind.config, global CSS, and theme variables. Requires explicit confirmation before modifying UI components. Activate on changes to CSS, theme config, or layout components.

Open repository

Best for

Primary workflow: Design Product.

Technical facets: Full Stack, Frontend, Designer.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: Svenja-dev.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install ui-freeze into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/Svenja-dev/claude-code-skills before adding ui-freeze to shared team environments
  • Use ui-freeze for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: ui-freeze
description: Protects design and theme files from unintended changes. Locks tailwind.config, global CSS, and theme variables. Requires explicit confirmation before modifying UI components. Activate on changes to CSS, theme config, or layout components.
---

# UI Freeze

> Skill to protect design and theme files from unintended changes

## Trigger

This skill activates automatically on changes to:

### Critical Theme Files (LOCKED)

- `tailwind.config.*` - Tailwind configuration
- `**/index.css` - Global styles
- `**/globals.css` - Global CSS variables
- `**/theme.css` - Theme variables
- `**/variables.css` - CSS custom properties

### Important UI Components (WARNING)

- `**/Header.*` - Navigation & Branding
- `**/Footer.*` - Footer & Legal Links
- `**/App.*` - Root Layout & Theme Provider
- `**/Layout.*` - Main Layout wrapper

## Rules

### On Changes to LOCKED Files:

1. **STOP** - Don't automatically make changes
2. **SHOW** - Display exactly what would change
3. **JUSTIFY** - Why is this change needed?
4. **IMPACT** - Which components are affected?
5. **PREVIEW** - If possible, show visual diff
6. **CONFIRM** - Explicit "Yes, change design"

### On Changes to WARNING Files:

1. **NOTE** - "This file affects the UI"
2. **JUSTIFY** - Brief explanation of change
3. **PROCEED** - Can continue without explicit confirmation

## Example Dialog

**User:** "Change the background color to gray"

**Claude (with this skill):**

```
UI FREEZE ACTIVE

You want to modify a theme file. This affects:
- File: tailwind.config.ts
- Change: backgroundColor from #0f172a to #374151
- Affected pages: ALL (global style)

Last stable version: v1.0-stable-ui

Preview:
- Before: Dark blue background (#0f172a)
- After: Gray background (#374151)

Should I proceed? (Answer with "Yes, change design")
Alternative: "Show me a before/after screenshot"
```

## Golden Screenshots (Reference)

Define baseline screenshots for visual regression:

| Page | File | Last Check |
|------|------|------------|
| Login | `tests/screenshots/login-baseline.png` | - |
| Dashboard | `tests/screenshots/dashboard-baseline.png` | - |
| Settings | `tests/screenshots/settings-baseline.png` | - |

## CSS Variables (Single Source of Truth)

All colors must be defined via CSS Variables:

```css
/* CORRECT - in theme.css or tailwind.config */
--color-primary: #3B82F6;
--color-background: #0f172a;

/* WRONG - hard values in components */
background-color: #0f172a; /* Not allowed */
className="bg-[#0f172a]"   /* Not allowed */
```

## Integration with Visual Regression

After every approved design change:

1. Run `npx playwright test --update-snapshots`
2. Commit new baseline screenshots
3. Update release tag (e.g., `v1.1-ui-gray-theme`)

## Emergency Rollback

If design was accidentally changed:

```bash
# Restore last stable state
git checkout <last-stable-tag> -- tailwind.config.ts src/index.css

# Or: Reset all theme files
git checkout <last-stable-tag> -- $(git diff --name-only HEAD <last-stable-tag> | grep -E '\.(css|config)')
```

## Configuration

Add to your CLAUDE.md:

```markdown
### UI Protection

Locked Files:
- tailwind.config.*
- src/index.css
- src/globals.css

Last Stable UI Tag: v1.0-stable-ui

Design System:
- Primary: #3B82F6
- Background: #0f172a
- Use CSS variables only
```

---

## Origin

Originally developed for [fabrikIQ](https://fabrikiq.com) - AI-powered manufacturing data analysis.

## License

MIT - Free to use and modify