Agent SkillsNeverSight/learn-skills.dev › page-decomposition

page-decomposition

GitHub

用于AEM页面导入时,对单个章节内的内容序列进行分析。识别内容类型转换的断点并提供中性描述,为后续模块命名和作者决策提供结构化依据。

data/skills-md/adobe/helix-website/page-decomposition/SKILL.md NeverSight/learn-skills.dev

Trigger Scenarios

分析AEM页面章节内部结构 识别内容序列间的断点 生成中性的内容描述

Install

npx skills add NeverSight/learn-skills.dev --skill page-decomposition -g -y
More Options

Non-standard path

npx skills add https://github.com/NeverSight/learn-skills.dev/tree/main/data/skills-md/adobe/helix-website/page-decomposition -g -y

Use without installing

npx skills use NeverSight/learn-skills.dev@page-decomposition

指定 Agent (Claude Code)

npx skills add NeverSight/learn-skills.dev --skill page-decomposition -a claude-code -g -y

安装 repo 全部 skill

npx skills add NeverSight/learn-skills.dev --all -g -y

预览 repo 内 skill

npx skills add NeverSight/learn-skills.dev --list

SKILL.md

Frontmatter
{
    "name": "page-decomposition",
    "description": "Analyze content sequences within a section and provide neutral descriptions for AEM Edge Delivery Services. Invoked per section during page import to identify breaking points between default content and blocks."
}

Page Decomposition

Analyze content sequences within a section and provide neutral descriptions without assigning block names.

When to Use This Skill

This skill is called by identify-page-structure for EACH section to:

  • Identify content sequences within that section
  • Provide neutral descriptions (NO block names yet)
  • Identify breaking points between sequences
  • Enable authoring-focused decisions later

IMPORTANT: This skill analyzes ONE section at a time, not the whole page.

Input Required

From the calling skill (identify-page-structure), you need:

  • Section visual description and boundaries
  • Screenshot showing the section
  • Cleaned HTML content for the section

Related Skills

  • page-import - Top-level orchestrator
  • identify-page-structure - Invokes this skill for each section (Step 2b)
  • block-inventory - Provides available blocks AFTER decomposition
  • content-modeling - Makes authoring decisions AFTER decomposition
  • content-driven-development - References section structure in html-structure.md

Key Concepts

Content Hierarchy:

DOCUMENT
├── SECTION (top-level, analyzed by identify-page-structure Step 2a)
│   ├── Content Sequence 1 ← THIS SKILL IDENTIFIES THESE
│   ├── Content Sequence 2 ← THIS SKILL IDENTIFIES THESE
│   └── ...
└── SECTION
    └── Content Sequence 1

What is a "content sequence"? A vertical flow of related content that will eventually become:

  • Default content (headings, paragraphs, lists, inline images), OR
  • A block (structured, repeating, or interactive component)

Breaking points between sequences:

  • Visual/semantic shift in content type
  • Change from prose → structured pattern
  • Change from one pattern → different pattern

Philosophy:

  • Describe WHAT you see, not WHAT it should be
  • "Two images side-by-side" not "Columns block"
  • "Grid of 8 items with icons" not "Cards block"
  • Stay neutral - authoring decisions come later

Decomposition Workflow

Context: identify-page-structure has already identified section boundaries (Step 2a). This skill is invoked FOR ONE SECTION to analyze its internal content sequences.


Step 1: Examine the Section

Look at the screenshot and HTML for THIS section only.

What to observe:

  • Vertical flow of content from top to bottom
  • Where content changes type or pattern
  • Visual groupings or breaks

Ignore:

  • Other sections (out of scope)
  • Section styling (already identified by page-import)
  • Block names (stay neutral)

Output: Mental model of content flow within this section


Step 2: Identify Breaking Points

Find where content shifts from one type/pattern to another.

Breaking point indicators:

  • Prose text → Structured grid
  • Heading/paragraph → Side-by-side images
  • One repeating pattern → Different repeating pattern
  • Structured content → Prose text

Example within a section:

Content flows top to bottom:
- Large heading
- Paragraph
- Two buttons
[BREAK] ← Visual/semantic shift
- Two images displayed side-by-side

Output: List of breaking points


Step 3: Define Content Sequences

Between each breaking point is a content sequence.

For each sequence, describe:

  • What elements it contains (heading, paragraph, images, etc.)
  • How they're arranged (stacked, side-by-side, in a grid)
  • Quantity (one heading, two images, grid of 8 items)

Use neutral language:

  • ✅ "Two images displayed side-by-side"
  • ❌ "Columns block with two images"
  • ✅ "Grid of 8 items, each with icon and short text"
  • ❌ "Cards block"
  • ✅ "Large centered heading, paragraph, two buttons stacked vertically"
  • ❌ "Hero block"

Output: Neutral descriptions for each sequence


Step 4: Return Structured Output

Provide content sequences for this section in structured format.

Output format:

{
  sectionNumber: 1,  // From identify-page-structure
  sequences: [
    {
      sequenceNumber: 1,
      description: "Large centered heading, paragraph, two buttons stacked vertically"
    },
    {
      sequenceNumber: 2,
      description: "Two images displayed side-by-side"
    }
  ]
}

This enables:

  • Clear understanding of section's internal structure
  • Neutral foundation for authoring decisions
  • Separation of description from implementation

Section Metadata Format

Table format:

+------------------------------+
| Section Metadata             |
+------------------+-----------+
| style            | light     |
+------------------+-----------+

Placement: At the start of each section, before content

Usage: Applied by generate-import-html skill when generating final HTML


Examples

Example 1: Hero Section

Input: "Section 1 (light background): Large prominent content at top of page"

Visual observation:

  • Large centered heading
  • Paragraph text below it
  • Two call-to-action buttons [BREAK - visual shift]
  • Two large images displayed next to each other

Output:

{
  sectionNumber: 1,
  sequences: [
    {
      sequenceNumber: 1,
      description: "Large centered heading, paragraph, two call-to-action buttons stacked vertically"
    },
    {
      sequenceNumber: 2,
      description: "Two large images displayed side-by-side"
    }
  ]
}

Example 2: Features Section

Input: "Section 2 (light background): Grid of feature items"

Visual observation:

  • Centered heading [BREAK - shift to structured pattern]
  • Grid of 8 items
  • Each item has: small icon, short text description [BREAK - shift back to simple elements]
  • Two centered buttons

Output:

{
  sectionNumber: 2,
  sequences: [
    {
      sequenceNumber: 1,
      description: "Single centered heading"
    },
    {
      sequenceNumber: 2,
      description: "Grid of 8 items, each with small icon and short text description"
    },
    {
      sequenceNumber: 3,
      description: "Two centered buttons"
    }
  ]
}

Example 3: Article Cards Section

Input: "Section 3 (grey background): Blog articles"

Visual observation:

  • Eyebrow text "Latest Articles"
  • Large heading
  • Paragraph description
  • Browse button [BREAK - shift to repeating pattern]
  • 4 items in grid
  • Each item: image, category tag, heading, short description, read link

Output:

{
  sectionNumber: 3,
  sequences: [
    {
      sequenceNumber: 1,
      description: "Eyebrow text, large heading, paragraph description, browse button - all stacked vertically"
    },
    {
      sequenceNumber: 2,
      description: "Grid of 4 items, each with image, category tag, heading, description, and read link"
    }
  ]
}

Example 4: Simple Content Section

Input: "Section 4 (light background): Body content"

Visual observation:

  • Multiple paragraphs of text
  • Some inline images within the text
  • Headings interspersed (H2, H3)
  • No clear breaking points - content flows naturally

Output:

{
  sectionNumber: 4,
  sequences: [
    {
      sequenceNumber: 1,
      description: "Flowing prose content: multiple paragraphs with inline images and headings (H2, H3)"
    }
  ]
}

Note: This entire section is one sequence because content flows naturally without structural breaks.


Common Mistakes to Avoid

Using block names in descriptions: ❌ "Hero block with heading and buttons" ✓ "Large centered heading, paragraph, two buttons stacked vertically"

Not identifying breaking points: ❌ Describing entire section as one sequence when there are clear shifts ✓ Identifying where content type changes and breaking into sequences

Being too granular: ❌ Each element as separate sequence: "Heading", "Paragraph", "Button" ✓ Related elements together: "Heading, paragraph, two buttons stacked vertically"

Mixing analysis levels: ❌ Analyzing multiple sections at once ✓ Focus on ONE section at a time (per invocation)

Making authoring decisions: ❌ "This should be a cards block because..." ✓ "Grid of 4 items with images and text" (neutral description)

Version History

  • e0220ca Current 2026-07-05 23:26

Same Skill Collection

data/skills-md/00prabalk00/claude-skills/knowledge-base-gap-finder/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-agile/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-auth/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-issues/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-project-management/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-projects/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-safe/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-search/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-spaces/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-transitions/SKILL.md
data/skills-md/0731coderlee-sudo/wechat-publisher/wechat-publisher/SKILL.md
data/skills-md/0froq/skills/conventionalcommits/SKILL.md
data/skills-md/0froq/skills/nuxt/SKILL.md
data/skills-md/0froq/skills/oq/SKILL.md
data/skills-md/0froq/skills/pinia/SKILL.md
data/skills-md/0froq/skills/pnpm/SKILL.md
data/skills-md/0froq/skills/slidev/SKILL.md
data/skills-md/0froq/skills/tsdown/SKILL.md
data/skills-md/0froq/skills/turborepo/SKILL.md
data/skills-md/0froq/skills/unocss/SKILL.md
data/skills-md/0froq/skills/vitepress/SKILL.md
data/skills-md/0froq/skills/vitest/SKILL.md
data/skills-md/0froq/skills/vue-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-router-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-testing-best-practices/SKILL.md
data/skills-md/0froq/skills/vue/SKILL.md
data/skills-md/0froq/skills/vueuse-functions/SKILL.md
data/skills-md/0froq/skills/web-design-guidelines/SKILL.md
data/skills-md/0juano/agent-skills/bondterminal-x402/SKILL.md
data/skills-md/0juano/agent-skills/edgeone-pages-deploy/SKILL.md
data/skills-md/0juano/agent-skills/ley-ar/SKILL.md
data/skills-md/0juano/agent-skills/ticktick/SKILL.md
data/skills-md/0juano/agent-skills/x-image-cards/SKILL.md
data/skills-md/0juano/x-image-cards/x-image-cards/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/generate2dsprite/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/video2dsprite/SKILL.md
data/skills-md/0x2e/superpowers/brainstorming/SKILL.md
data/skills-md/0x2e/superpowers/dispatching-parallel-agents/SKILL.md
data/skills-md/0x2e/superpowers/executing-plans/SKILL.md
data/skills-md/0x2e/superpowers/finishing-a-development-branch/SKILL.md
data/skills-md/0x2e/superpowers/receiving-code-review/SKILL.md
data/skills-md/0x2e/superpowers/requesting-code-review/SKILL.md
data/skills-md/0x2e/superpowers/subagent-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/systematic-debugging/SKILL.md
data/skills-md/0x2e/superpowers/test-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/using-git-worktrees/SKILL.md
data/skills-md/0x2e/superpowers/using-superpowers/SKILL.md
data/skills-md/0x2e/superpowers/verification-before-completion/SKILL.md
data/skills-md/0x2e/superpowers/writing-plans/SKILL.md
data/skills-md/0x2e/superpowers/writing-skills/SKILL.md

Metadata

Files
0
Version
f4b4cf1
Hash
95ccae88
Indexed
2026-07-05 23:26

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-09 22:02
浙ICP备14020137号-1 $Carte des visiteurs$