Analyze content sequences and determine authoring approach (default content vs blocks). Validates block selection and section styling for import/migration to AEM Edge Delivery Services.
Determine authoring approach for EACH content sequence: default content or specific block.
Use this skill when:
Invoked by: page-import skill (Step 3)
From identify-page-structure skill, you need:
After completing Step 3 (analyzing all sequences), you MUST execute Step 3e if:
If NO sections meet these criteria ā Skip Step 3e If ANY sections meet these criteria ā Execute Step 3e for EACH qualifying section
Context: You now have:
FOR EACH content sequence, follow this mandatory process:
Question: "Can an author create this with normal typing in Word/Google Docs?"
Default content means:
NOT default content means:
Decision:
Examples:
"Large centered heading, paragraph, two buttons"
ā Can author just type heading, paragraph, links? YES
ā Decision: DEFAULT CONTENT ā
"Two centered buttons"
ā Can author just type two links? YES
ā Decision: DEFAULT CONTENT ā
"Four items in grid, each with image, heading, description"
ā Can author just type this? NO - requires grid structure
ā Decision: Proceed to Step 3b ā”ļø
"Expandable questions and answers"
ā Can author just type this? NO - requires interaction/decoration
ā Decision: Proceed to Step 3b ā”ļø
With block inventory context, ask: "Which available block would an author choose for this?"
DECISION TREE: When to Invoke content-modeling
OBVIOUS MATCH (Don't invoke content-modeling):
Pattern matches block purpose 1:1:
Criteria for OBVIOUS:
UNCLEAR MATCH (Invoke content-modeling):
Ambiguous which block to use:
Missing from inventory:
Complex authoring consideration:
Criteria for UNCLEAR:
Only if block not in Block Collection common set:
Invoke block-collection-and-party skill to:
CRITICAL: Before generating any HTML in next skill, fetch the pre-decoration HTML structure for ALL blocks you'll use.
# Get structure examples for each block
node .claude/skills/block-collection-and-party/scripts/get-block-structure.js cards
node .claude/skills/block-collection-and-party/scripts/get-block-structure.js tabs
node .claude/skills/block-collection-and-party/scripts/get-block-structure.js accordion
node .claude/skills/block-collection-and-party/scripts/get-block-structure.js columns
Why this prevents mistakes:
Use the output to:
Complete analysis for all sequences:
Section 1 (light):
- Sequence 1: "Large centered heading, paragraph, two call-to-action buttons"
ā Decision: DEFAULT CONTENT
ā Reason: Author can type heading, paragraph, links normally
ā Note: Prominent styling is a CSS concern
- Sequence 2: "Two images side-by-side"
ā Decision: Columns block (2 columns)
ā Reason: Side-by-side layout requires structure
ā Obvious match with "columns" block in inventory
Section 2 (light):
- Sequence 1: "Centered heading"
ā Decision: DEFAULT CONTENT
ā Reason: Just a heading - author types it
- Sequence 2: "Grid of 8 items, each with icon and short text"
ā Decision: Cards block
ā Reason: Repeating structured pattern, needs block
ā Obvious match with "cards" block in inventory
- Sequence 3: "Two centered buttons"
ā Decision: DEFAULT CONTENT
ā Reason: Just two links - author types them
Section 3 (grey):
- Sequence 1: "Eyebrow text, heading, paragraph, button stacked vertically"
ā Decision: DEFAULT CONTENT
ā Reason: Author types text and link normally
- Sequence 2: "Four items in grid, each with image, category tag, heading, description"
ā Decision: Cards block
ā Reason: Repeating structured pattern
ā Obvious match with "cards" block in inventory
Section 4 (dark):
- Sequence 1: "Tab navigation with three switchable content panels"
ā Decision: Tabs block
ā Reason: Interactive component, needs decoration
ā Obvious match with "tabs" block in inventory
ā ļø EXECUTION TRIGGER: This step is executed AFTER Step 3 is complete. Execute this step if and only if:
If NO sections meet these criteria ā Skip Step 3e entirely and proceed to next skill
If ANY sections meet these criteria ā You MUST execute all sub-steps below for EACH qualifying section
Why this validation matters:
When a section contains a single block, the background styling might be:
Without validation, we risk adding unnecessary section-metadata that conflicts with block styling or makes authoring more complex.
Sections with multiple sequences: Always keep section-metadata (styling applies to all content, not validated in Step 3e)
For EACH section with exactly one block, execute ALL these sub-steps:
Sub-step 1: Identify the candidate sections
Review your Step 3 output. Find sections where:
Example:
Section 1 (dark blue):
- Sequence 1: Large centered heading, paragraph, two buttons
ā Decision: Hero block
Section 3 (grey):
- Sequence 1: Tab navigation with three switchable panels
ā Decision: Tabs block
Sub-step 2: For each candidate section, examine the screenshot
Open screenshot.png and examine the section visually.
Ask these questions:
Q1: Is the background an image (photo, gradient, illustration)?
Q2: Does the content fill the colored area edge-to-edge, or is there visible section padding?
Q3: Does the block type typically have its own background styling?
Sub-step 3: Make the decision
Based on your analysis, decide for each single-block section:
SKIP section-metadata if:
KEEP section-metadata if:
Sub-step 4: Document your decisions
For each validated section, note:
Example output:
VALIDATED SECTIONS:
Section 1 (dark blue):
- Block: Hero
- Background: Full-width dark blue gradient image
- Layout: Edge-to-edge, no visible section padding
- Decision: SKIP section-metadata
- Reason: Background is hero's design, not section styling
Section 3 (grey):
- Block: Tabs
- Background: Solid grey (#f5f5f5)
- Layout: Content centered with visible padding (~80px on sides)
- Decision: KEEP section-metadata style="grey"
- Reason: Section provides container styling for tabs block
When in doubt:
If you're uncertain whether background is block-specific or section-wide:
Step 3e Completion Checklist:
Before proceeding to next skill, verify you have completed:
This skill provides complete authoring analysis:
1. Authoring decisions for all sequences:
2. Block structures fetched:
3. Section styling validation (if applicable):
Next step: Pass these outputs to generate-import-html skill