jpskill.com
📦 その他 コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して page-decomposition.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → page-decomposition フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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)