Not in the top 1,000 by GitHub stars
dembrandt/dembrandt-skills
Senior-level UX and design-system knowledge, packaged so your AI agent applies it automatically.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/algorithmic-color-palette/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/app-shell/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/authentic-product-representation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/brand-visual-language/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/button-states/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/clone-website/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/color-mode-and-theme/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/component-family-consistency/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/coordinated-data-views/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/data-display-and-selection/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/dembrandt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/domain-expert-configuration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/elevation-and-depth/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/extract-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/form-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/generate-ui-from-brand/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/gestalt-ui-organisation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/global-toolbar-controls/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/information-architecture/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/layout-paradigms-and-consistency/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/loading-states-and-perceived-performance/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/marketing-vs-product-system/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/micro-interactions/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/modal-and-overlay-patterns/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/modular-scale-typography/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/motion-and-storytelling/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/nielsen-usability-heuristics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/notifications-and-recovery/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/operational-expert-tool-ui/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/performance-and-web-vitals/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/real-world-metaphors/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/repeated-component-alignment/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/responsive-paradigms/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/scroll-areas/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/semantic-html-and-seo/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/sizing-units/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/status-colors-and-errors/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/sticky-and-fixed-elements/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/surface-separation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/tab-navigation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/ui-context-and-scope/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/ui-density/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/user-flows-and-guided-paths/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/visual-emphasis-and-hierarchy/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
skills/wcag-accessibility/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c4ad177dea5b → 8f78f13f74a2
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c4ad177dea5b
No earlier version was observed for comparison.
Verified commit 8f78f13f74a2356326d0c3c21bc63e5624e6a457
git clone --filter=blob:none --no-checkout https://github.com/dembrandt/dembrandt-skills.git .hotskills/dembrandt-dembrandt-skills && git -C .hotskills/dembrandt-dembrandt-skills checkout --detach 8f78f13f74a2356326d0c3c21bc63e5624e6a457
# Copy each selected skill directory from .hotskills/dembrandt-dembrandt-skills into .claude/skills/<skill-name>/Heat
6.7- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- algorithmic-color-palette
skills/algorithmic-color-palette - app-shell
skills/app-shell - authentic-product-representation
skills/authentic-product-representation - brand-visual-language
skills/brand-visual-language - button-states
skills/button-states - clone-website
skills/clone-website - color-mode-and-theme
skills/color-mode-and-theme - component-family-consistency
skills/component-family-consistency - coordinated-data-views
skills/coordinated-data-views - data-display-and-selection
skills/data-display-and-selection - dembrandt
skills/dembrandt - domain-expert-configuration
skills/domain-expert-configuration - elevation-and-depth
skills/elevation-and-depth - extract-design
skills/extract-design - form-design
skills/form-design - generate-ui-from-brand
skills/generate-ui-from-brand - gestalt-ui-organisation
skills/gestalt-ui-organisation - global-toolbar-controls
skills/global-toolbar-controls - information-architecture
skills/information-architecture - layout-paradigms-and-consistency
skills/layout-paradigms-and-consistency - loading-states-and-perceived-performance
skills/loading-states-and-perceived-performance - marketing-vs-product-system
skills/marketing-vs-product-system - micro-interactions
skills/micro-interactions - modal-and-overlay-patterns
skills/modal-and-overlay-patterns - modular-scale-typography
skills/modular-scale-typography - motion-and-storytelling
skills/motion-and-storytelling - nielsen-usability-heuristics
skills/nielsen-usability-heuristics - notifications-and-recovery
skills/notifications-and-recovery - operational-expert-tool-ui
skills/operational-expert-tool-ui - performance-and-web-vitals
skills/performance-and-web-vitals - real-world-metaphors
skills/real-world-metaphors - repeated-component-alignment
skills/repeated-component-alignment - responsive-paradigms
skills/responsive-paradigms - scroll-areas
skills/scroll-areas - semantic-html-and-seo
skills/semantic-html-and-seo - sizing-units
skills/sizing-units - status-colors-and-errors
skills/status-colors-and-errors - sticky-and-fixed-elements
skills/sticky-and-fixed-elements - surface-separation
skills/surface-separation - tab-navigation
skills/tab-navigation - ui-context-and-scope
skills/ui-context-and-scope - ui-density
skills/ui-density - user-flows-and-guided-paths
skills/user-flows-and-guided-paths - visual-emphasis-and-hierarchy
skills/visual-emphasis-and-hierarchy - wcag-accessibility
skills/wcag-accessibility
How it works
algorithmic-color-palette
When your agent uses it
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours. Use when building or expanding a colour system.
What it loads into context
Frontmatter
280 tokensAlways available to the agent
SKILL.md
3,187 tokensWhen the skill is activated
Reference documents
116,478 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Deriving Interactive State Colours
- Deriving Brand-Tinted Greys
- Semantic Colour Derivation
- Functional and Interactive Colours
- Full Token Output Example
- Review Checklist
- Common Anti-Patterns
Files
../../.claude-plugin/icon.pngasset2,468 bytes../../.claude-plugin/marketplace.jsonasset627 bytes../../.claude-plugin/plugin.jsonasset696 bytes../../.mcp.jsonasset123 bytesSKILL.mdcore11,624 bytes../app-shell/SKILL.mddoc13,048 bytes../authentic-product-representation/SKILL.mddoc8,205 bytes../brand-visual-language/SKILL.mddoc13,612 bytes../button-states/SKILL.mddoc7,097 bytes../clone-website/SKILL.mddoc6,787 bytes../color-mode-and-theme/SKILL.mddoc8,269 bytes../component-family-consistency/SKILL.mddoc35,182 bytes../coordinated-data-views/SKILL.mddoc9,232 bytes../data-display-and-selection/SKILL.mddoc20,648 bytes../dembrandt/SKILL.mddoc8,037 bytes../domain-expert-configuration/SKILL.mddoc9,258 bytes../elevation-and-depth/SKILL.mddoc8,738 bytes../extract-design/SKILL.mddoc27,864 bytes../form-design/SKILL.mddoc8,323 bytes../generate-ui-from-brand/SKILL.mddoc11,656 bytes../gestalt-ui-organisation/SKILL.mddoc8,221 bytes../global-toolbar-controls/SKILL.mddoc6,365 bytes../information-architecture/SKILL.mddoc15,844 bytes../layout-paradigms-and-consistency/SKILL.mddoc26,848 bytes../loading-states-and-perceived-performance/SKILL.mddoc11,804 bytes../marketing-vs-product-system/SKILL.mddoc13,798 bytes../micro-interactions/SKILL.mddoc10,467 bytes../modal-and-overlay-patterns/SKILL.mddoc18,158 bytes../modular-scale-typography/SKILL.mddoc30,539 bytes../motion-and-storytelling/SKILL.mddoc9,543 bytes../nielsen-usability-heuristics/SKILL.mddoc9,380 bytes../notifications-and-recovery/SKILL.mddoc9,692 bytes../operational-expert-tool-ui/SKILL.mddoc7,754 bytes../performance-and-web-vitals/SKILL.mddoc8,015 bytes../real-world-metaphors/SKILL.mddoc5,531 bytes../repeated-component-alignment/SKILL.mddoc12,756 bytes../responsive-paradigms/SKILL.mddoc9,814 bytes../scroll-areas/SKILL.mddoc4,633 bytes../semantic-html-and-seo/SKILL.mddoc11,883 bytes../sizing-units/SKILL.mddoc6,316 bytes../status-colors-and-errors/SKILL.mddoc8,088 bytes../sticky-and-fixed-elements/SKILL.mddoc5,549 bytes../surface-separation/SKILL.mddoc7,190 bytes../tab-navigation/SKILL.mddoc10,079 bytes../ui-context-and-scope/SKILL.mddoc11,281 bytes../ui-density/SKILL.mddoc7,638 bytes../user-flows-and-guided-paths/SKILL.mddoc5,573 bytes../visual-emphasis-and-hierarchy/SKILL.mddoc14,096 bytes../wcag-accessibility/SKILL.mddoc9,772 bytes
Read SKILL.md
# Algorithmic Colour Palette
A brand palette of 2–3 colours is not enough for a UI. You need shades for states (hover, active, disabled), neutrals for backgrounds and borders, and semantic colours for status. Deriving these algorithmically from the brand colours produces a palette that feels coherent — everything is visually related to the brand rather than pulled from a generic grey or a stock colour library.
> **Don't guess the seed colours — extract them (dembrandt engine, optional).** If the brand already exists on the web, pull its *real* palette off the live site instead of eyeballing a hex: `get_color_palette` (or the `extract-design` skill) returns the actual computed brand and neutral colours from the DOM, which you then expand with the methods below. See [`extract-design`](../extract-design/SKILL.md) for setup.
## Deriving Interactive State Colours
From each brand colour, generate at minimum three variants: base, darker (hover/active), lighter (tint/background).
### Method: HSL adjustment
```
base: hsl(H, S%, L%)View the complete source on GitHubapp-shell
When your agent uses it
Top bar, sidebar rail, app launcher, tenant and environment cue, status bar. Use when designing the persistent shell, a collapsible sidebar, or navigation between apps behind one login.
What it loads into context
Frontmatter
360 tokensAlways available to the agent
SKILL.md
2,889 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Shell Belongs to the Estate, Not to the App
- How Small the Shell May Get
- The App Launcher
- Tenant, Environment, and the Colour Trap
- The Status Bar
- The Sidebar
- Review Checklist
Files
SKILL.mdcore13,048 bytes
Read SKILL.md
# The App Shell
The shell is the part of the screen that does not change when the user navigates: the bar across the top, whatever sits in it, and in heavy tools a strip along the bottom. Everything between them belongs to the application. The shell is small, and it carries more weight than its size suggests — it is the only thing a user sees on every screen of every tool.
## The Shell Belongs to the Estate, Not to the App
One company rarely has one application. It has a public site, a shop, a customer portal, an internal admin tool, and something older that nobody wants to touch but that people depend on. The user crosses between them during a working day, and each crossing is where the sense of one company either holds or breaks.
**The rule: the top bar is estate-level furniture. The app owns everything below it.** An app that restyles the shared bar to fit its own look has taken something that was not its to change — the bar's job is to be the one fixed point.
But *fixed* is not the same as *full*. What the shell contains may shrink to whatever of its jobs are still unanswered here; what remains is identical — same position, same behaviour, same wording. Quantity flexes, treatment does not.
This also settles a hierarchy question that otherwise gets argued per team. Anything *above* the application in scope lives in the shell; anything *within* the application lives in the app's own navigation.
| Lives in the shell (above the app) | Lives in the app's own nav (within it) |View the complete source on GitHubauthentic-product-representation
When your agent uses it
Product visuals must show the real product with real data. Use when building landing pages, hero sections, screenshots or demo panels.
What it loads into context
Frontmatter
353 tokensAlways available to the agent
SKILL.md
1,788 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Design With Real Content
- Mirror the Real Output
- Keep It Truthful
- Refuse Fabricated Marketing Chrome
- When You Must Stage
- Photos on a Tinted Stage
- Review Checklist
Files
SKILL.mdcore8,205 bytes
Read SKILL.md
# Authentic Product Representation
The fastest way to lose a visitor's trust is a product visual that is obviously staged. People have seen thousands of landing pages; they recognise a fabricated dashboard, a screenshot full of lorem ipsum, or a "terminal" that prints things the real tool never would. The visual that converts is the one that looks like it was screenshotted straight out of the working product — because it was, or because it was built to be indistinguishable from it.
The principle is simple: **the visual is the product, not a poster of it.** Every shortcut away from that — invented data, decorative chrome, a capability shown that does not exist — is a small withdrawal from the trust account.
This skill governs whether a visual is *credible*; what it has to accomplish in the page's argument comes from the product narrative framework in [[layout-paradigms-and-consistency]]. A fabricated proof point proves nothing.
---
## Design With Real Content
Idealised placeholder content hides the problems your design will actually face.
View the complete source on GitHubbrand-visual-language
When your agent uses it
Shape language across type, radius and icons carries brand personality. Use when starting a design system, picking icons or radius tokens, or reviewing visual consistency.
What it loads into context
Frontmatter
275 tokensAlways available to the agent
SKILL.md
2,986 tokensWhen the skill is activated
Reference documents
6,621 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Shape Language
- Radius for Large Surfaces
- Reading Shape from an Existing Brand
- Typography and Shape
- Extending Brand Typography
- Iconography
- Consistency Across Elements
- Read the Guide's Scope Before Enforcing It
- Applying a Brand to Software You Cannot Rewrite
- Review Checklist
Files
SKILL.mdcore13,612 bytes../extract-design/SKILL.mddoc27,864 bytes
Read SKILL.md
# Brand Visual Language
Visual shape communicates personality. A rounded corner says something different to the user than a sharp one — and that message arrives before they read a single word. The shapes in typography, border-radius, and iconography should tell a consistent story.
## Shape Language
| Shape | Tone | Associated with |
|---|---|---|
| **Rounded, pill-shaped** | Friendly, approachable, playful, modern | Consumer apps, health, kids, lifestyle, social |
| **Softly rounded (8–12px)** | Professional, warm, accessible | SaaS, productivity, general B2B |
| **Lightly rounded (2–4px)** | Precise, structured, efficient | Enterprise tools, finance, data platforms |
| **Sharp / no radius** | Technical, serious, authoritative | Developer tools, security, industrial |
Every component — cards, inputs, modals, badges — should follow the same radius logic.View the complete source on GitHubbutton-states
When your agent uses it
Rest, hover, active, focus, disabled and loading states, derived from the base colour. Use when designing buttons, links, inputs or any clickable component.
What it loads into context
Frontmatter
271 tokensAlways available to the agent
SKILL.md
1,726 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Six States
- Deriving State Colours Algorithmically
- The Primary Fill Is Chosen per Background
- Focus State
- Disabled State
- Loading State
- Scale on Active (Optional)
- Complete Button CSS Reference
- Review Checklist
Files
SKILL.mdcore7,097 bytes
Read SKILL.md
# Button and Interactive Element States
Every interactive component must have a complete, visually distinct state for each interaction mode. Missing or ambiguous states make the UI feel unfinished and reduce user confidence.
## The Six States
| State | Trigger | Visual signal |
|---|---|---|
| **Rest** | Default | Base colour, cursor: pointer |
| **Hover** | Mouse over | Slightly darker, subtle background shift |
| **Active / Pressed** | Mouse down / tap | Noticeably darker, slight scale-down |
| **Focus** | Keyboard navigation | Visible focus ring, no change to fill |
| **Disabled** | Not available | Low contrast, cursor: not-allowed, no interaction |
| **Loading** | Async action in progress | Spinner or pulse, non-interactive |View the complete source on GitHubclone-website
When your agent uses it
Rebuild a live web page 1:1 from measurement into Figma, Penpot or code, then verify it. Use when reproducing a page or checking a rebuild against the original.
What it loads into context
Frontmatter
281 tokensAlways available to the agent
SKILL.md
1,573 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decide before you capture
- 1. Capture the rendered page
- 2. Take the raw source as well
- 3. Measure the design values
- 4. Take content and images from the capture
- 5. Build section by section
- 6. Compare three things, not one
- 7. Fix what the capture could not see
- 8. Fonts: stand in, then swap
- 9. Fix by targeted prompt, not by rerunning
- 10. Throw the scaffolding away
- What this is for
- Related
Files
SKILL.mdcore6,787 bytesSKILL.mdcore6,787 bytesSKILL.mdcore6,787 bytesSKILL.mdcore6,787 bytesSKILL.mdcore6,787 bytesSKILL.mdcore6,787 bytes
Read SKILL.md
# Clone a Website, Accurately
One-click cloners return a lookalike: it resembles the page, and nothing in the
process ever checked whether it matches it. This skill produces a different
artifact — values traceable to the source, and a diff that says what is still
wrong.
**The one rule: if the page states a value, read it. If it does not, and only
then, decide it.** A rebuild done that way is finished when the diff is empty,
which you can check, rather than when it looks about right, which nobody can.
Only the rebuild step cares whether the target is Figma, Penpot or a codebase.
Everything else is the same job.
View the complete source on GitHubcolor-mode-and-theme
When your agent uses it
Light, dark or both, and when a theme selector is worth it. Use when defining a base palette or deciding on dark mode support.
What it loads into context
Frontmatter
274 tokensAlways available to the agent
SKILL.md
1,888 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Decision: Light, Dark, or Both
- When to Build a Theme Selector in the UI
- Brand Tone and Color Mode
- Dark Mode Token Principles
- Review Checklist
Files
SKILL.mdcore8,269 bytes
Read SKILL.md
# Color Mode and Theme
## The Decision: Light, Dark, or Both
Color mode is a brand and context decision, not a personal preference. Make it deliberately.
### Light (white design)
**Tone:** Open, trustworthy, content-forward, accessible, professional
**Fits:** Marketing sites, e-commerce, editorial, SaaS with mixed audiences, consumer products, B2B tools where the content is the focus
Light mode is the safer default for most products. It performs better in bright environments and has broader accessibility coverage out of the box.
### Dark (dark design)
**Tone:** Premium, focused, immersive, technical, high-contrast data View the complete source on GitHubcomponent-family-consistency
When your agent uses it
Buttons, inputs, badges and pills share radius, colour logic, shadow, border and spacing. Use when building, changing or reviewing UI components or a component library.
What it loads into context
Frontmatter
294 tokensAlways available to the agent
SKILL.md
8,108 tokensWhen the skill is activated
Reference documents
9,558 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Reuse Before You Build a New Component
- The Shared DNA
- Component Family Members
- Family Resemblance, Distinct Roles
- Semantic Chip Components
- Alignment on a Line
- Small Component Restraint
- Reuse the Product's Own Marks
- Review Checklist
Files
SKILL.mdcore35,182 bytes../extract-design/SKILL.mddoc27,864 bytes../generate-ui-from-brand/SKILL.mddoc11,656 bytes
Read SKILL.md
# Component Family Consistency
Every interactive component in a product — buttons, inputs, selects, checkboxes, radio buttons, pills, badges, tags, calendars, date pickers, sliders, toggles — belongs to the same visual family. They share a common design DNA. A user should be able to look at any component and feel that it belongs to the same product as every other component.
When components are designed in isolation without shared tokens, the product feels assembled from parts rather than built as a whole.
## Reuse Before You Build a New Component
The rule, stated as directives:
> Use existing components from the component library. Build a new one only after the audit below finds nothing that fits.
> Do not invent a new visual presentation if a fitting component exists.
> With every UI code change, check the changed files and their nearest sibling components for matching use cases, and keep them coherent. Report drift found elsewhere instead of fixing it unasked.
> The goal is a UI that strictly follows the design system, with no ad-hoc components.View the complete source on GitHubcoordinated-data-views
When your agent uses it
Show a table and its map, diagram, timeline or chart together, with selection synced both ways. Use when data appears in two representations at once.
What it loads into context
Frontmatter
331 tokensAlways available to the agent
SKILL.md
1,967 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use Coordinated Views
- The Synchronized Selection Model
- Consistent Colour Coding
- Layout
- Visual View Controls
- Highlighting vs. Selection
- Analysis Beside the Data
- Performance Considerations
- Review Checklist
Files
SKILL.mdcore9,232 bytesSKILL.mdcore9,232 bytes
Read SKILL.md
# Coordinated Data Views
Some data has more than one natural representation. A set of locations has both a map and a list. A dependency network has both a diagram and a node table. A dataset has both a chart and a raw table. When both representations are genuinely useful for different tasks, show them simultaneously and keep them synchronized — this is called a coordinated view.
The core rule: **any selection or highlight made in one view is immediately reflected in the other.**
---
## When to Use Coordinated Views
Use coordinated views when:
1. The two representations serve different tasks — the table is for finding/scanning; the visual view is for understanding arrangement or relationships
2. Users will frequently move between the two — not just glance at one occasionallyView the complete source on GitHubdata-display-and-selection
When your agent uses it
View modes, row selection, mass actions, sorting, filters, search and table patterns. Use when designing data tables, listings, file browsers or any collection.
What it loads into context
Frontmatter
419 tokensAlways available to the agent
SKILL.md
4,676 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- View Modes
- Selection: Prefer Large Hit Areas
- Selected State Visual Language
- Mass Actions
- Sorting and Filtering
- Search and Autocomplete
- Table-Specific Patterns
- Making Numbers Comprehensible
- A Dashboard Summarises, It Does Not List
- Review Checklist
Files
SKILL.mdcore20,648 bytes
Read SKILL.md
# Data Display and Selection
Complex data collections — products, files, users, orders, tasks — have no single correct view. Different tasks call for different views. Browsing benefits from grid; comparing details benefits from list or table; bulk management benefits from a dense table with mass actions. Give users the choice.
---
## View Modes
Offer multiple views when the data has both visual and detailed dimensions.
| View | Best for | When to default |
|---|---|---|
| **Grid** | Visual items: products, images, files, cards | When items are visually distinct and browsing is the primary task |
| **List** | Moderate detail: tasks, emails, articles | When a key piece of text or metadata drives selection |View the complete source on GitHubdembrandt
When your agent uses it
Orchestrator that routes a UI/UX task through brand, tokens, layout, components, polish and accessibility. Use for multi-concern work such as a design review, UI build or interface audit.
What it loads into context
Frontmatter
310 tokensAlways available to the agent
SKILL.md
1,879 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Pipeline
- Output
- Relationship to `generate-ui-from-brand`
Files
SKILL.mdcore8,037 bytesSKILL.mdcore8,037 bytes
Read SKILL.md
# dembrandt — UX Pipeline Orchestrator
> Concept by [@VictorGjn](https://github.com/VictorGjn).
Routes multi-concern UI/UX tasks through six ordered stages. Each stage loads sub-skills on demand — only what the task actually needs.
**When to use this skill vs a sub-skill directly:**
- Multi-concern task ("design review", "audit interface", "build UI") → use this orchestrator
- Single-concern task ("check my colour palette", "review button states") → go directly to the sub-skill
- Brand-to-token-to-spec pipeline with a URL or DESIGN.md → use `generate-ui-from-brand` instead
- Reproducing an existing page rather than designing one → use `clone-website` instead
- Reading the tokens off a live site and nothing more → use `extract-design` instead
View the complete source on GitHubdomain-expert-configuration
When your agent uses it
Settings for experts who are not developers — domain language, sane defaults, grouping by professional concept. Use when designing settings panels, solver configuration or constraint editors.
What it loads into context
Frontmatter
327 tokensAlways available to the agent
SKILL.md
1,951 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Core Principle: Domain Language Over Technical Language
- Grouping by Domain Concept
- Sensible Defaults
- Input Types Matched to Domain Semantics
- Progressive Disclosure
- Saved vs. Session Configuration
- Validation and Constraint Feedback
- Proposals From a Model
- Review Checklist
Files
SKILL.mdcore9,258 bytes
Read SKILL.md
# Domain Expert Configuration
A domain expert configuration UI exposes the parameters of a complex system — an optimisation algorithm, a planning engine, a simulation — to users who understand the problem domain deeply but have no knowledge of the system's internals.
The challenge: the system's parameters are defined in technical terms (weights, thresholds, flags, tolerances). The user thinks in domain terms (how long to wait, when to retry, how to group results). The UI must translate between these two vocabularies — always favouring the user's language.
---
## The Core Principle: Domain Language Over Technical Language
Every parameter label, tooltip, and error message should describe what the parameter *means in the user's world*, not what it *does inside the system*.
| Technical label | Domain label |
|---|---|View the complete source on GitHubelevation-and-depth
When your agent uses it
Shadows and layering that lift elements above the surface. Use when designing cards, dropdowns, modals, tooltips or any floating element.
What it loads into context
Frontmatter
249 tokensAlways available to the agent
SKILL.md
2,238 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Elevation Scale
- Pairing Elevation with Border-Radius
- Border-Radius Consistency Rule
- Text Shadow for Contrast and Separation
- Dark Mode Shadows
- Review Checklist
- Common Anti-Patterns
Files
SKILL.mdcore8,738 bytes
Read SKILL.md
# Elevation and Depth
Elevation uses shadow and layering to communicate that an element sits above the base surface — giving UI a sense of physical depth. Combined with border-radius, it creates the tactile quality that makes cards graspable, modals clearly floating, and dropdowns feel like they've appeared on top of content.
## The Elevation Scale
Define a small set of elevation levels as tokens. Each level maps to a specific UI role.
| Level | Token | Shadow | Role |
|---|---|---|---|
| 0 | `--shadow-none` | none | Flat surface, inline elements |
| 1 | `--shadow-xs` | `0 1px 2px rgba(0,0,0,0.06)` | Subtle card, table row hover |
| 2 | `--shadow-sm` | `0 1px 3px rgba(0,0,0,0.10), 0 1px 2px rgba(0,0,0,0.06)` | Card, input focus ring area |
| 3 | `--shadow-md` | `0 4px 6px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.06)` | Dropdown, popover |View the complete source on GitHubextract-design
When your agent uses it
Extract colours, typography, spacing, components and W3C design tokens from a live website with Dembrandt. Use when you need a site's real tokens or want to seed a design system from it.
What it loads into context
Frontmatter
405 tokensAlways available to the agent
SKILL.md
6,621 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How to Run
- MCP Usage (async by default)
- Output Structure
- Working with Extracted Tokens
- Flags Reference
- Drift Detection & CI *(dembrandt 0.19+)*
- Anti-Bot and SPA Handling
- Checklist After Extraction
Files
SKILL.mdcore27,864 bytesSKILL.mdcore27,864 bytesSKILL.mdcore27,864 bytesSKILL.mdcore27,864 bytesSKILL.mdcore27,864 bytes
Read SKILL.md
# Extract Design — Dembrandt
Dembrandt runs a headless Chromium browser against any URL, walks up to thousands of DOM elements, reads computed CSS, and returns a structured design system: colors with confidence scoring, typography styles, spacing scale, border radius, borders, shadows, and interactive component styles.
## How to Run
```bash
# Zero-install — npx fetches the package on first run (lowest friction)
npx -y dembrandt https://dembrandt.com
# Or install once (global), then call `dembrandt` directly
npm i -g dembrandt
# Basic extraction — outputs to terminalView the complete source on GitHubform-design
When your agent uses it
Helper text, placeholders, validation and submit behaviour. Use when designing or reviewing a form, input field or data entry UI.
What it loads into context
Frontmatter
272 tokensAlways available to the agent
SKILL.md
1,921 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Three Guidance Layers
- Submit Button State
- Field Anatomy
- Required vs Optional
- Grouping with Fieldset
- Input Types
- Autofill Support
- Copy That Depends on a Count
- Review Checklist
Files
SKILL.mdcore8,323 bytes
Read SKILL.md
# Form Design
Forms are where users give the product data. Every unnecessary obstacle between the user and a completed form is a failure. The design goal is to make correct input easy and incorrect input obvious — before the user submits.
---
## The Three Guidance Layers
Each layer serves a distinct purpose. Do not collapse them.
### Layer 1 — Helper Text
Explains *what* to enter. Appears below the input, always visible, in small secondary text.
```View the complete source on GitHubgenerate-ui-from-brand
When your agent uses it
Pipeline from a URL or DESIGN.md to tokens, decisions and a UI spec. Use when building UI for an existing brand, auditing a design system or fixing visual inconsistency.
What it loads into context
Frontmatter
438 tokensAlways available to the agent
SKILL.md
2,937 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1 — Extract
- Step 2 — Normalize Tokens
- Step 3 — Apply UX Decisions
- Step 4 — Output UI Spec
- Running This Across Many Brands (Token Architecture & Governance)
- Audit Checklist Before Handoff
Files
SKILL.mdcore11,656 bytesSKILL.mdcore11,656 bytes
Read SKILL.md
# generate-ui-from-brand
**Type:** Pipeline / Orchestrator
**Input:** URL or existing DESIGN.md
**Output:** Actionable UI spec with decisions made
---
## Step 1 — Extract
**If a URL is provided and Dembrandt MCP is available:**
All MCP extraction tools are async — they return a `job_id` immediately. Poll `get_job_status` until `status` is `"completed"`, then read `result`.
View the complete source on GitHubgestalt-ui-organisation
When your agent uses it
Group controls with Gestalt principles so users see what belongs together. Use when laying out components, navigation, toolbars, forms or dashboards.
What it loads into context
Frontmatter
271 tokensAlways available to the agent
SKILL.md
1,684 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Gestalt Principles for UI Layout
- Review Checklist
- Common Anti-Patterns
Files
SKILL.mdcore8,221 bytes
Read SKILL.md
# Gestalt UI Organisation
UI should be organised so that the visual structure communicates relationships — which commands, controls, and elements belong together — without requiring users to read labels or documentation.
## Core Gestalt Principles for UI Layout
### 1. Proximity
Elements that are close together are perceived as a group.
- Place related controls (e.g. Bold / Italic / Underline) close together with minimal gap between them
- Separate unrelated groups with larger whitespace
- Do not use lines or borders as the primary grouping mechanism — proximity alone should convey the relationship
**Example:** A toolbar with `[Cut] [Copy] [Paste]` grouped tightly, then a wider gap before `[Undo] [Redo]`, communicates two distinct command groups without any visual divider.View the complete source on GitHubglobal-toolbar-controls
When your agent uses it
Currency, language, region and unit selectors live in a low-profile header or footer spot. Use when designing locale switchers or product-wide preference controls.
What it loads into context
Frontmatter
240 tokensAlways available to the agent
SKILL.md
1,364 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What Belongs Here
- Where to Place Them
- Typography and Visual Treatment
- Interaction Pattern
- Never Distort a Flag
- Review Checklist
Files
SKILL.mdcore6,365 bytes
Read SKILL.md
# Global Toolbar Controls
## What Belongs Here
Global controls affect the entire product experience but are not the user's primary task. They are reached occasionally — once per session or less — and should not compete visually with primary navigation or content.
Typical global toolbar controls:
- **Currency selector** (e-commerce, financial tools)
- **Language / locale switcher**
- **Region or market selector**
- **Unit system** (metric / imperial)
- **Theme toggle** (light / dark)
- **Accessibility preferences** (font size, contrast)
View the complete source on GitHubinformation-architecture
When your agent uses it
Naming, navigation, a UI that mirrors the data model, confirms for irreversible changes. Use when structuring a large application or naming its entities.
What it loads into context
Frontmatter
394 tokensAlways available to the agent
SKILL.md
3,410 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Naming is Design
- Mental Model Follows Data Model
- Confirm Dialogs for Dangerous Actions
- Navigation Structure in Large Applications
- Keep the Structure Clear as It Grows
- Hide, Don't Delete — but Don't Serve It Up Front Either
- One Word per Axis of Comparison
- Review Checklist
Files
SKILL.mdcore15,844 bytes
Read SKILL.md
# Information Architecture
In small products, users find their way by exploring. In large applications — multi-module SaaS, ERPs, analytics platforms, marketplaces — exploration breaks down. The structure itself must do the navigational work. Information architecture is the design of that structure: what exists, what it is called, and how it relates to everything else.
Good IA is invisible. Users find what they need without thinking about the structure. Bad IA forces users to hold a map in their head.
---
## Naming is Design
The names given to entities, sections, and actions are one of the most consequential design decisions in a large application. Bad names create cognitive friction on every visit.
**Principles:**
View the complete source on GitHublayout-paradigms-and-consistency
When your agent uses it
Choose a layout paradigm (feed, board, table, canvas, master-detail, dashboard) and reuse it across screens. Includes a landing page narrative framework. Use when structuring a screen, page template or landing page.
What it loads into context
Frontmatter
494 tokensAlways available to the agent
SKILL.md
5,792 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Consistency operates at three scales
- Layout is downstream — it serves something upstream
- Part 1 — Choose the paradigm that fits the content
- Part 2 — Reuse the paradigm consistently across the application
- Part 3 — Consistency across an estate of separate applications
- Review Checklist
Files
SKILL.mdcore26,848 bytes
Read SKILL.md
# Layout Paradigms and Consistency
A layout is not a neutral container you pour content into. The layout paradigm you choose is part of the argument about how the content should be read, compared, and acted on. Two products showing the same data can communicate completely different things depending on whether that data is a feed, a table, or a board.
This skill operates at the **macro scale** of consistency. It sits above [[component-family-consistency]] (the *meso* scale — buttons and inputs sharing one DNA) and above token-level consistency like [[button-states]], [[status-colors-and-errors]], and [[modular-scale-typography]] (the *micro* scale). Consistency is not one rule — it is the same discipline applied at three altitudes.
## Consistency operates at three scales
| Scale | What stays consistent | Where it lives |
|---|---|---|
| **Estate** | Brand chassis and shared shell across *separate applications* | *this skill, Part 3* + [[app-shell]] |
| **Macro** | Layout paradigm and page skeleton across screens | *this skill* |
| **Meso** | Component family — shared radius, height, colour logic | [[component-family-consistency]], [[brand-visual-language]] |
| **Micro** | States, tokens, type scale, semantic colours | [[button-states]], [[status-colors-and-errors]], [[modular-scale-typography]], [[algorithmic-color-palette]] |View the complete source on GitHubloading-states-and-perceived-performance
When your agent uses it
Spinners, skeletons and staggered reveals that manage wait times. Use when designing loading states, async data or the feel of a slow interface.
What it loads into context
Frontmatter
368 tokensAlways available to the agent
SKILL.md
2,736 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Choosing the Right Loading State
- Simple Cases: Spinners and Loaders
- Skeleton Screens (Glimmer/Shimmer)
- Fully Animated Sections
- Load in Priority Order — and Prefetch What's Next
- Advanced: Optimistic UI
- Adding Delight to the Wait
- The Cursor Is Not a Loading State
- What a Loading State Cannot Do
- Review Checklist
- Common Anti-Patterns
Files
SKILL.mdcore11,804 bytes
Read SKILL.md
# Loading States and Perceived Performance
Users don't mind waiting as much if they understand *what* they are waiting for and *how much* progress is being made. Perceived performance is the design work of making a system feel faster than it actually is.
---
## Choosing the Right Loading State
| Wait Duration | Best Pattern | Use for |
|---|---|---|
| **Short (< 1s)** | **Inline Spinner / Loader** | Button actions, small updates, quick data fetches |
| **Medium (1s – 3s)** | **Skeleton Screen** | Cards, lists, dashboards, profile pages |
| **Long (> 3s)** | **Determinate Progress Bar** | File uploads, complex exports, heavy processing |
| **Full Page** | **Staggered Entry / Animated Sections** | Initial app load, hero sections, immersive transitions |View the complete source on GitHubmarketing-vs-product-system
When your agent uses it
A marketing site and its product may differ in density and scale but share one token layer. Use when the two drift apart, share components or need a single token owner.
What it loads into context
Frontmatter
436 tokensAlways available to the agent
SKILL.md
3,091 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Layer Rule
- What Legitimately Differs
- Components That Render on Both
- What Is Drift, Not Divergence
- The Token Layer Must Be Single
- Someone Owns the Source
- Getting There From a Fork
- Practical Checks
Files
SKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytesSKILL.mdcore13,798 bytes
Read SKILL.md
# Marketing and Product Are Two Surfaces of One Brand
The public site sells; the product is used. A visitor reads one marketing page for ninety seconds and leaves. An
operator opens the same brand every morning and stays for hours. Designing both to one specification produces
either a brochure that is exhausting to work in or a product screen that cannot sell anything.
So the two surfaces *should* diverge. The question is never whether, it is **which layer is allowed to diverge**.
Marketing and product are the pair that forces the question, because they are the two nobody can pretend are the
same job. But the rule underneath is not about two. Most brands run four or five surfaces: the site, the product,
the documentation, the transactional email, the status page, sometimes a sales deck. Each one is a different job
for a different reader at a different moment. **The brand owns the layer; every surface chooses from it.** Adding
a sixth surface then changes nothing about the rule, which is the test of whether the rule was right.
View the complete source on GitHubmicro-interactions
When your agent uses it
Small purposeful animations — toggles, animated icons, success moments. Use when designing interactive feedback, success states or loaders.
What it loads into context
Frontmatter
272 tokensAlways available to the agent
SKILL.md
2,431 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What Makes a Good Micro-Interaction
- Natural World as Reference
- Patterns
- The Sacred Rule of Component Stability
- How to Declare the Motion
- Restraint
- Review Checklist
Files
SKILL.mdcore10,467 bytes
Read SKILL.md
# Micro-Interactions
A micro-interaction is a moment. A checkbox that draws its checkmark. A heart that pulses when liked. A toggle that eases into place with a little overshoot. A confetti burst on completing a goal. These moments are small in duration — 200–600ms — but they communicate that the product was made by people who cared.
The reference is always the natural world. Nothing in nature snaps instantly. Everything has weight, momentum, and a moment of settling.
---
## What Makes a Good Micro-Interaction
A micro-interaction earns its place when it:
1. **Confirms an action** — makes the result of a click, tap, or input unmistakably clear
2. **Rewards a milestone** — celebrates something the user worked towardView the complete source on GitHubmodal-and-overlay-patterns
When your agent uses it
Modals, drawers, bottom sheets and popovers, each with its scope and blocking level. Use when designing dialogs, confirmations, side panels or action sheets.
What it loads into context
Frontmatter
326 tokensAlways available to the agent
SKILL.md
4,097 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Overlay Hierarchy
- One Shell for the Whole Family
- Tooltip
- Popover
- Dropdown and Menu
- Bottom Sheet (Mobile)
- Drawer / Side Panel
- Modal / Dialog
- Lightbox / Media Viewer
- Focus Management
- ARIA for Modals and Drawers
- Destructive Confirmation Pattern
- Tooltips on Packed Cells
- Review Checklist
Files
SKILL.mdcore18,158 bytes
Read SKILL.md
# Modal and Overlay Patterns
Overlays appear above the main content layer. They range from lightweight popovers (non-blocking, anchored to a trigger) to full blocking modals (require a user response before the app continues). Choosing the right overlay type for the task prevents unnecessary interruption and keeps the user oriented.
---
## The Overlay Hierarchy
Choose the lightest type that satisfies the task. Heavier overlays carry higher cognitive cost.
| Type | Blocks background | Anchored to trigger | Typical content | Dismiss with |
|---|---|---|---|---|
| **Tooltip** | No | Yes | 1–2 lines of explanatory text | Cursor leave / focus out |
| **Popover** | No | Yes | Short interactive content: a form field, a picker, a small list | Click outside, Escape, explicit close |View the complete source on GitHubmodular-scale-typography
When your agent uses it
Ratio-based type scale where every size relates to the others. Use when defining font sizes or type tokens, or when typography feels arbitrary.
What it loads into context
Frontmatter
290 tokensAlways available to the agent
SKILL.md
7,580 tokensWhen the skill is activated
Reference documents
6,621 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What Is a Modular Scale
- Choosing a Ratio
- Generating a Scale
- Design Tokens (CSS custom properties)
- Tailwind Config
- Why This Makes Typography Feel Cohesive
- Minimum Font Size
- Type Rendering Details
- Type Scale by Page Context
- Heading Hierarchy and Page Complexity
- Reading Comfort and Editorial Patterns
- Responsive Type Scale
- Prefer 16px for All Reading Text
- Review Checklist
- Common Anti-Patterns
Files
../extract-design/SKILL.mddoc27,864 bytesSKILL.mdcore30,539 bytes
Read SKILL.md
# Modular Scale Typography
Typography feels cohesive when all font sizes are related to each other through a single mathematical ratio. Without a scale, sizes get picked arbitrarily and the result feels visually noisy — headings that don't contrast enough, body text too close in size to captions, labels that blend into content.
## What Is a Modular Scale
A modular scale starts from a **base size** and multiplies or divides by a **ratio** to generate every size in the system.
```
size(n) = base × ratio^n
```
Every size is thus a deliberate step away from the base — not a guess.
View the complete source on GitHubmotion-and-storytelling
When your agent uses it
Disney's animation principles and cinematic technique applied to UI motion. Use when designing transitions, scroll animations or onboarding motion.
What it loads into context
Frontmatter
257 tokensAlways available to the agent
SKILL.md
2,114 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Disney's 12 Principles Applied to UI
- Cinematic Techniques
- Comic Book Conventions
- Practical Rules
- Review Checklist
Files
SKILL.mdcore9,543 bytesSKILL.mdcore9,543 bytes
Read SKILL.md
# Motion and Storytelling in UI
Animation and motion are not decoration — they are communication. When applied with the same discipline as typography or colour, they tell the user what is happening, where to look, and what the product feels like to use. The source material — Disney's 12 principles, cinematic language, comic book conventions — is centuries of accumulated knowledge about how to communicate through movement and sequence.
The key word is **subtlety**. In UI, motion should be felt, not watched.
---
## Disney's 12 Principles Applied to UI
### 1. Squash and Stretch
Objects compress on impact and extend on acceleration. In UI: a button that scales down slightly on press and springs back communicates physicality and responsiveness.
```cssView the complete source on GitHubnielsen-usability-heuristics
When your agent uses it
Nielsen's 10 usability heuristics. Use when auditing an interface, designing interaction flows, writing error messages or reviewing usability.
What it loads into context
Frontmatter
277 tokensAlways available to the agent
SKILL.md
1,921 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Visibility of System Status
- 2. Match Between System and Real World
- 3. User Control and Freedom
- 4. Consistency and Standards
- 5. Error Prevention
- 6. Recognition Rather Than Recall
- 7. Flexibility and Efficiency of Use
- 8. Aesthetic and Minimalist Design
- 9. Help Users Recognize, Diagnose, and Recover from Errors
- 10. Help and Documentation
- Heuristic Review Checklist
Files
SKILL.mdcore9,380 bytes
Read SKILL.md
# Nielsen's 10 Usability Heuristics
Foundational principles for evaluating and designing usable interfaces. Apply these as a review checklist and as design constraints from the start — not only as a post-hoc audit tool.
---
## 1. Visibility of System Status
The design should always keep users informed about what is going on, through appropriate feedback within a reasonable amount of time.
Users cannot make good decisions without knowing the current state of the system. Trust is built through clear, timely feedback.
**In practice:**
- Show loading states, progress indicators, and completion confirmationsView the complete source on GitHubnotifications-and-recovery
When your agent uses it
Toasts, inline errors, banners and recovery paths. Use when designing error states, success confirmations, async feedback or in-place editing.
What it loads into context
Frontmatter
339 tokensAlways available to the agent
SKILL.md
2,176 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Pattern Selection
- Toast Notifications
- Inline Errors
- Alert Banners
- Recovery Patterns
- Loading and Skeleton States
- The Notification Center
- Notification Accessibility
- Review Checklist
Files
SKILL.mdcore9,692 bytes
Read SKILL.md
# Notifications and Recovery
When something changes — success, failure, or anything in between — the user must know. And when something goes wrong, they must always have a path forward. A notification without a recovery action is just an apology.
---
## Pattern Selection
| Pattern | When to use | Dismissal |
|---|---|---|
| **Toast** | Transient result of a user action (saved, sent, deleted) | Auto-dismiss 4–6s, manual close |
| **Inline error** | Field-level validation, form errors | Clears on correction |
| **Alert banner** | Persistent issue affecting the current context | Manual dismiss or resolved state |
| **Modal / dialog** | Blocking error requiring a decision before continuing | User action required |View the complete source on GitHuboperational-expert-tool-ui
When your agent uses it
Dense, linear, status-at-a-glance UI for specialists who use a tool all day. Use when designing dispatch, warehouse, logistics, scheduling or other B2B operations tools.
What it loads into context
Frontmatter
342 tokensAlways available to the agent
SKILL.md
1,652 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Primary Design Principles
- Hierarchical Accordion Tables
- At-a-Glance Status Indicators
- Workflow-State Filters vs. Search Filters
- Keyboard Navigation
- Action Feedback at Scale
- Review Checklist
Files
SKILL.mdcore7,754 bytes
Read SKILL.md
# Operational Expert Tool UI
An operational expert tool is software used by trained domain specialists — warehouse operators, dispatchers, planners, analysts — as their primary work surface, often for the entire working day. These users are not beginners discovering a product; they are professionals executing a defined job with the tool as their instrument.
This is a fundamentally different design context from consumer software or occasional-use SaaS. The design priorities are reversed: density and speed of action take precedence over discoverability and visual spaciousness.
---
## Primary Design Principles
### 1. Information over whitespace
An expert user does not need breathing room to orient themselves — they know the tool. Every pixel of empty space is a missed opportunity to show data they need to act on.
View the complete source on GitHubperformance-and-web-vitals
When your agent uses it
Lighthouse audits and Core Web Vitals — LCP, CLS, INP. Use when optimising page load, layout shift, input delay, images, fonts or render-blocking resources.
What it loads into context
Frontmatter
337 tokensAlways available to the agent
SKILL.md
2,087 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Run a Lighthouse Audit
- Core Web Vitals
- Images
- Fonts
- JavaScript
- Lighthouse CI (automated audits)
- Review Checklist
Files
SKILL.mdcore8,015 bytesSKILL.mdcore8,015 bytesSKILL.mdcore8,015 bytesSKILL.mdcore8,015 bytesSKILL.mdcore8,015 bytes
Read SKILL.md
# Performance and Web Vitals
## Run a Lighthouse Audit
```bash
# CLI audit — outputs JSON and HTML report
npx lighthouse https://example.com --output html --output-path ./lighthouse-report.html
# Headless, useful in CI
npx lighthouse https://example.com --chrome-flags="--headless" --output json --output-path ./report.json
# Audit specific categories only
npx lighthouse https://example.com --only-categories=performance,accessibility,seo
```View the complete source on GitHubreal-world-metaphors
When your agent uses it
Cards, drawers, carousels and other patterns borrowed from the physical world. Use when designing layout patterns, gestures or navigation paradigms.
What it loads into context
Frontmatter
244 tokensAlways available to the agent
SKILL.md
1,197 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Common Metaphors and When to Use Them
- Principles for Using Metaphors Well
- Review Checklist
Files
SKILL.mdcore5,531 bytes
Read SKILL.md
# Real-World Metaphors in UI
UI patterns borrowed from the physical world reduce the learning curve because users already know how they work. A card feels like something you can pick up. A carousel feels like flipping through a stack. A drawer feels like it slides out from the side. These metaphors carry affordance — the user knows what to do before reading any instructions.
Use them deliberately, not decoratively.
## Common Metaphors and When to Use Them
### Card
A card is a bounded, self-contained unit of content — like a physical index card or a product on a shelf.
**Use when:**
- Content items are discrete and comparable (products, people, articles, tasks)
- Each item needs to be scanned quickly and potentially acted onView the complete source on GitHubrepeated-component-alignment
When your agent uses it
Cards, rows, tiles and cells are fixed slot models that stay aligned when content length varies. Use when building or reviewing any repeated component.
What it loads into context
Frontmatter
351 tokensAlways available to the agent
SKILL.md
2,897 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Slot Model
- Aligning the Anchor
- Reserve Space for Optional Slots
- Clamp Overflowing Text — and Give the Full Value Back
- Images Inside the Slot
- Label and Value Lists
- Internationalisation Note
- A Control Area Keeps One Height Across States
- Review Checklist
Files
SKILL.mdcore12,756 bytesSKILL.mdcore12,756 bytesSKILL.mdcore12,756 bytes
Read SKILL.md
# Repeated Component Alignment
When a component is rendered many times — a card grid, a list, a table, a nav menu, a row of KPI tiles, a feed — it stops being a single box and becomes a **pattern**. The value of a pattern is rhythm: the eye learns the layout once and scans the same slot across every instance (the title row, the price row, the action row). Variable content length breaks that rhythm unless the component is built to absorb it.
The principle is general. A **card** is the most common case, but the same rule governs list rows, table cells, nav items, tiles, comment entries, dashboard widgets, search results — anything repeated. Treat each as a **fixed slot model**, not a free-form container.
The goal: **content of any length, instances that look identical.** This is partly content production (write to a target length) and partly layout engineering (build slots that tolerate the variance). This skill covers the layout half and where the two meet.
---
## The Slot Model
Name the slots once and treat them as a contract every instance honours. A product card, as a worked example:
View the complete source on GitHubresponsive-paradigms
When your agent uses it
Mobile, tablet and desktop are different paradigms, not one layout scaled. Use when designing responsive layouts or deciding what each breakpoint shows.
What it loads into context
Frontmatter
282 tokensAlways available to the agent
SKILL.md
2,188 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Three Paradigms
- Section Behaviour Across Breakpoints
- Mobile-First Approach
- Max-Width and Ultra-Wide Screens
- Header chrome across breakpoints
- Wrapped rows inherit the parent's alignment
- Help Matches the Input in Hand
- Review Checklist
Files
SKILL.mdcore9,814 bytes
Read SKILL.md
# Responsive Paradigms
Mobile, tablet, and desktop are fundamentally different interaction contexts. The input method, screen real estate, viewing distance, and session intent all differ. Responsive design is not the same layout at different widths — it is a different design decision at each breakpoint.
## The Three Paradigms
### Mobile (< 768px)
- **Input:** Touch — fingers, not a cursor. Tap targets ≥ 44×44px.
- **Navigation:** Bottom tab bar (thumb reachable) or hamburger drawer. Top navigation is hard to reach.
- **Session:** Often interrupted, task-focused, shorter. Show the most important thing first.
- **Content:** Single column. Vertical scroll only. No hover states.
- **Primary action:** Floating action button (FAB) or full-width button at the bottom of the screen.
### Tablet (768px–1024px)View the complete source on GitHubscroll-areas
When your agent uses it
Avoid inner scroll containers; when unavoidable, one axis at a time. Use when a layout, table or panel might scroll inside the page.
What it loads into context
Frontmatter
233 tokensAlways available to the agent
SKILL.md
1,013 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Avoid Scroll Areas by Default
- When a Scroll Area Is Justified
- One Axis Only
- Always User-Controlled
- Scroll Affordance
- Review Checklist
Files
SKILL.mdcore4,633 bytes
Read SKILL.md
# Scroll Areas
## Avoid Scroll Areas by Default
Scroll containers inside a layout — panels, drawers, tables, modals with inner overflow — create friction. Users must discover that a region scrolls, manage multiple independent scroll positions simultaneously, and context-switch between scroll areas on the same screen.
**Default: let the page scroll.** A single page-level scroll is universally understood and requires no discovery. Before introducing an inner scroll area, ask whether the layout can be restructured so the page itself handles the overflow.
Alternatives to inner scroll:
- Pagination or load-more for long lists
- Collapsible sections (accordion) for long detail panels
- A separate page or route for content that would otherwise fill a scroll area
- Progressive disclosure — show less by default, expand on demand
View the complete source on GitHubsemantic-html-and-seo
When your agent uses it
Semantic HTML5, SEO basics, alt text, progressive enhancement and SPA concerns. Use when building web UI, reviewing markup or optimising for search.
What it loads into context
Frontmatter
367 tokensAlways available to the agent
SKILL.md
2,859 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Semantic HTML5
- Images and Alt Text
- SEO Fundamentals
- Progressive Enhancement
- SPA Considerations
- Device Capabilities and User Context
- Review Checklist
Files
SKILL.mdcore11,883 bytesSKILL.mdcore11,883 bytesSKILL.mdcore11,883 bytes
Read SKILL.md
# Semantic HTML and SEO
Good HTML is not just markup — it is the contract between your content, search engines, assistive technologies, and the browser. Semantic HTML, correct metadata, and progressive enhancement make UI resilient, findable, and accessible by default.
---
## Semantic HTML5
Use the element that describes the content's meaning, not just its appearance.
### Document structure
```html
<header> <!-- site header, logo, primary nav -->
<nav> <!-- navigation links -->View the complete source on GitHubsizing-units
When your agent uses it
rem, px or relative units for each kind of value. Use when defining spacing and sizing tokens, control heights or media queries, or when a layout breaks under enlarged text.
What it loads into context
Frontmatter
289 tokensAlways available to the agent
SKILL.md
1,530 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Question the Unit Answers
- Zoom Is Not the Font-Size Setting
- Use rem For
- Use px For
- Use Relative Units For
- Media Queries
- Do Not Reset the Root
- A Measured Container Must Not Depend on What It Sizes
- Review Checklist
Files
SKILL.mdcore6,316 bytes
Read SKILL.md
# Sizing Units
## The Question the Unit Answers
A unit is not a formatting preference. It is a declaration of what happens to a value when the user enlarges text.
- `rem` — this value belongs to the text and must grow with it.
- `px` — this value belongs to the screen and must stay put.
- `%`, `fr`, `ch`, `clamp()`, `min()` — this value belongs to the available space.
Pick the unit by answering that question, not by picking a house style and applying it everywhere. Both absolutist positions — all-rem and all-px — produce defects, and they are different defects.
## Zoom Is Not the Font-Size Setting
View the complete source on GitHubstatus-colors-and-errors
When your agent uses it
Few semantic colours, each meaning one thing, and errors with a way forward. Use when designing status indicators, validation, alerts or error states.
What it loads into context
Frontmatter
272 tokensAlways available to the agent
SKILL.md
1,756 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Keep the Colour Set Small
- Orange Is Always a Warning
- Errors Should Be Recoverable
- Prevent Large Errors Before They Happen
- Levels of Severity — Use Sparingly
- Degree of Likeness Is One Hue, Never Red to Green
- Review Checklist
- Common Anti-Patterns
Files
SKILL.mdcore8,088 bytes
Read SKILL.md
# Status Colours and Error Design
## Keep the Colour Set Small
Every status colour added to a system is a cognitive burden on the user. They must learn what each colour means, remember it, and interpret it correctly under stress — which is exactly when errors occur.
**The minimal set that covers almost everything:**
| Colour | Semantic meaning | Always means |
|---|---|---|
| **Red** | Error / failure / destructive | Something went wrong, or this action cannot be undone |
| **Orange / Amber** | Warning | Something needs attention before proceeding |
| **Green** | Success / positive | Action completed, state is healthy |
| **Blue** | Info / neutral status | Informational, no action required |View the complete source on GitHubsticky-and-fixed-elements
When your agent uses it
Sticky headers, bottom toolbars, floating action buttons and pinned table headers. Use when deciding what stays on screen while the user scrolls.
What it loads into context
Frontmatter
255 tokensAlways available to the agent
SKILL.md
1,278 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- position: fixed vs position: sticky
- Top — Navigation Header
- Bottom — Toolbar on Mobile
- Sticky Table Headers
- Stacking and Z-index
- How Many Fixed Layers Is Too Many
- Review Checklist
Files
SKILL.mdcore5,549 bytes
Read SKILL.md
# Sticky and Fixed Elements
## position: fixed vs position: sticky
| Property | Behaviour | Use for |
|---|---|---|
| `position: fixed` | Removed from document flow. Always stays at the same viewport position regardless of scroll or parent. | Global navigation header, bottom toolbar, floating action button |
| `position: sticky` | Stays in document flow until it hits its scroll threshold, then locks in place. Returns to flow when parent scrolls past. | Table column headers, section headings in a long list, in-page toolbars within a scroll container |
**Prefer `sticky` over `fixed`** when the element belongs to a specific section or scroll context. Fixed elements sit above everything and affect the entire viewport — use them only for truly global UI.
## Top — Navigation Header
The global navigation header is the most common fixed element. It should:View the complete source on GitHubsurface-separation
When your agent uses it
Set a surface apart by one means — border, elevation or fill — and keep opacity for state. Use when designing cards, panels, list rows, toolbars or any container.
What it loads into context
Frontmatter
276 tokensAlways available to the agent
SKILL.md
1,606 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Pick One Strategy Per Surface
- Opacity Is a State, Not a Tint
- Checklist
Files
SKILL.mdcore7,190 bytesSKILL.mdcore7,190 bytes
Read SKILL.md
# Surface Separation
A surface — a card, a panel, a toolbar, a row — needs to read as distinct from whatever sits behind it. There are exactly three ways to achieve that, and the mistake is almost always using more than one at full strength rather than choosing badly between them.
## Pick One Strategy Per Surface
| Strategy | Mechanism | Reads as | Best for |
|---|---|---|---|
| **Border** | 1px line at the boundary | Precise, drawn, documentary | Dense UI, tables, forms, anything where the edge itself carries meaning |
| **Elevation** | Shadow implying height | Floating, temporary, above | Modals, dropdowns, popovers, drag states |
| **Fill** | Contrasting background tone | Grouped, embedded, part of the page | Sections, sidebars, alternating rows, inline callouts |
Each answers a different question. A border says *where the surface ends*. An elevation says *how far above the page it sits*. A fill says *what it belongs to*. Choose based on which question the user actually has.
View the complete source on GitHubtab-navigation
When your agent uses it
Tabs swap views under a shared context. Use when designing tabbed layouts, settings pages, detail views or dashboards with several data views.
What it loads into context
Frontmatter
268 tokensAlways available to the agent
SKILL.md
2,246 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use Tabs — and When Not To
- Tab Types
- Anatomy
- States
- Tab Overflow
- Vertical Tabs
- Keyboard Navigation
- ARIA
- State Persistence
- Nested Tabs
- Review Checklist
Files
SKILL.mdcore10,079 bytes
Read SKILL.md
# Tab Navigation
Tabs organise related content under a shared context. The tab strip communicates the full set of available views; switching tabs swaps the content panel without a page navigation. They work best when all views share a heading, a primary action, or a common subject — tabs that have nothing to do with each other belong in separate pages.
---
## When to Use Tabs — and When Not To
| Use tabs when… | Use something else when… |
|---|---|
| 2–7 views share a common context (same record, same settings section) | There are more than 7–8 tabs — use a sidebar or section nav instead |
| Users switch between views frequently during a session | The content is sequential (use a stepper/wizard instead) |
| All tabs are equally valid entry points | One view is clearly primary — put the rest in a secondary nav or overflow |
| The views share a header or set of page-level actions | Each "tab" requires a different header and layout — use separate pages |View the complete source on GitHubui-context-and-scope
When your agent uses it
Show where the user is and what their actions affect — breadcrumbs, regions, scope labels. Use when designing deep navigation or multi-section layouts.
What it loads into context
Frontmatter
381 tokensAlways available to the agent
SKILL.md
2,358 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Communicating Hierarchy with Visual Structure
- Navigating Depth
- Scope Communication Before Action
- Hidden Scope Needs a Visible Indicator
- Acting on Behalf of Someone Else
- Authentication Is a Trust Context
- Distinguish Internal Tools from External Products
- Which Application, Whose Data, What Permissions
- Review Checklist
Files
SKILL.mdcore11,281 bytes
Read SKILL.md
# UI Context and Scope
Users need to know three things at all times:
1. **Where am I?** — current location in the product hierarchy
2. **What context am I in?** — which section, record, or workspace is active
3. **What will my actions affect?** — scope of changes before committing them
When these are unclear, users make mistakes, feel lost, and lose trust in the product.
## Communicating Hierarchy with Visual Structure
### Lines and Dividers
Horizontal rules and borders signal the boundary between sections. Use them to separate content areas that belong to different contexts — not just for decoration.
View the complete source on GitHubui-density
When your agent uses it
Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.
What it loads into context
Frontmatter
356 tokensAlways available to the agent
SKILL.md
1,725 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Platform Defaults
- User Type and Density
- Density Tokens
- Feature Count by Platform
- Density and Feature Reduction on Mobile
- Reading Is Time
- Review Checklist
Files
SKILL.mdcore7,638 bytes
Read SKILL.md
# UI Density
Density describes how much information and how many interactive elements appear in a given area. The right density is not a universal standard — it depends on platform, user type, and session context.
## Platform Defaults
| Platform | Default density | Reason |
|---|---|---|
| Desktop | Medium to high | Large screen, precise input, often primary work surface |
| Tablet | Medium | Touch input, larger than phone but less than desktop |
| Mobile | Low | Small screen, touch targets need space, interrupted sessions |
Never port a dense desktop layout directly to mobile. Remove, collapse, or deprioritise features rather than shrinking them.
View the complete source on GitHubuser-flows-and-guided-paths
When your agent uses it
Guided multi-step paths and wizards. Use when designing onboarding, checkout, setup sequences or any multi-step journey.
What it loads into context
Frontmatter
248 tokensAlways available to the agent
SKILL.md
1,204 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Guide vs. When to Let Users Explore
- The Wizard Pattern
- Purchase and Conversion Flows
- Fitting Flows into the Product Hierarchy
- Review Checklist
Files
SKILL.mdcore5,573 bytes
Read SKILL.md
# User Flows and Guided Paths
Related features that belong together should be experienced as a single coherent journey — not as separate screens the user has to navigate between manually. A well-designed flow feels inevitable: each step leads naturally to the next, the user always knows where they are and what comes next, and the path fits the product's information hierarchy.
## When to Guide vs. When to Let Users Explore
| Scenario | Pattern |
|---|---|
| Linear process with a clear end goal (checkout, signup, setup) | Guided step-by-step flow or wizard |
| Complex task that benefits from breaking into stages | Wizard with progress indicator |
| Feature discovery across an existing product | Contextual tooltips or coach marks |
| User returning to complete something they started | Resume prompt with clear re-entry point |
| Open-ended exploration (dashboard, settings) | Free navigation — do not force a flow |
View the complete source on GitHubvisual-emphasis-and-hierarchy
When your agent uses it
Size, colour, weight and position mark what matters most. Use when designing button groups, CTAs, cards, dashboards or any layout with a primary action.
What it loads into context
Frontmatter
280 tokensAlways available to the agent
SKILL.md
3,118 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Hierarchy Ladder
- Size as Emphasis
- Colour as Emphasis
- Brand Colour as Large Areas
- Contrast and Whitespace as a Focal Point
- Weight and Contrast
- Text Over Imagery
- Position as Emphasis
- Surface the One Key Thing in Data-Heavy Views
- One Primary Action Per View
- Cursor
- A Caption Under a Verdict Adds a Quantity, Never a Synonym
- Review Checklist
- Common Anti-Patterns
Files
SKILL.mdcore14,096 bytes
Read SKILL.md
# Visual Emphasis and Hierarchy
Every screen has a most-important thing. Visual hierarchy is the design work that makes sure the user's eye finds it first — without requiring the user to read everything and decide for themselves.
Emphasis is achieved through **size**, **colour**, **weight**, **contrast**, and **position**. These tools work because they are relative: an element looks important because it differs from what surrounds it.
## The Hierarchy Ladder
Design every action group and content area with a clear hierarchy:
| Level | Role | Visual treatment |
|---|---|---|
| **Primary** | The one action the user should most likely take | Filled, brand colour, largest button in the group |
| **Secondary** | An alternative action of moderate importance | Outlined or ghost, neutral colour, same or slightly smaller size |View the complete source on GitHubwcag-accessibility
When your agent uses it
WCAG 2.2 AA compliance as required by the European Accessibility Act. Use when designing, building or reviewing any user-facing interface for accessibility.
What it loads into context
Frontmatter
371 tokensAlways available to the agent
SKILL.md
2,220 tokensWhen the skill is activated
Reference documents
6,621 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Standard
- Perceivable
- Operable
- Understandable
- Robust
- The Disabled Element Exception
- Review Checklist
Files
../extract-design/SKILL.mddoc27,864 bytesSKILL.mdcore9,772 bytes
Read SKILL.md
# WCAG Accessibility (EN 301 549 / European Standard)
## The Standard
The **European Accessibility Act (EAA)** requires digital products and services in the EU to meet **EN 301 549**, which references **WCAG 2.2 Level AA** as the technical baseline. This is not optional — it is a legal requirement for products operating in the EU market.
**Default: always build to WCAG 2.2 AA.** Deviating requires explicit, documented justification. Do not skip accessibility requirements because of timeline pressure or design preference.
WCAG 2.2 AA organises requirements under four principles: **Perceivable, Operable, Understandable, Robust**.
---
## Perceivable
View the complete source on GitHubSkills included
- algorithmic-color-palette
- app-shell
- authentic-product-representation
- brand-visual-language
- button-states
- clone-website
- color-mode-and-theme
- component-family-consistency
- coordinated-data-views
- data-display-and-selection
- dembrandt
- domain-expert-configuration
- elevation-and-depth
- extract-design
- form-design
- generate-ui-from-brand
- gestalt-ui-organisation
- global-toolbar-controls
- information-architecture
- layout-paradigms-and-consistency
- loading-states-and-perceived-performance
- marketing-vs-product-system
- micro-interactions
- modal-and-overlay-patterns
- modular-scale-typography
- motion-and-storytelling
- nielsen-usability-heuristics
- notifications-and-recovery
- operational-expert-tool-ui
- performance-and-web-vitals
- real-world-metaphors
- repeated-component-alignment
- responsive-paradigms
- scroll-areas
- semantic-html-and-seo
- sizing-units
- status-colors-and-errors
- sticky-and-fixed-elements
- surface-separation
- tab-navigation
- ui-context-and-scope
- ui-density
- user-flows-and-guided-paths
- visual-emphasis-and-hierarchy
- wcag-accessibility
Repository facts
- License
- MIT
- Created
- Apr 19, 2026
- Last pushed
- Nov 1, 2026
- Forks
- 22
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 32 notes
skills/clone-website/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/clone-website/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/clone-website/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/clone-website/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/clone-website/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/coordinated-data-views/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dembrandt/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/extract-design/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/extract-design/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/extract-design/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/extract-design/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/generate-ui-from-brand/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/marketing-vs-product-system/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 303 network referencesin 13 files: skills/extract-design/SKILL.md:63 skills/performance-and-web-vitals/SKILL.md:5 skills/semantic-html-and-seo/SKILL.md:145 and 10 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 2 references to secretsin 1 file: skills/semantic-html-and-seo/SKILL.md:245
- No requests to vote in Hot
Show all 305 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "dembrandt", "url": "https://github.com/dembrandt" - Network accessline 6
"name": "dembrandt", "url": "https://github.com/dembrandt" }, - Network accessline 7
"url": "https://github.com/dembrandt" - Network accessline 8
}, "homepage": "https://www.dembrandt.com/skills", "repository": "https://github.com/dembrandt/dembrandt-skills", - Network accessline 9
"homepage": "https://www.dembrandt.com/skills", - Network accessline 10
"repository": "https://github.com/dembrandt/dembrandt-skills",
skills/clone-website/SKILL.md
skills/data-display-and-selection/SKILL.md
- Network accessline 183
### Filters - **Fetch parameters and result filters live in different places.** A form holds what needs a new fetch (date range, owner, location) and its submit button. A toolbar directly above the results holds what narrows rows already lo - Network accessline 183
### Filters - **Fetch parameters and result filters live in different places.** A form holds what needs a new fetch (date range, owner, location) and its submit button. A toolbar directly above the results holds what narrows rows already lo - Network accessline 184
- **Fetch parameters and result filters live in different places.** A form holds what needs a new fetch (date range, owner, location) and its submit button. A toolbar directly above the results holds what narrows rows already loaded: toggle - Network accessline 184
- **Fetch parameters and result filters live in different places.** A form holds what needs a new fetch (date range, owner, location) and its submit button. A toolbar directly above the results holds what narrows rows already loaded: toggle
skills/dembrandt/SKILL.md
- Network accessline 6
authors: - name: VictorGjn url: https://github.com/VictorGjn - Network accessline 6
authors: - name: VictorGjn url: https://github.com/VictorGjn - Network accessline 7
- name: VictorGjn url: https://github.com/VictorGjn note: original concept and pipeline design - Network accessline 7
- name: VictorGjn url: https://github.com/VictorGjn note: original concept and pipeline design - Network accessline 8
url: https://github.com/VictorGjn - Network accessline 8
url: https://github.com/VictorGjn - Network accessline 9
note: original concept and pipeline design docs: - "https://dembrandt.com" - Network accessline 9
note: original concept and pipeline design docs: - "https://dembrandt.com" - Network accessline 10
docs: - "https://dembrandt.com" - "https://www.npmjs.com/package/dembrandt" - Network accessline 10
docs: - "https://dembrandt.com" - "https://www.npmjs.com/package/dembrandt" - Network accessline 11
- "https://dembrandt.com" - Network accessline 11
- "https://dembrandt.com" - Network accessline 12
- "https://www.npmjs.com/package/dembrandt" - Network accessline 12
- "https://www.npmjs.com/package/dembrandt" - Network accessline 46
> Concept by [@VictorGjn](https://github.com/VictorGjn). - Network accessline 46
> Concept by [@VictorGjn](https://github.com/VictorGjn).
skills/extract-design/SKILL.md
- Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 63
# Zero-install — npx fetches the package on first run (lowest friction) npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 64
npx -y dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 69
# Basic extraction — outputs to terminal dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 70
dembrandt https://dembrandt.com - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 72
# JSON output — pipe into files or other tools dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 73
dembrandt https://dembrandt.com --json-only > dembrandt-tokens.json - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 75
# W3C DTCG format (design-tokens.org standard) dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 76
dembrandt https://dembrandt.com --dtcg --save-output - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 78
# Generate DESIGN.md (human + AI readable brand doc) dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 79
dembrandt https://dembrandt.com --design-md - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 81
# Multi-page crawl (follows internal links) dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 82
dembrandt https://dembrandt.com --crawl 5 - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 84
# Dark mode colors dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 85
dembrandt https://dembrandt.com --dark-mode - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 87
# Mobile viewport dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 88
dembrandt https://dembrandt.com --mobile - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 90
# Everything saved to output/ dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 91
dembrandt https://dembrandt.com --save-output - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 93
# Tailwind v4 @theme CSS — observed values only [dembrandt 0.28+] dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 94
dembrandt https://dembrandt.com --tailwind src/app.css - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 96
# Self-contained HTML report — open offline or attach as a CI artifact [dembrandt 0.19+] dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 97
dembrandt https://dembrandt.com --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 99
# Drift gate — compare against a saved baseline; exits 1 on drift [dembrandt 0.19+] dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 100
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 280
dembrandt https://dembrandt.com --tailwind # → output/<domain>/theme.css - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 281
dembrandt https://dembrandt.com --tailwind src/app.css # or straight into the project - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 374
# 1. capture a baseline (in the SAME environment you will check against) dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 375
dembrandt https://app.example.com --json-only > baseline.json - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 377
# 2. later — compare; exits 0 if stable, 1 if drifted dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html - Network accessline 378
dembrandt https://app.example.com --compare baseline.json --html report.html
skills/generate-ui-from-brand/SKILL.md
- Network accessline 6
requires: "dembrandt>=0.23.1" docs: - "https://dembrandt.com" - Network accessline 6
requires: "dembrandt>=0.23.1" docs: - "https://dembrandt.com" - Network accessline 6
requires: "dembrandt>=0.23.1" docs: - "https://dembrandt.com" - Network accessline 7
docs: - "https://dembrandt.com" - "https://www.npmjs.com/package/dembrandt" - Network accessline 7
docs: - "https://dembrandt.com" - "https://www.npmjs.com/package/dembrandt" - Network accessline 7
docs: - "https://dembrandt.com" - "https://www.npmjs.com/package/dembrandt" - Network accessline 8
- "https://dembrandt.com" - Network accessline 8
- "https://dembrandt.com" - Network accessline 8
- "https://dembrandt.com" - Network accessline 9
- "https://www.npmjs.com/package/dembrandt" - Network accessline 9
- "https://www.npmjs.com/package/dembrandt" - Network accessline 9
- "https://www.npmjs.com/package/dembrandt"
skills/gestalt-ui-organisation/SKILL.md
- Network accessline 5
priority: 7 docs: - "https://www.interaction-design.org/literature/topics/gestalt-principles" - Network accessline 5
priority: 7 docs: - "https://www.interaction-design.org/literature/topics/gestalt-principles" - Network accessline 6
docs: - "https://www.interaction-design.org/literature/topics/gestalt-principles" pathPatterns: - Network accessline 6
docs: - "https://www.interaction-design.org/literature/topics/gestalt-principles" pathPatterns: - Network accessline 7
- "https://www.interaction-design.org/literature/topics/gestalt-principles" - Network accessline 7
- "https://www.interaction-design.org/literature/topics/gestalt-principles"
skills/modular-scale-typography/SKILL.md
- Network accessline 5
priority: 7 docs: - "https://typescale.com" - Network accessline 5
priority: 7 docs: - "https://typescale.com" - Network accessline 6
docs: - "https://typescale.com" - "https://www.modularscale.com" - Network accessline 6
docs: - "https://typescale.com" - "https://www.modularscale.com" - Network accessline 7
- "https://typescale.com" - Network accessline 7
- "https://typescale.com" - Network accessline 8
- "https://www.modularscale.com" - Network accessline 8
- "https://www.modularscale.com"
skills/nielsen-usability-heuristics/SKILL.md
- Network accessline 5
priority: 8 docs: - "https://www.nngroup.com/articles/ten-usability-heuristics/" - Network accessline 5
priority: 8 docs: - "https://www.nngroup.com/articles/ten-usability-heuristics/" - Network accessline 6
docs: - "https://www.nngroup.com/articles/ten-usability-heuristics/" pathPatterns: - Network accessline 6
docs: - "https://www.nngroup.com/articles/ten-usability-heuristics/" pathPatterns: - Network accessline 7
- "https://www.nngroup.com/articles/ten-usability-heuristics/" - Network accessline 7
- "https://www.nngroup.com/articles/ten-usability-heuristics/"
skills/performance-and-web-vitals/SKILL.md
- Network accessline 5
priority: 8 docs: - "https://web.dev/vitals/" - Network accessline 5
priority: 8 docs: - "https://web.dev/vitals/" - Network accessline 6
docs: - "https://web.dev/vitals/" - "https://developer.chrome.com/docs/lighthouse/overview/" - Network accessline 6
docs: - "https://web.dev/vitals/" - "https://developer.chrome.com/docs/lighthouse/overview/" - Network accessline 7
- "https://web.dev/vitals/" - Network accessline 7
- "https://web.dev/vitals/" - Network accessline 8
- "https://developer.chrome.com/docs/lighthouse/overview/" - Network accessline 8
- "https://developer.chrome.com/docs/lighthouse/overview/" - Network accessline 61
# CLI audit — outputs JSON and HTML report npx lighthouse https://example.com --output html --output-path ./lighthouse-report.html - Network accessline 61
# CLI audit — outputs JSON and HTML report npx lighthouse https://example.com --output html --output-path ./lighthouse-report.html - Network accessline 62
npx lighthouse https://example.com --output html --output-path ./lighthouse-report.html - Network accessline 62
npx lighthouse https://example.com --output html --output-path ./lighthouse-report.html - Network accessline 64
# Headless, useful in CI npx lighthouse https://example.com --chrome-flags="--headless" --output json --output-path ./report.json - Network accessline 64
# Headless, useful in CI npx lighthouse https://example.com --chrome-flags="--headless" --output json --output-path ./report.json - Network accessline 65
npx lighthouse https://example.com --chrome-flags="--headless" --output json --output-path ./report.json - Network accessline 65
npx lighthouse https://example.com --chrome-flags="--headless" --output json --output-path ./report.json - Network accessline 67
# Audit specific categories only npx lighthouse https://example.com --only-categories=performance,accessibility,seo - Network accessline 67
# Audit specific categories only npx lighthouse https://example.com --only-categories=performance,accessibility,seo - Network accessline 68
npx lighthouse https://example.com --only-categories=performance,accessibility,seo - Network accessline 68
npx lighthouse https://example.com --only-categories=performance,accessibility,seo - Network accessline 203
<!-- Preconnect to font origin --> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 203
<!-- Preconnect to font origin --> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 204
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 204
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 205
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 205
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
skills/semantic-html-and-seo/SKILL.md
- Network accessline 145
<link rel="canonical" href="https://example.com/the-definitive-url"> - Network accessline 145
<link rel="canonical" href="https://example.com/the-definitive-url"> - Network accessline 152
<meta property="og:title" content="Page title"> <meta property="og:description" content="Page description"> <meta property="og:image" content="https://example.com/og-image.jpg"> - Network accessline 152
<meta property="og:title" content="Page title"> <meta property="og:description" content="Page description"> <meta property="og:image" content="https://example.com/og-image.jpg"> - Network accessline 153
<meta property="og:description" content="Page description"> <meta property="og:image" content="https://example.com/og-image.jpg"> <meta property="og:url" content="https://example.com/page"> - Network accessline 153
<meta property="og:description" content="Page description"> <meta property="og:image" content="https://example.com/og-image.jpg"> <meta property="og:url" content="https://example.com/page"> - Network accessline 154
<meta property="og:image" content="https://example.com/og-image.jpg"> - Network accessline 154
<meta property="og:image" content="https://example.com/og-image.jpg"> - Network accessline 155
<meta property="og:url" content="https://example.com/page"> - Network accessline 155
<meta property="og:url" content="https://example.com/page"> - Network accessline 159
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Page title"> <meta name="twitter:image" content="https://example.com/og-image.jpg"> - Network accessline 159
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Page title"> <meta name="twitter:image" content="https://example.com/og-image.jpg"> - Network accessline 161
<meta name="twitter:image" content="https://example.com/og-image.jpg"> - Network accessline 161
<meta name="twitter:image" content="https://example.com/og-image.jpg"> - Network accessline 176
<script type="application/ld+json"> { "@context": "https://schema.org", - Network accessline 176
<script type="application/ld+json"> { "@context": "https://schema.org", - Network accessline 177
{ "@context": "https://schema.org", "@type": "Product", - Network accessline 177
{ "@context": "https://schema.org", "@type": "Product", - Network accessline 178
"@context": "https://schema.org", - Network accessline 178
"@context": "https://schema.org", - Network accessline 180
"name": "Product Name", "description": "Product description", "image": "https://example.com/product.jpg", - Network accessline 180
"name": "Product Name", "description": "Product description", "image": "https://example.com/product.jpg", - Network accessline 181
"description": "Product description", "image": "https://example.com/product.jpg", "offers": { - Network accessline 181
"description": "Product description", "image": "https://example.com/product.jpg", "offers": { - Network accessline 182
"image": "https://example.com/product.jpg", - Network accessline 182
"image": "https://example.com/product.jpg", - Access to secretsline 245
[Credential-related source omitted] - Access to secretsline 245
[Credential-related source omitted]
skills/wcag-accessibility/SKILL.md
- Network accessline 5
priority: 9 docs: - "https://www.w3.org/TR/WCAG22/" - Network accessline 5
priority: 9 docs: - "https://www.w3.org/TR/WCAG22/" - Network accessline 6
docs: - "https://www.w3.org/TR/WCAG22/" - "https://www.etsi.org/deliver/etsi_en/301500_302000/301549/03.02.01_60/en_301549v030201p.pdf" - Network accessline 6
docs: - "https://www.w3.org/TR/WCAG22/" - "https://www.etsi.org/deliver/etsi_en/301500_302000/301549/03.02.01_60/en_301549v030201p.pdf" - Network accessline 7
- "https://www.w3.org/TR/WCAG22/" - Network accessline 7
- "https://www.w3.org/TR/WCAG22/" - Network accessline 8
- "https://www.etsi.org/deliver/etsi_en/301500_302000/301549/03.02.01_60/en_301549v030201p.pdf" - Network accessline 8
- "https://www.etsi.org/deliver/etsi_en/301500_302000/301549/03.02.01_60/en_301549v030201p.pdf"
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 296 facts
- Network access in code of the SKILL.mdskills/clone-website/SKILL.md:79High confidence
- Network access in code of the SKILL.mdclone-website/SKILL.md:79High confidence
- Network access in prose of the SKILL.mdskills/data-display-and-selection/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mddata-display-and-selection/SKILL.md:183Low confidence
- Network access in prose of the SKILL.mdskills/data-display-and-selection/SKILL.md:184Low confidence
- Network access in prose of the SKILL.mddata-display-and-selection/SKILL.md:184Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:6Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:9Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:9Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:10Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:10Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:11Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:11Low confidence
- Network access in the frontmatter of the SKILL.mdskills/dembrandt/SKILL.md:12Low confidence
- Network access in the frontmatter of the SKILL.mddembrandt/SKILL.md:12Low confidence
- Network access in prose of the SKILL.mdskills/dembrandt/SKILL.md:46Low confidence
- Network access in prose of the SKILL.mddembrandt/SKILL.md:46Low confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdextract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:63High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdextract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:64High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdextract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:69High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdextract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:70High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:72High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:72High confidence
- Network access in code of the SKILL.mdskills/extract-design/SKILL.md:72High confidence
- Network access in code of the SKILL.mdextract-design/SKILL.md:72High confidence
and 246 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/algorithmic-color-palette/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/algorithmic-color-palette/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/algorithmic-color-palette/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/algorithmic-color-palette/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/algorithmic-color-palette/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.