skills/components/layout/masonry/SKILL.md
When the user wants to design, optimize, or audit masonry (Pinterest-style) layouts for content display. Also use when the user mentions "masonry layout," "masonry grid," "Pinterest layout," "waterfall layout," "brick layout," "varying height grid," "gallery layout," or "masonry SEO." For crawl and scroll UX, use site-crawlability.
npx skillsauth add kostja94/marketing-skills masonryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guides masonry layout design for content with varying heights. Masonry stacks items in columns without distinct rows; items fill gaps like a brick wall. Best for image galleries, portfolios, and discovery-focused platforms.
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 masonry when | Use grid when | |------------------|---------------| | Varying heights | Equal-height items | | Image-heavy; varied aspect ratios | Products, templates (consistent) | | Gallery, portfolio, showcase | Card grid | | Discovery, browsing; visual-first | Structured browsing |
See grid for equal-height grid; card for card structure.
| Layout | Structure | Best for | |--------|-----------|----------| | Grid | Equal rows and columns; uniform items | Products, templates, features | | Masonry | Columns; items stack without rows; gaps filled | Pinterest, Behance; varied content | | Bento | Intentional sections; predefined sizes | Homepage, dashboard; Apple-style | | Carousel | Slides; one/few visible; swipe/click | Testimonials, logos, featured items; see carousel |
| Element | Purpose | |---------|---------| | Columns | 2–4 columns; fluid or fixed | | Items | Varying heights; natural aspect ratio | | Gap | Consistent horizontal and vertical spacing | | Order | Top-to-bottom fill within columns |
column-count; simple, no JS; but items flow top-to-bottom then next columngrid-auto-flow: dense: Approximate; no JS; see grid for dense gridNote: Pure masonry can create accessibility challenges (screen reader order); ensure logical DOM order.
Masonry + infinite scroll = content not crawlable. Masonry galleries often use infinite scroll or lazy load; crawlers cannot emulate scroll or "Load more" clicks, so content beyond the initial view is not discoverable.
| If you use | Then | |------------|------| | Infinite scroll | Provide paginated component pages with full URLs; implement pushState; see site-crawlability for search-friendly infinite scroll | | Lazy load | Ensure content exists in HTML or is reachable via crawlable links | | Pagination | Prefer for SEO-critical content; crawlers can follow next/prev links |
Reference: Google – Infinite scroll search-friendly recommendations
| Principle | Practice | |-----------|----------| | Visual-first | Thumbnails; minimal text | | Aspect ratio | Preserve original; avoid forced cropping | | Lazy load | Many images; load on scroll | | Performance | Masonry can be heavy; consider grid for simpler cases |
| Use case | Format | Page Skill | |----------|--------|------------| | Showcase / Gallery | User work; varied sizes | showcase-page-generator | | Portfolio | Projects; mixed media | — | | Pinterest-style | Pins; discovery | — | | Image-heavy blog | Blog with varied images | blog-page-generator |
testing
When the user wants to create, audit, or optimize sitemap.xml. Also use when the user mentions "sitemap," "sitemap.xml," "sitemap index," "lastmod," "changefreq," "priority," "URL discovery," "URL discovery for search engines," "single source of truth," "URL config," "unify sitemap IndexNow," or "reduce duplicate maintenance." For IndexNow, use indexnow.
development
When the user wants to configure, audit, or optimize robots.txt. Also use when the user mentions "robots.txt," "crawler rules," "block crawlers," "AI crawlers," "GPTBot," "allow/disallow," "disallow path," "crawl directives," "user-agent," "block Googlebot," "fix robots.txt," "robots.txt blocking," or "search engine crawling." For indexing, use indexing.
testing
When the user wants to create SEO pages at scale using templates and data—including AI-assisted, grounded copy for per-URL differentiation (vs rigid mail-merge templates). Also use when the user mentions "programmatic SEO," "programmatic SEO pages," "template pages," "scale content," "location pages," "city pages," "comparison pages at scale," "X vs Y pages," "integration pages," "pages from data," "automated landing pages," or "programmatic landing pages." Uses a playbook matrix aligned to skills under skills/pages. For user-facing template galleries or marketplaces (browse → use), use template-page-generator.
data-ai
When the user wants to add or optimize Twitter Card metadata for X (Twitter) link previews. Also use when the user mentions "Twitter Card," "twitter:card," "twitter:image," "twitter:title," "X preview," or "tweet preview." For Facebook/LinkedIn previews, use open-graph.