Analyze content sequences and determine authoring approach (default content vs blocks). Validates block selection and section styling for Edge Delivery Services migration.
Determine authoring approach for EACH content sequence: default content or specific block.
Use this skill when:
Invoked by: page-migration 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-migration-html skill