page-decomposition
AEM Edge Delivery ServicesでWebページを読み込む際、セクション内のコンテンツの流れを分析し、標準コンテンツとブロックの区切りを特定するための情報を、中立的な言葉で提供するSkill。
📜 元の英語説明(参考)
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.
🇯🇵 日本人クリエイター向け解説
AEM Edge Delivery ServicesでWebページを読み込む際、セクション内のコンテンツの流れを分析し、標準コンテンツとブロックの区切りを特定するための情報を、中立的な言葉で提供するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o page-decomposition.zip https://jpskill.com/download/9685.zip && unzip -o page-decomposition.zip && rm page-decomposition.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9685.zip -OutFile "$d\page-decomposition.zip"; Expand-Archive "$d\page-decomposition.zip" -DestinationPath $d -Force; ri "$d\page-decomposition.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
page-decomposition.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
page-decompositionフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
ページ分解
セクション内のコンテンツシーケンスを分析し、ブロック名を割り当てることなく、中立的な説明を提供します。
この Skill を使用するタイミング
この Skill は、各セクションに対して identify-page-structure によって呼び出され、以下の処理を行います。
- そのセクション内のコンテンツシーケンスを特定する
- 中立的な説明を提供する(まだブロック名は付けない)
- シーケンス間の区切り点を特定する
- 後でオーサリングに焦点を当てた決定を可能にする
重要: この Skill は、ページ全体ではなく、一度に 1 つのセクションを分析します。
必要な入力
呼び出し元の Skill (identify-page-structure) から、以下が必要です。
- セクションの視覚的な説明と境界
- セクションを示すスクリーンショット
- セクションのクリーンな HTML コンテンツ
関連 Skill
- page-import - トップレベルのオーケストレーター
- identify-page-structure - 各セクションに対してこの Skill を呼び出す (ステップ 2b)
- block-inventory - 分解後に利用可能なブロックを提供する
- content-modeling - 分解後にオーサリングの決定を行う
- content-driven-development - html-structure.md でセクション構造を参照する
主要な概念
コンテンツ階層:
DOCUMENT
├── SECTION (トップレベル、identify-page-structure のステップ 2a で分析)
│ ├── Content Sequence 1 ← この Skill がこれらを特定します
│ ├── Content Sequence 2 ← この Skill がこれらを特定します
│ └── ...
└── SECTION
└── Content Sequence 1
「コンテンツシーケンス」とは? 関連するコンテンツの垂直方向の流れであり、最終的には次のようになります。
- デフォルトコンテンツ(見出し、段落、リスト、インライン画像)、または
- ブロック(構造化された、繰り返される、またはインタラクティブなコンポーネント)
シーケンス間の区切り点:
- コンテンツタイプの視覚的/意味的な変化
- 文章から構造化されたパターンへの変化
- あるパターンから別のパターンへの変化
哲学:
- 何であるべきかではなく、何が見えるかを説明する
- 「横に並んだ 2 つの画像」ではなく「Columns block」
- 「アイコン付きの 8 つのアイテムのグリッド」ではなく「Cards block」
- 中立性を保つ - オーサリングの決定は後で行う
分解ワークフロー
コンテキスト: identify-page-structure はすでにセクションの境界を特定しています(ステップ 2a)。この Skill は、その内部コンテンツシーケンスを分析するために、1 つのセクションに対して呼び出されます。
ステップ 1: セクションを調べる
このセクションのみのスクリーンショットと HTML を確認してください。
観察する内容:
- 上から下へのコンテンツの垂直方向の流れ
- コンテンツのタイプまたはパターンが変化する場所
- 視覚的なグループ化または区切り
無視する内容:
- 他のセクション(範囲外)
- セクションのスタイル(すでに page-import によって特定されている)
- ブロック名(中立性を保つ)
出力: このセクション内のコンテンツフローのメンタルモデル
ステップ 2: 区切り点を特定する
コンテンツがあるタイプ/パターンから別のタイプ/パターンに変化する場所を見つけます。
区切り点の指標:
- 文章テキスト → 構造化されたグリッド
- 見出し/段落 → 横に並んだ画像
- ある繰り返しパターン → 異なる繰り返しパターン
- 構造化されたコンテンツ → 文章テキスト
セクション内の例:
コンテンツは上から下に流れます:
- 大きな見出し
- 段落
- 2 つのボタン
[区切り] ← 視覚的/意味的な変化
- 横に並べて表示された 2 つの画像
出力: 区切り点のリスト
ステップ 3: コンテンツシーケンスを定義する
各区切り点の間にコンテンツシーケンスがあります。
各シーケンスについて、以下を説明します:
- 含まれる要素(見出し、段落、画像など)
- それらの配置方法(積み重ね、横並び、グリッド内)
- 数量(1 つの見出し、2 つの画像、8 つのアイテムのグリッド)
中立的な言葉を使用する:
- ✅ 「横に並べて表示された 2 つの画像」
- ❌ 「2 つの画像を含む Columns block」
- ✅ 「アイコンと短いテキストを含む 8 つのアイテムのグリッド」
- ❌ 「Cards block」
- ✅ 「中央揃えの大きな見出し、段落、縦に積み重ねられた 2 つのボタン」
- ❌ 「Hero block」
出力: 各シーケンスの中立的な説明
ステップ 4: 構造化された出力を返す
このセクションのコンテンツシーケンスを構造化された形式で提供します。
出力形式:
{
sectionNumber: 1, // identify-page-structure から
sequences: [
{
sequenceNumber: 1,
description: "中央揃えの大きな見出し、段落、縦に積み重ねられた 2 つのボタン"
},
{
sequenceNumber: 2,
description: "横に並べて表示された 2 つの画像"
}
]
}
これにより、以下が可能になります:
- セクションの内部構造の明確な理解
- オーサリングの決定のためのニュートラルな基盤
- 説明と実装の分離
セクションメタデータ形式
テーブル形式:
+------------------------------+
| Section Metadata |
+------------------+-----------+
| style | light |
+------------------+-----------+
配置: 各セクションの先頭、コンテンツの前
使用法: 最終的な HTML を生成するときに generate-import-html Skill によって適用されます
例
例 1: Hero セクション
入力: 「セクション 1 (明るい背景): ページ上部の大きな目立つコンテンツ」
視覚的な観察:
- 中央揃えの大きな見出し
- その下の段落テキスト
- 2 つのコールトゥアクションボタン [区切り - 視覚的な変化]
- 横に並べて表示された 2 つの大きな画像
出力:
{
sectionNumber: 1,
sequences: [
{
sequenceNumber: 1,
description: "中央揃えの大きな見出し、段落、縦に積み重ねられた 2 つのコールトゥアクションボタン"
},
{
sequenceNumber: 2,
description: "横に並べて表示された 2 つの大きな画像"
}
]
}
例 2: Features セクション
入力: 「セクション 2 (明るい背景): 機能アイテムのグリッド」
視覚的な観察:
- 中央揃えの見出し [区切り - 構造化されたパターンへの移行]
- 8 つのアイテムのグリッド
- 各アイテムには以下が含まれます: 小さなアイコン、短いテキストの説明 [区切り - 単純な要素への移行]
- 中央揃えの 2 つのボタン
出力:
{
sectionNumber: 2,
sequences: [
{
sequenceNumber: 1,
description: "中央揃えの単一の見出し"
},
{
sequenceNumber: 2,
description: "小さなアイコンと短いテキストの説明を含む 8 つのアイテムのグリッド"
},
{
sequenceNumber: 3,
description: "中央揃えの 2 つのボタン"
}
]
}
例 3:
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
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)