Claude-skill-registry layout-framework
Use for any frontend layout or form arrangement work in PierceDesk. Covers Box/Container/Grid/Stack/Paper usage, responsive sizing, spacing rules, and how to align pages with the app’s layout framework. Trigger when asked to fix layout issues, align fields, create grids, or ensure design-system consistency.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/layout-framework" ~/.claude/skills/majiayu000-claude-skill-registry-layout-framework && rm -rf "$T"
manifest:
skills/data/layout-framework/SKILL.mdsource content
Layout Framework Skill
Core rules (always follow)
- Use MUI v7 Grid with the
prop (notsize
/xs
props).md - Prefer
for column layouts; useGrid container
for simple vertical rhythm.Stack - Avoid hardcoded widths/heights; use theme spacing and responsive values (
).{ xs, md } - Wrap major sections in
withPaper background={1}
andp: { xs: 3, md: 5 }
unless the surrounding layout already provides a card.borderRadius: 6 - Keep inputs aligned in a consistent grid (e.g., 12 / 6 / 3 / 3, 8 / 4, 6 / 6). No uneven, ad-hoc sizing.
- Use
only for page-level width constraints. Inside cards, useContainer
for structure.Grid
When to read references
- For exact examples of Box/Container/Grid/Stack usage, read:
references/component-docs-map.mdreferences/layout-patterns.md
Default layout patterns
- Two-column forms:
withGrid container spacing={{ xs: 2, md: 3 }}
.size={{ xs: 12, md: 6 }} - Primary + secondary field:
+size={{ xs: 12, md: 8 }}
.size={{ xs: 12, md: 4 }} - Address block: street
, city12
, state6
, zip3
.3 - Section cards: each form block inside
with internalPaper background={1}
orGrid
.Stack
Process checklist
- Identify the page sections and their cards.
- Decide row/column structure using
(avoid ad-hocGrid
flex sizing).sx - Normalize spacing with
andspacing={{ xs: 2, md: 3 }}
.p: { xs: 3, md: 5 } - Verify that labels/inputs align across rows and breakpoints.
- Remove any hardcoded widths or manual flex ratios unless they map to a grid size.