Typeui Fundamentals
bergside/typeui
Universal UI/UX design principles covering visual hierarchy, interaction laws, typography foundations, and WCAG accessibility requirements.
Keeping a design system in an LLM's context: loading tokens compactly, persisting design decisions across sessions, handling multiple variants, and budgeting the context window.
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-context --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .claude/skills/design-system-context && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .claude/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-contextType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-context --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .agents/skills/design-system-context && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .agents/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-context --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .cursor/skills/design-system-context && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .cursor/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git --path plugins/context-management/skills/design-system-context--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-context --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .gemini/skills/design-system-context && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .gemini/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-contextInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .github/skills/design-system-context && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .github/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HermeticOrmus/LibreUIUX-Claude-Code design-system-context --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HermeticOrmus/LibreUIUX-Claude-Code.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/context-management/skills/design-system-context .opencode/skills/design-system-context && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "design-system-context" agent skill from https://github.com/HermeticOrmus/LibreUIUX-Claude-Code/tree/main/plugins/context-management/skills/design-system-context into .opencode/skills/design-system-context/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-system-context", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
design-system-contextKeeping a design system in an LLM's context: loading tokens compactly, persisting design decisions across sessions, handling multiple variants, and budgeting the context window.
Design System Context is an agent skill from HermeticOrmus/LibreUIUX-Claude-Code. Keeping a design system in an LLM's context: loading tokens compactly, persisting design decisions across sessions, handling multiple variants, and budgeting the context window. Use when generated UI drifts from the design system, or when setting up tokens and decisions so every session and agent uses the same ones.
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Context engineering, Design systems and Architecture decision records. The repository describes itself as: UI/UX system for Claude Code: 71 plugins, 93 agents, 74 skills. Design mastery, archetypal design, accessibility, and frontend workflows in one validated plugin marketplace. The licence is MIT.
Read from SKILL.md and the folder at commit 41a968c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Design System Context loads about 5k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 330 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HermeticOrmus/LibreUIUX-Claude-Code at commit 41a968c, republished under its MIT licence (© HermeticOrmus). 330 words, ~5,013 tokens.
.claude/skills/design-system-context/SKILL.md (or your agent's skills folder).Master the art of managing design system context for LLM-driven UI development. This skill covers strategies for loading design tokens, persisting decisions, and optimizing context window usage.
Design systems contain vast amounts of information:
The Problem: Context windows are finite. Loading everything wastes tokens and degrades performance.
The Solution: Strategic context management - load what's needed, when it's needed.
Organize design system context in layers of specificity:
Layer 4: Task-Specific Context (highest priority)
↑
Layer 3: Component Context
↑
Layer 2: Design Token Context
↑
Layer 1: Brand/System Context (foundation)Implementation:
class DesignSystemContext:
"""
Layered context management for design systems.
"""
def __init__(self, system_name: str):
self.layers = {
"brand": self.load_brand_context(), # ~500 tokens
"tokens": self.load_design_tokens(), # ~2000 tokens
"components": {}, # On-demand
"task": {}, # Per-request
}
def load_brand_context(self) -> dict:
"""
Layer 1: Foundational brand context.
Always loaded, rarely changes.
"""
return {
"brand_name": "Acme Corp",
"brand_voice": "Professional, approachable, confident",
"core_values": ["Simplicity", "Trust", "Innovation"],
"color_philosophy": "Blue conveys trust, accent sparingly",
"typography_philosophy": "Clean sans-serif, generous line-height",
}
def load_design_tokens(self) -> dict:
"""
Layer 2: Design tokens.
Loaded per session, reference frequently.
"""
return {
"colors": {
"primary": {"50": "#EEF2FF", "500": "#6366F1", "900": "#312E81"},
"gray": {"50": "#F9FAFB", "500": "#6B7280", "900": "#111827"},
"success": "#10B981",
"warning": "#F59E0B",
"error": "#EF4444",
},
"spacing": {
"0": "0", "1": "0.25rem", "2": "0.5rem",
"4": "1rem", "6": "1.5rem", "8": "2rem",
},
"typography": {
"font_family": "Inter, system-ui, sans-serif",
"sizes": {"xs": "0.75rem", "sm": "0.875rem", "base": "1rem"},
"weights": {"normal": 400, "medium": 500, "bold": 700},
},
"radius": {"sm": "0.25rem", "md": "0.375rem", "lg": "0.5rem"},
"shadows": {
"sm": "0 1px 2px rgba(0,0,0,0.05)",
"md": "0 4px 6px rgba(0,0,0,0.1)",
},
}
def load_component_context(self, component_name: str) -> dict:
"""
Layer 3: Component-specific context.
Loaded on-demand when working on specific components.
"""
component_docs = self.fetch_component_docs(component_name)
return {
"specification": component_docs.spec,
"variants": component_docs.variants,
"props": component_docs.props,
"examples": component_docs.examples[:3], # Limit examples
"related_components": component_docs.related[:5],
}
def set_task_context(self, task: dict) -> None:
"""
Layer 4: Task-specific context.
Fresh per request, highest priority.
"""
self.layers["task"] = {
"objective": task.get("objective"),
"constraints": task.get("constraints", []),
"preferences": task.get("preferences", {}),
"previous_decisions": task.get("decisions", []),
}Reduce verbosity while maintaining meaning:
# Verbose format (~200 tokens)
verbose_tokens = """
The primary color palette consists of:
- Primary 50 (lightest): #EEF2FF, used for backgrounds
- Primary 100: #E0E7FF
- Primary 200: #C7D2FE
- Primary 500 (base): #6366F1, used for primary actions
- Primary 600: #4F46E5
- Primary 900 (darkest): #312E81, used for text on light
"""
# Compressed format (~50 tokens)
compressed_tokens = """
colors.primary: {50:#EEF2FF(bg), 500:#6366F1(action), 900:#312E81(text)}
"""
# Ultra-compressed format (~20 tokens)
ultra_compressed = "pri:#6366F1 bg:#EEF2FF txt:#312E81"Compression Techniques:
class TokenCompressor:
"""
Compress design tokens for efficient context usage.
"""
def compress_colors(self, colors: dict) -> str:
"""
Compress color palette to essential values.
Only include: 50 (light), 500 (base), 900 (dark)
"""
essential = {}
for name, shades in colors.items():
essential[name] = {
k: v for k, v in shades.items()
if k in ["50", "500", "900"]
}
return json.dumps(essential, separators=(",", ":"))
def compress_spacing(self, spacing: dict) -> str:
"""
Compress spacing to pattern description.
"""
# Instead of listing all values
return "spacing: 4px base unit, scale: 1,2,4,6,8,12,16,24,32"
def compress_typography(self, typography: dict) -> str:
"""
Compress typography to essentials.
"""
return f"font:{typography['font_family'].split(',')[0]} sizes:xs/sm/base/lg/xl"Split context into semantic chunks for retrieval:
class SemanticContextChunks:
"""
Organize design system into retrievable semantic chunks.
"""
def __init__(self, design_system: dict):
self.chunks = self.create_chunks(design_system)
self.embeddings = self.embed_chunks()
def create_chunks(self, system: dict) -> list[dict]:
"""
Create semantic chunks from design system.
"""
chunks = []
# Color chunks
chunks.append({
"type": "colors",
"category": "primary",
"description": "Primary brand colors for actions and emphasis",
"content": system["tokens"]["colors"]["primary"],
})
chunks.append({
"type": "colors",
"category": "semantic",
"description": "Semantic colors for feedback states",
"content": {
"success": system["tokens"]["colors"]["success"],
"warning": system["tokens"]["colors"]["warning"],
"error": system["tokens"]["colors"]["error"],
},
})
# Component chunks
for component in system["components"]:
chunks.append({
"type": "component",
"category": component["category"],
"description": component["description"],
"content": component["spec"],
})
return chunks
def retrieve_relevant(self, query: str, top_k: int = 5) -> list[dict]:
"""
Retrieve chunks relevant to the current task.
"""
query_embedding = self.embed(query)
scores = [
(chunk, cosine_similarity(query_embedding, emb))
for chunk, emb in zip(self.chunks, self.embeddings)
]
return sorted(scores, key=lambda x: x[1], reverse=True)[:top_k]Load context progressively as needed:
class ProgressiveContextLoader:
"""
Load context progressively based on task needs.
"""
def __init__(self, design_system: DesignSystem):
self.system = design_system
self.loaded_context = {}
self.context_budget = 8000 # tokens
def initial_context(self) -> dict:
"""
Minimal context for task understanding.
~500 tokens
"""
return {
"system_summary": self.system.summary,
"available_components": list(self.system.component_names),
"color_palette_summary": self.system.color_summary,
}
def expand_for_component(self, component_name: str) -> dict:
"""
Expand context when working on specific component.
+1000-2000 tokens
"""
if component_name in self.loaded_context:
return self.loaded_context[component_name]
context = {
"component_spec": self.system.get_component(component_name),
"related_tokens": self.system.get_tokens_for(component_name),
"examples": self.system.get_examples(component_name, limit=2),
}
self.loaded_context[component_name] = context
return context
def expand_for_layout(self) -> dict:
"""
Expand context for layout work.
+500 tokens
"""
return {
"spacing_scale": self.system.spacing,
"breakpoints": self.system.breakpoints,
"grid_system": self.system.grid,
"container_widths": self.system.containers,
}
def get_current_context(self) -> str:
"""
Get current accumulated context within budget.
"""
context_str = json.dumps(self.loaded_context)
token_count = self.count_tokens(context_str)
if token_count > self.context_budget:
return self.prune_context(context_str)
return context_strStore and recall design decisions for consistency:
class DesignDecisionMemory:
"""
Persistent memory for design decisions.
"""
def __init__(self, project_id: str, storage: Storage):
self.project_id = project_id
self.storage = storage
self.decisions = self.load_decisions()
def record_decision(self, decision: DesignDecision) -> None:
"""
Record a design decision for future reference.
"""
entry = {
"id": str(uuid4()),
"timestamp": datetime.now().isoformat(),
"category": decision.category, # color, spacing, component, etc.
"component": decision.component,
"decision": decision.description,
"rationale": decision.rationale,
"tokens_affected": decision.tokens,
"embedding": self.embed(decision.description),
}
self.decisions.append(entry)
self.storage.save(self.decisions)
def recall_for_context(self, current_task: str) -> list[dict]:
"""
Recall relevant past decisions for current task.
"""
task_embedding = self.embed(current_task)
relevant = []
for decision in self.decisions:
similarity = cosine_similarity(task_embedding, decision["embedding"])
if similarity > 0.7:
relevant.append({
"decision": decision["decision"],
"rationale": decision["rationale"],
"relevance": similarity,
})
return sorted(relevant, key=lambda x: x["relevance"], reverse=True)[:5]
def format_for_prompt(self, decisions: list[dict]) -> str:
"""
Format decisions for prompt injection.
"""
if not decisions:
return ""
lines = ["## Previous Design Decisions (maintain consistency):"]
for d in decisions:
lines.append(f"- {d['decision']}")
if d.get("rationale"):
lines.append(f" Rationale: {d['rationale']}")
return "\n".join(lines)
# Usage in prompt construction
memory = DesignDecisionMemory("project-123", storage)
relevant_decisions = memory.recall_for_context("Create a modal dialog")
prompt = f"""
{base_prompt}
{memory.format_for_prompt(relevant_decisions)}
"""Treat design context as versioned artifacts:
class VersionedDesignContext:
"""
Version-controlled design system context.
"""
def __init__(self, repo_path: str):
self.repo_path = repo_path
self.current_version = self.get_current_version()
def get_context_at_version(self, version: str) -> dict:
"""
Load design context at specific version.
Useful for reproducing past generations.
"""
tokens_path = f"{self.repo_path}/tokens/{version}/tokens.json"
components_path = f"{self.repo_path}/components/{version}/"
return {
"version": version,
"tokens": self.load_json(tokens_path),
"components": self.load_components(components_path),
}
def diff_versions(self, v1: str, v2: str) -> dict:
"""
Show differences between context versions.
Useful for understanding changes.
"""
ctx1 = self.get_context_at_version(v1)
ctx2 = self.get_context_at_version(v2)
return {
"tokens_added": self.diff_tokens(ctx1["tokens"], ctx2["tokens"]),
"tokens_changed": self.changed_tokens(ctx1["tokens"], ctx2["tokens"]),
"components_added": self.diff_components(ctx1, ctx2),
}
def get_migration_context(self, from_v: str, to_v: str) -> str:
"""
Generate context for migrating components between versions.
"""
diff = self.diff_versions(from_v, to_v)
return f"""
## Design System Migration: {from_v} -> {to_v}
### Token Changes
{self.format_token_changes(diff['tokens_changed'])}
### New Tokens
{self.format_new_tokens(diff['tokens_added'])}
### Update Instructions
When updating components, apply these token mappings...
"""Allocate context window strategically:
class ContextBudgetManager:
"""
Manage context window token budget.
"""
def __init__(self, total_budget: int = 100000): # Claude's context
self.total = total_budget
self.allocations = {
"system_prompt": 2000, # Fixed instructions
"design_tokens": 3000, # Core tokens
"component_context": 4000, # Current component
"examples": 2000, # Few-shot examples
"memory": 1000, # Past decisions
"task": 500, # Current request
"output_buffer": 10000, # Reserved for response
}
def remaining_budget(self) -> int:
"""
Calculate remaining tokens for dynamic content.
"""
allocated = sum(self.allocations.values())
return self.total - allocated
def can_load(self, content: str, category: str) -> bool:
"""
Check if content fits in category budget.
"""
token_count = self.count_tokens(content)
return token_count <= self.allocations.get(category, 0)
def optimize_context(self, context: dict) -> dict:
"""
Optimize context to fit within budget.
"""
optimized = {}
for key, content in context.items():
budget = self.allocations.get(key, 1000)
content_tokens = self.count_tokens(str(content))
if content_tokens <= budget:
optimized[key] = content
else:
optimized[key] = self.truncate_intelligently(content, budget)
return optimized
def truncate_intelligently(self, content: any, budget: int) -> any:
"""
Truncate content preserving most important information.
"""
if isinstance(content, list):
# For lists, keep first N items
result = []
tokens = 0
for item in content:
item_tokens = self.count_tokens(str(item))
if tokens + item_tokens <= budget:
result.append(item)
tokens += item_tokens
return result
if isinstance(content, dict):
# For dicts, prioritize by key importance
priority_keys = ["essential", "primary", "core", "main"]
result = {}
tokens = 0
# First pass: priority keys
for key in priority_keys:
if key in content:
result[key] = content[key]
tokens += self.count_tokens(str(content[key]))
# Second pass: remaining keys if budget allows
for key, value in content.items():
if key not in result:
value_tokens = self.count_tokens(str(value))
if tokens + value_tokens <= budget:
result[key] = value
tokens += value_tokens
return result
# For strings, truncate with ellipsis
return self.truncate_string(content, budget)Inject context as a structured, parseable block:
<!-- DESIGN_CONTEXT_START -->
## Active Design System: Acme Design v2.3
### Tokens
```json
{
"colors": {"primary": "#6366F1", "gray": "#6B7280"},
"spacing": {"base": "4px", "scale": [1,2,4,6,8,12,16]},
"radius": {"default": "8px"}
}<!-- DESIGN_CONTEXT_END -->
### Pattern: Inline Context References
Reference context inline rather than loading fully:
```markdown
Generate a Card component.
Use these token references (from loaded design system):
- Background: `tokens.colors.surface.primary`
- Border: `tokens.colors.border.subtle`
- Padding: `tokens.spacing.lg` (maps to p-6)
- Radius: `tokens.radius.lg` (maps to rounded-xl)
- Shadow: `tokens.shadows.md` (maps to shadow-md)
The component should resolve these references to actual Tailwind classes.| Challenge | Strategy |
|---|---|
| Too many tokens | Compressed Token Format |
| Finding relevant context | Semantic Chunking + Retrieval |
| Large design systems | Progressive Disclosure |
| Maintaining consistency | Decision Memory Pattern |
| Reproducing results | Version-Controlled Context |
| Budget constraints | Token Budget Allocation |
This skill integrates with:
agent-orchestration/ui-agent-patterns - Context for agent workflowsllm-application-dev/prompt-engineering-ui - Token injection in promptsllm-application-dev/rag-implementation - Retrieval of context chunksmcp-integrations/browser-devtools-mcp - Live context from running UI"Context is not just what the model sees - it is what the model becomes."
© HermeticOrmus, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/context-management/skills/design-system-context of HermeticOrmus/LibreUIUX-Claude-Code.
Open the folder on GitHubat commit 41a968c
Design System Context next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Design System Context this skillHermeticOrmus/LibreUIUX-Claude-Code | 113 | — | ~5k | Automated safety check: Pass | MIT | |
| Typeui Fundamentalsbergside/typeui | 2k | — | ~861 | Automated safety check: Pass | MIT | |
| Ds Planbaloise/design-system | 114 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Design Standardsrampstackco/claude-skills | 941 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Decision Recordmurphytrueman/design-system-ops | 206 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Architectdralgorhythm/claude-agentic-framework | 125 | — | ~475 | Automated safety check: Pass | None |
bergside/typeui
Universal UI/UX design principles covering visual hierarchy, interaction laws, typography foundations, and WCAG accessibility requirements.
baloise/design-system
Generate phased implementation plans for design system components with adaptive scope, design decisions, and risk assessment
rampstackco/claude-skills
Apply production-grade design standards when building or reviewing pages, components, or UI.
murphytrueman/design-system-ops
Write a narrative decision record (ADR) for a design system choice: context, options, trade-offs, consequences, including declined proposals.
dralgorhythm/claude-agentic-framework
Design systems and record architecture decisions as ADRs — a user-invoked Principal Architect workflow.
ibelick/ui-skills
Audits one product surface against its own design evidence and writes self-contained implementation plans for another agent, without touching product source.
HermeticOrmus/LibreUIUX-Claude-Code
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration.
HermeticOrmus/LibreUIUX-Claude-Code
Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, and GCP.
HermeticOrmus/LibreUIUX-Claude-Code
Rules and worked examples for combining an archetype (structure and behavior) with a Major Arcana card (color and mood) into one coherent design system.
HermeticOrmus/LibreUIUX-Claude-Code
Design LLM applications using the LangChain framework with agents, memory, and tool integration patterns.
HermeticOrmus/LibreUIUX-Claude-Code
Brand identity building blocks: positioning, personality, archetypes, logo systems, color palettes, type pairing, voice, and guidelines documentation.
HermeticOrmus/LibreUIUX-Claude-Code
Core visual design principles (visual hierarchy, Gestalt grouping, composition, balance, contrast, white space, color, typography) with UI fixes, a checklist, and deep-dive references.
Categories
Keeping a design system in an LLM's context: loading tokens compactly, persisting design decisions across sessions, handling multiple variants, and budgeting the context window. Design System Context is an agent skill from HermeticOrmus/LibreUIUX-Claude-Code. Keeping a design system in an LLM's context: loading tokens compactly, persisting design decisions across sessions, handling multiple variants, and budgeting the context window.
Design System Context fits situations like: generated UI drifts from the design system; setting up tokens and decisions so every session and agent uses the same ones.
Run `npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a claude-code`. Or copy the skill folder (plugins/context-management/skills/design-system-context in HermeticOrmus/LibreUIUX-Claude-Code) into .claude/skills/design-system-context in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a codex`. Or copy the skill folder (plugins/context-management/skills/design-system-context in HermeticOrmus/LibreUIUX-Claude-Code) into .agents/skills/design-system-context in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HermeticOrmus/LibreUIUX-Claude-Code --skill design-system-context -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-system-context, .gemini/skills/design-system-context, .github/skills/design-system-context and .opencode/skills/design-system-context in your project.
SKILL.md names no scripts, command-line tools or credentials: Design System Context is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Design System Context is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Design System Context: Typeui Fundamentals (bergside/typeui, 2k stars), Ds Plan (baloise/design-system, 114 stars), Design Standards (rampstackco/claude-skills, 941 stars) and Decision Record (murphytrueman/design-system-ops, 206 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HermeticOrmus (a GitHub user) maintains it in HermeticOrmus/LibreUIUX-Claude-Code, which has 113 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 4, 2026.
Source: HermeticOrmus/LibreUIUX-Claude-Code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.