kostja94/grid
When the user wants to design, optimize, or audit grid layouts for content display. Also use when the user mentions "grid layout," "grid design," "multi-column grid," "CSS grid," "responsive grid," "card grid," "product grid," or "feature grid." For cards layout, use card.
npx skills add https://github.com/kostja94/marketing-skills --skill grid
Guides grid layout design for equal-hierarchy, multi-column content display. Grids display multiple items with equal emphasis; space-efficient and scannable. Used for products, templates, tools, features, blog indexes, and galleries.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
| Use grid when | Use list when |
|---------------|---------------|
| Visual content (images, thumbnails) | Text-heavy; scan by title |
| Equal emphasis across items | Compact; many items; dense info |
| Products, templates, gallery, features | Blog index, docs, search results |
| Browsing, discovery | Reading, scanning |
See list for list layout; card for card structure within grid.
| Element | Purpose |
|---------|---------|
| Columns | 1–4+ columns; adapt to viewport |
| Gap | Consistent spacing between items |
| Items | Equal or proportional sizing |
| Responsive | 1 col mobile → 2–4 cols desktop |
repeat(auto-fill, minmax(min, 1fr)) or repeat(auto-fit, minmax()) for fluid columns| Principle | Practice |
|-----------|----------|
| Equal hierarchy | Items compete equally; no single dominant item |
| Consistent sizing | Same card/item dimensions in grid |
| Gap consistency | Uniform gap (e.g., 16px, 24px) |
| No layout shift | Reserve space for images; avoid CLS |
If using infinite scroll with grid: crawlers cannot access content loaded on scroll. Provide paginated component pages for SEO-critical content. See site-crawlability for search-friendly implementation.
Take kostja94/grid from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.