Block Inventory
Survey and catalog available blocks to understand what authoring options exist.
When to Use This Skill
Use this skill when:
-
Starting a page import to understand available blocks
-
Planning content structure and need to know block options
-
An author would see a block library and choose from available options
Do NOT use this skill when:
-
You already know which specific block you need
-
Building new blocks from scratch
-
Only checking if one specific block exists (use block-collection-and-party directly)
Why This Skill Exists
Real authors see a block library in their authoring tools. They think: "I want a hero section... oh, there's a Hero block!"
This skill provides that same context - understanding what blocks are available BEFORE making authoring decisions.
Related Skills
-
page-import - Top-level orchestrator
-
identify-page-structure - Invokes this skill to survey blocks (Step 2.5)
-
block-collection-and-party - This skill uses it to search Block Collection
-
content-modeling - Can reference block inventory but maintains independent judgment
Block Inventory Workflow
Step 1: Scan Local Project Blocks
Check what blocks already exist in the project:
List all local blocks
ls -d blocks/*/
For each block found:
-
Record block name
-
Note: Purpose/description comes from block code or documentation
Output: List of local block names
Step 2: Search Block Collection for Common Blocks
Search for commonly-used blocks that might not be in the project yet.
Common blocks to search (run in parallel):
Search all common blocks in parallel
node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js hero & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js cards & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js columns & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js accordion & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js tabs & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js carousel & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js quote & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js fragment & wait
Why these specific blocks:
-
hero - Large prominent content at page top
-
cards - Grid of items with images/text
-
columns - Side-by-side content layouts
-
accordion - Expandable Q&A sections
-
tabs - Switchable content panels
-
carousel - Rotating image/content displays
-
quote - Highlighted testimonials or quotes
-
fragment - Reusable content sections
Output: Block Collection blocks with live example URLs
Step 3: Get Block Purposes
For each block found (local or Block Collection):
If from Block Collection:
-
Purpose is clear from live example URL
-
Visit live example to understand usage: https://main--aem-block-collection--adobe.aem.live/block-collection/{block-name}
If local block:
-
Check for README or comments in block code
-
Infer from block name and structure
-
May need to describe based on code examination
Output: Block name + purpose/description
Step 4: Consolidate Block Inventory
Create comprehensive block palette:
Format:
Available Blocks:
LOCAL BLOCKS:
- {block-name}: {purpose}
- {block-name}: {purpose}
BLOCK COLLECTION (can be added):
- hero: Large heading, text, and buttons at top of page
- cards: Grid of items with images, headings, and descriptions
- columns: Side-by-side content in 2-3 columns
- accordion: Expandable questions and answers
- tabs: Content organized in switchable tabs
- carousel: Rotating images or content panels
- quote: Highlighted testimonial or pullquote
- fragment: Reusable content section
Important notes in output:
-
Local blocks are already available for use
-
Block Collection blocks can be added if needed
-
Link to Block Collection for authors to see examples
Output: Complete block inventory
Usage Example
Scenario: Starting WKND Trendsetters homepage import
Step 1 - Local blocks:
ls -d blocks/*/
Output: (none found - new project)
Step 2 - Block Collection search:
Run parallel searches
node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js hero & node .claude/skills/block-collection-and-party/scripts/search-block-collection-github.js cards &
... (all common blocks)
wait
Results:
-
hero ✅ Found
-
cards ✅ Found
-
columns ✅ Found
-
accordion ✅ Found
-
tabs ✅ Found
-
carousel ✅ Found
-
quote ✅ Found
-
fragment ✅ Found
Step 3 - Get purposes: Visit live examples or read descriptions from search results
Step 4 - Consolidated output:
Block Inventory for Migration:
LOCAL BLOCKS: (None - new project)
BLOCK COLLECTION AVAILABLE:
-
hero: Large heading, paragraph, and call-to-action buttons for page introductions Example: https://main--aem-block-collection--adobe.aem.live/block-collection/hero
-
cards: Grid layout of content items with images, headings, and descriptions Example: https://main--aem-block-collection--adobe.aem.live/block-collection/cards
-
columns: Side-by-side content in 2-3 columns for comparisons or layouts Example: https://main--aem-block-collection--adobe.aem.live/block-collection/columns
-
accordion: Expandable sections for FAQs or collapsed content Example: https://main--aem-block-collection--adobe.aem.live/block-collection/accordion
-
tabs: Tabbed interface for organizing related content Example: https://main--aem-block-collection--adobe.aem.live/block-collection/tabs
-
carousel: Rotating slideshow of images or content Example: https://main--aem-block-collection--adobe.aem.live/block-collection/carousel
-
quote: Highlighted testimonial or pullquote with attribution Example: https://main--aem-block-collection--adobe.aem.live/block-collection/quote
-
fragment: Reusable content section that can be embedded across pages Example: https://main--aem-block-collection--adobe.aem.live/block-collection/fragment
Key Principles
Completeness over perfection:
-
Better to show too many blocks than miss one
-
Authors can ignore blocks they don't need
-
Discovering a perfect-fit block later is frustrating
Practical purposes:
-
Describe blocks in author language, not developer terms
-
"Grid of items" not "repeating collection pattern"
-
"Expandable Q&A" not "interactive disclosure widget"
Block Collection focus:
-
Prioritize Block Collection blocks (vetted, accessible, performant)
-
These are the canonical implementations
-
Can be added to any project
Speed matters:
-
Run searches in parallel
-
Don't visit every live example (time-consuming)
-
Get enough info to understand purpose
Common Blocks Reference
Here's a quick reference for the most common blocks:
Block Purpose When Authors Use It
hero Page introduction "I want a big heading at the top"
cards Content grid "I want items in a grid with pictures"
columns Side-by-side "I want two things next to each other"
accordion Collapsible Q&A "I have FAQs that should expand/collapse"
tabs Tabbed content "I want content in switchable tabs"
carousel Image slider "I want images that rotate/slide"
quote Testimonial "I want to highlight a customer quote"
fragment Reusable content "I want to reuse this section on multiple pages"
Limitations
This skill does NOT:
-
Determine which block to use (that's content-modeling's job)
-
Validate if blocks work correctly
-
Create new blocks
-
Search Block Party (focuses on Block Collection + local)
-
Provide detailed implementation guidance
For those needs, use the appropriate skills:
-
content-modeling: Determine which block fits
-
block-collection-and-party: Deep search and code examination
-
building-blocks: Create new blocks
-
content-driven-development: Implementation guidance