Find Test Content
This skill searches for existing pages containing a specific block, helping you identify test content during the Content Driven Development workflow.
When to Use This Skill
Use this skill when:
-
Modifying an existing block (CSS, JS, or structural changes)
-
Adding variants to existing blocks
-
Fixing bugs in existing blocks
-
Need to find test content that already uses the block
Do NOT use when:
-
Building a brand new block that doesn't exist yet (no content to find)
-
User already provided test URL(s) (just validate those instead)
What This Skill Does
This skill will:
-
Query the site's query-index for all pages
-
Search each page for the specified block
-
Detect and report all variants found
-
Report all matching pages with their URLs
This skill does NOT:
-
Validate content quality (you'll do that during implementation)
-
Create new content (that happens in Step 4b of CDD if needed)
-
Analyze content structure (that's part of implementation)
How to Use
Required parameter:
- blockName
- Name of the block to search for (e.g., "hero", "cards", "carousel")
Optional parameter:
-
host
-
Dev server host (default: "localhost:3000")
-
Use "localhost:3000" for local dev server
-
Or use live/preview URLs like "main--mysite--owner.aem.live" or "main--mysite--owner.aem.page"
Workflow
- Get Parameters
Check if searching on local dev or live/preview:
-
Default: localhost:3000 (local dev server)
-
Alternative: User can specify live/preview URL
- Run Search
Execute the find-block-content script:
Search for block
node .claude/skills/find-test-content/scripts/find-block-content.js <block-name> [host]
Examples:
Find hero block on local dev (default)
node .claude/skills/find-test-content/scripts/find-block-content.js hero
Find hero block on local dev (explicit)
node .claude/skills/find-test-content/scripts/find-block-content.js hero localhost:3000
Find cards block on live
node .claude/skills/find-test-content/scripts/find-block-content.js cards main--mysite--owner.aem.live
Find carousel block on preview
node .claude/skills/find-test-content/scripts/find-block-content.js carousel main--mysite--owner.aem.page
The script will automatically detect and report:
-
All pages containing the block
-
Number of block instances per page
-
All variants found on each page
- Report Results
If content found:
-
List all URLs found with their variants
-
Note the total count (e.g., "Found 5 pages containing the cards block")
-
For each page, show variants discovered (e.g., "- variants: dark, featured")
-
Suggest which URLs might be best for testing based on:
-
Variety (pages with different variants for comprehensive testing)
-
Simplicity (simpler pages easier for initial testing)
If no content found:
-
Report that no content was found
-
Suggest possible reasons:
-
Block is new and no content exists yet
-
Block name spelling might be different
-
Content exists but hasn't been published
-
Recommend creating test content (CDD Step 4, Option B)
- Next Steps
If sufficient content found:
-
Recommend specific URL(s) for testing
-
Note variety of variants available
-
If working on new variant: Note if that specific variant exists or needs to be created
-
Return control to CDD workflow to validate URLs
If insufficient or no content found:
-
Recommend creating test content
-
Return control to CDD workflow Step 4, Option B (create test content)
Example Usage
Example 1: Finding Hero Block
Input:
-
Block name: "hero"
-
Host: "localhost:3000" (default)
Command:
node .claude/skills/find-test-content/scripts/find-block-content.js hero
Possible outputs:
✓ Found 3 page(s) containing the "hero" block:
- http://localhost:3000/ - variants: dark
- http://localhost:3000/about - variants: featured
- http://localhost:3000/products
Interpretation:
-
Found 3 pages with hero blocks
-
Page 1 has "dark" variant
-
Page 2 has "featured" variant
-
Page 3 has default/no variant
-
Good variety for testing different variants
Example 2: Finding Cards Block
Input:
-
Block name: "cards"
-
Host: "localhost:3000"
Command:
node .claude/skills/find-test-content/scripts/find-block-content.js cards localhost:3000
Possible outputs:
✓ Found 2 page(s) containing the "cards" block:
- http://localhost:3000/services - variants: three-up, dark
- http://localhost:3000/team - variants: two-up
Interpretation:
-
Found 2 pages with cards blocks
-
Page 1 has both "three-up" and "dark" variants applied
-
Page 2 has "two-up" variant
-
Good starting point for testing existing functionality
Integration with CDD Workflow
This skill is invoked from Step 4: Identify/Create Test Content, Option C: Existing Block
Before this skill:
-
Step 1: Dev server running
-
Step 2: Requirements analyzed
-
Step 3: Content model designed (if structural changes)
After this skill:
-
Return to CDD Step 4 with findings
-
If content found: Validate URLs and proceed to Step 5 (implementation)
-
If no content found: Create test content (Step 4, Option B approaches)
Limitations
-
Requires query-index to be available (dev server must be running)
-
Only searches indexed pages (new/unpublished content won't appear)
-
Cannot search inside blocks for specific content patterns (only finds block presence)
-
Variant detection based on CSS classes (only shows variants applied as classes on block element)
Troubleshooting
"No pages found in query index"
-
Dev server may not be running: Check curl http://localhost:3000
-
Query index may not be generated yet: Try accessing a page first
-
Using wrong host: Verify host parameter
"No pages found containing the block"
-
Block name may be misspelled: Verify block name matches CSS class
-
Block may be new: No content exists yet
-
Content may not be published: Check in CMS
Script errors
-
jsdom dependency missing: Run npm install in project root
-
Fetch errors: Check network/server connectivity