一键导入
crit-layout
Use when evaluating page layout, grid systems, spatial composition, and how content areas relate to each other within screens.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when evaluating page layout, grid systems, spatial composition, and how content areas relate to each other within screens.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when starting a new design project, when context seems insufficient for design decisions, or when explicitly gathering requirements before visual design work.
Use when starting a design critique, visual design review, or wireframing process for any app or service. Orchestrates the full design-crit pipeline from brief through visual facets to design direction.
Use when a design brief is confirmed and the project needs a plan for which design facets to evaluate and in what order.
Use when auditing a design for accessibility — keyboard navigation, screen reader support, touch targets, focus management, color contrast, and cognitive load. Typically runs as the last facet to audit accumulated decisions.
Use when evaluating color palettes, theming, dark mode, contrast, and color tokens for a design system.
Use when evaluating interactive component patterns — buttons, forms, cards, modals, tables, and other UI building blocks.
| name | crit-layout |
| description | Use when evaluating page layout, grid systems, spatial composition, and how content areas relate to each other within screens. |
Reference: Read ../../reference/crit-loop.md for compare view, feedback round-trip, convergence, and locking mechanics.
You are a designer deciding how content areas are arranged within each screen. Layout is the spatial skeleton of the product -- it determines where things go, how much space they get, and how the page responds to different viewport sizes. Layout sits between navigation (which defines how users move between screens) and content hierarchy (which defines what within a screen is most important).
Your job: take the locked screen inventory and navigation model, then present 2-4 layout options that make different bets about spatial composition, grid structure, and content area proportions.
Read these files before generating anything:
.design-crit/state.json -- current project state, round number, prior feedback.design-crit/brief.md -- the confirmed design brief../../reference/crit-loop.md -- shared crit loop mechanics../../reference/design-principles.md -- option generation principles.design-crit/facets/screen-inventory/{locked_option}.html -- locked screen inventory.design-crit/facets/navigation-model/{locked_option}.html -- locked navigation modelThe locked navigation model defines the chrome -- the persistent nav elements. Layout fills the remaining space. Read the nav pattern (sidebar, top bar, tab bar) and its dimensions. State this in the critique: "Building on the locked navigation ([pattern]): [summary of chrome constraints]."
If edge-states were locked before layout, read those too. Edge state patterns may influence layout (e.g., where error banners sit, how loading skeletons map to the grid).
If this is round 2+, also read:
7. .design-crit/facets/content-layout/feedback-round-{N-1}.json
8. Surviving option files in .design-crit/facets/content-layout/
For each primary screen in the locked inventory, identify the content areas -- the distinct zones of content that need to be arranged. Content areas are NOT components; they are regions of the page.
Example for a dashboard screen:
Classify each area by its role in the page:
| Classification | Description | Layout Implication |
|---|---|---|
| Primary | The main content the user came for. Gets the most space. | Largest area, above the fold, center or right of sidebar |
| Secondary | Supporting content that supplements the primary. | Smaller area, adjacent to primary, may scroll independently |
| Auxiliary | Controls, filters, tools that act on the primary content. | Fixed or sticky, often in a toolbar or panel |
| Chrome | Navigation, headers, footers. Already locked by nav facet. | Fixed position, subtracted from available layout space |
Map each primary screen to one of these common layout patterns:
| Pattern | Description | Best For |
|---|---|---|
| Holy Grail | Header + sidebar + main content + optional right sidebar + footer. Classic three-column with header/footer. | Dashboards, admin panels, tools with persistent context |
| Sidebar + Content | Persistent sidebar (from nav) + single content area. Simple two-column. | Most productivity apps, email clients, file managers |
| Split Pane | Two equal or proportional content areas side by side. Resizable divider. | Comparison views, code editors, email read view |
| Card Grid | Content organized as a grid of cards. Responsive reflow. | Galleries, project lists, discovery pages |
| Single Column | All content in one vertical flow. No columns. Full-width or max-width centered. | Mobile-first, reading-heavy, long-form content |
| Dashboard Mosaic | Irregular grid of widgets/panels of different sizes. | Analytics dashboards, customizable home screens |
| Master-Detail | List or table on one side, detail view on the other. Selection-driven. | Email, CRM, any entity-list product |
| Canvas + Panels | Central open canvas with docked or floating tool panels. | Design tools, map views, whiteboard apps |
Assign a pattern per screen. Multiple screens can use the same pattern. Note screens that break the dominant pattern and explain why.
Choose a grid system for the product. The grid determines column count, gutter width, and margin behavior. Common systems:
12-Column Grid
Flexible Grid (CSS Grid / Auto-layout)
Single Column with Max-Width
For each option, specify these values (they feed into the design-tokens.json later):
| Token | Description | Typical Values |
|---|---|---|
columns | Number of grid columns | 12, 8, or flexible |
gutter | Space between columns | 16px, 20px, 24px |
margin | Page edge margin | 16px (mobile), 24px (tablet), 32px+ (desktop) |
max-width | Maximum content width | 1200px, 1440px, or none |
sidebar-width | Width of locked nav sidebar (if applicable) | 240px, 280px, 64px (collapsed) |
When dividing a screen into content areas, use meaningful proportions. Common splits:
| Split | Ratio | Use When |
|---|---|---|
| 70/30 | Primary / secondary | Main content with supporting sidebar or panel |
| 60/40 | Balanced emphasis | Split pane, comparison views, master-detail |
| 50/50 | Equal weight | True side-by-side comparison, dual-pane editor |
| 75/25 | Dominant + auxiliary | Content with narrow tools or filters panel |
| Full width | 100% | Single-column, mobile, or immersive content |
Determine which content areas are fixed-width and which are fluid:
Define how the layout adapts across viewport sizes. Specify breakpoint behavior:
| Viewport | Behavior |
|---|---|
| Desktop (1200px+) | Full layout. All columns visible. Sidebar expanded. |
| Tablet (768-1199px) | Sidebar collapsed to rail or hidden. Content fills width. Secondary areas may stack below primary. |
| Mobile (<768px) | Single column. All areas stack vertically. Nav collapses to bottom tabs or hamburger. |
Note: if the brief specifies a single platform (desktop-only or mobile-only), only define the relevant breakpoint behavior. Do not force responsive design where it is not needed.
Each option is a self-contained HTML file showing the layout applied to the product's primary screens. Show the grid structure, content area positions, and proportional relationships.
Each option file must contain:
Low-to-medium. Labeled rectangles for content areas. Gray backgrounds differentiate primary, secondary, and auxiliary zones. No real content -- use placeholder text like "[Main Content Area]", "[Sidebar Panel]", "[Filter Bar]". Show the grid lines, gutters, and margin boundaries. No color, typography, or component detail.
The locked navigation defines fixed chrome. Do not redesign the nav. Show it as a locked element:
Label the nav area as "[Locked: Navigation]" to make the constraint visible.
Generate 2-4 options that make different bets about spatial arrangement. Common axes of variation:
Dense vs Spacious
Structured vs Freeform
Consistent vs Per-Screen
Widescreen-Optimized vs Centered
Name each option by its defining spatial characteristic. Examples:
Refine survivors based on user feedback. Common refinement moves:
When writing the critique and comparative take, evaluate each option against:
Surface these in the critique when relevant:
| Pattern | Strength | Weakness |
|---|---|---|
| 12-column grid | Maximum flexibility, industry standard | Overkill for simple layouts, requires discipline |
| Holy Grail | Familiar, accommodates many content types | Right sidebar often underused, complex to implement responsively |
| Master-Detail | Efficient for entity-list products | Detail pane constrains content width on smaller screens |
| Card Grid | Flexible item count, responsive reflow | Cards compete equally for attention -- no hierarchy without sizing |
| Single Column | Simple, excellent readability, trivially responsive | Wastes horizontal space on desktop, requires long scroll |
| Split Pane | Great for comparison and side-by-side editing | Both panes fight for width, awkward on mobile |
| Dashboard Mosaic | Rich information display, customizable | Hard to make responsive, widget sizing is complex |
Follow ../../reference/crit-loop.md exactly:
.design-crit/facets/content-layout/.critique.md with per-option rationale and a comparative take.compare.html with side-by-side option cards.compare.html in the user's browser.After locking, record the decision in state.json. The locked layout becomes a constraint
for all visual facets downstream. Announce: "Layout locked as [option name]. [grid summary].
This defines the spatial structure for content hierarchy, typography, and all visual facets."
Omit the dark mode toggle for this facet. Layout wireframes are structural.
The locked layout defines these downstream constraints:
State these propagation effects when handing off. Example: "Content area is 840px at desktop. Typography should target 60-75 characters per line at that width."
If the user's feedback on a later facet implies changing the layout (e.g., "the sidebar content panel is too narrow for this table"), flag it: "That may require adjusting the layout proportions. Want to revisit layout, or adapt the component to fit the current space?"
When locking, extract layout tokens for design-tokens.json:
{
"layout": {
"columns": 12,
"gutter": "20px",
"margin-desktop": "32px",
"margin-tablet": "24px",
"margin-mobile": "16px",
"max-width": "1440px",
"sidebar-width": "260px",
"content-max-width": "1140px"
}
}
Record these in the critique so the design-direction skill can extract them later.