authoring-analysis
コンテンツの構成を分析し、AEM Edge Delivery Servicesへの移行時に、最適なコンテンツ作成方法(標準コンテンツかブロック利用か)を判断し、ブロックの選択やセクションのスタイルを検証するSkill。
📜 元の英語説明(参考)
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.
🇯🇵 日本人クリエイター向け解説
コンテンツの構成を分析し、AEM Edge Delivery Servicesへの移行時に、最適なコンテンツ作成方法(標準コンテンツかブロック利用か)を判断し、ブロックの選択やセクションのスタイルを検証するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o authoring-analysis.zip https://jpskill.com/download/9679.zip && unzip -o authoring-analysis.zip && rm authoring-analysis.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9679.zip -OutFile "$d\authoring-analysis.zip"; Expand-Archive "$d\authoring-analysis.zip" -DestinationPath $d -Force; ri "$d\authoring-analysis.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
authoring-analysis.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
authoring-analysisフォルダができる - 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 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
オーサリング分析
各コンテンツシーケンス(デフォルトコンテンツまたは特定のブロック)のオーサリングアプローチを決定します。
このスキルを使用するタイミング
このスキルは、以下の場合に使用します。
- コンテンツシーケンスを持つページ構造がある場合(identify-page-structure から)
- ブロックインベントリがある場合(ローカル + Block Collection)
- David's Model に従ってオーサリングの決定を行う準備ができている場合
呼び出し元: page-import スキル (ステップ 3)
前提条件
identify-page-structure スキルから、以下が必要です。
- ✅ スタイリングに関する注釈付きのセクション境界
- ✅ セクションごとのコンテンツシーケンス(中立的な説明)
- ✅ ブロックインベントリ(目的別のローカル + Block Collection)
- ✅ 視覚的な参照用の screenshot.png
関連スキル
- page-import - このスキルを呼び出すオーケストレーター
- identify-page-structure - セクション構造とブロックインベントリを提供
- content-modeling - ブロックの選択が不明確な場合に、このスキルが呼び出す
- block-collection-and-party - このスキルがブロックを検証するために呼び出す
- generate-import-html - このスキルの出力を使用して HTML を作成
重要: ステップ 3e の実行トリガー
ステップ 3 (すべてのシーケンスの分析) を完了した後、以下の場合にはステップ 3e を必ず実行する必要があります。
- ✅ 少なくとも 1 つのセクションに、ブロックになったシーケンスが 1 つだけ含まれている
- ✅ そのセクションが、identify-page-structure から得られた背景スタイリングと異なる
上記の条件を満たすセクションがない場合 → ステップ 3e をスキップ 上記の条件を満たすセクションが 1 つでもある場合 → 各該当セクションに対してステップ 3e を実行
オーサリング分析ワークフロー
コンテキスト: 現在、以下があります。
- スタイル付きのセクション境界
- セクションごとのコンテンツシーケンス
- 利用可能なブロックパレット
各コンテンツシーケンスについて、この必須プロセスに従ってください。
ステップ 3a: 必須 - デフォルトコンテンツの確認 (最初!)
質問: 「作成者は Word/Google Docs で通常どおり入力してこれを作成できますか?」
デフォルトコンテンツの意味:
- ✅ 見出し、段落、リスト
- ✅ テキスト内のインライン画像
- ✅ 簡単な引用
- ✅ 単に...コンテンツを入力すること
デフォルトコンテンツではないものの意味:
- ❌ 繰り返される構造化されたパターン (カードグリッド、機能リスト)
- ❌ インタラクティブなコンポーネント (アコーディオン、タブ、カルーセル)
- ❌ 複雑なレイアウト (左右の列、分割されたコンテンツ)
- ❌ 装飾のために特定の構造が必要
決定:
- YES (通常どおり入力できる) の場合 → DEFAULT CONTENT としてマークし、完了 ✅
- NO (構造が必要) の場合 → ステップ 3b に進む
例:
"大きな中央揃えの見出し、段落、2 つのボタン"
→ 作成者は見出し、段落、リンクを入力するだけでよいか? YES
→ 決定: DEFAULT CONTENT ✅
"中央揃えの 2 つのボタン"
→ 作成者は 2 つのリンクを入力するだけでよいか? YES
→ 決定: DEFAULT CONTENT ✅
"グリッド内の 4 つのアイテム、それぞれに画像、見出し、説明がある"
→ 作成者はこれを入力するだけでよいか? NO - グリッド構造が必要
→ 決定: ステップ 3b に進む ➡️
"展開可能な質問と回答"
→ 作成者はこれを入力するだけでよいか? NO - インタラクション/装飾が必要
→ 決定: ステップ 3b に進む ➡️
ステップ 3b: ブロックの選択 (デフォルトでない場合のみ)
ブロックインベントリのコンテキストで、以下を尋ねます: 「作成者はこれにどの利用可能なブロックを選択しますか?」
決定木: content-modeling を呼び出すタイミング
明らかな一致 (content-modeling を呼び出さない):
パターンがブロックの目的に 1:1 で一致する場合:
- 「画像/テキスト付きのアイテムのグリッド」+ 「cards」ブロックを参照 → USE IT ✅
- 「展開可能な質問」+ 「accordion」ブロックを参照 → USE IT ✅
- 「タブ付きコンテンツパネル」+ 「tabs」ブロックを参照 → USE IT ✅
- 「左右のコンテンツ」+ 「columns」ブロックを参照 → USE IT ✅
- 「回転する画像」+ 「carousel」ブロックを参照 → USE IT ✅
OBVIOUS の基準:
- コンテンツの説明がブロックの目的に正確に一致する
- 構造について曖昧さがない
- ブロックがインベントリに存在する
不明確な一致 (content-modeling を呼び出す):
どのブロックを使用するか曖昧な場合:
- 「画像付きの 3 つのアイテム」- cards の可能性があるか? columns の可能性があるか? → INVOKE
- 「アイコン付きの機能のリスト」- Cards? カスタムリストブロック? → INVOKE
- 「写真付きの顧客の引用」- Quote ブロック? Cards? Testimonial ブロック? → INVOKE
インベントリにない場合:
- コンテンツには構造が必要だが、一致するブロックが存在しない → INVOKE
- content-modeling は、標準モデルを推奨するか、カスタムブロックの作成を提案できます
複雑なオーサリングの考慮事項:
- 「ページの中央にあるヒーローのようなコンテンツ」→ INVOKE
- 「カードのようなアイテムだが、2 つだけ」→ INVOKE
- 作成者のメンタルモデルの検証が必要 → INVOKE
UNCLEAR の基準:
- 複数のブロックが機能する可能性がある
- 明らかなブロックの一致がない
- オーサリングの視点の検証が必要
- カスタムブロックの作成が必要になる可能性がある
ステップ 3c: ブロックが存在するか検証する (必要な場合)
ブロックが Block Collection の共通セットにない場合のみ:
block-collection-and-party スキルを呼び出して、以下を行います。
- ブロックが存在することを確認する
- ライブの例の URL を取得する
- コンテンツモデルを確認する
ステップ 3d: ブロックの HTML 構造を取得する (HTML を生成する前に)
重要: 次のスキルで HTML を生成する前に、使用するすべてのブロックの装飾前の HTML 構造を取得します。
# 各ブロックの構造の例を取得する
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
これが間違いを防ぐ理由:
- 正確な行/列構造を示す (例: cards: 各カード = 1 行 2 列)
- すべてのバリアントを明らかにする (例: "Cards" vs "Cards (no images)")
- 装飾のないクリーンな HTML を表示する
- HTML 生成の最大の誤りである誤った構造を防ぐ
出力を以下に使用します:
- 各行に必要な列数を理解する
- 画像とコンテンツの配置場所を確認する
- コンテンツを正しいバリアントに一致させる
- 予想される構造と正確に一致する HTML を生成する
ステップ 3 の出力形式
すべてのシーケンスの完全な分析:
Section 1 (light):
- Sequence 1: "大きな中央揃えの見出し、段落、2 つのコールトゥアクションボタン"
→ 決定: DEFAULT CONTENT
→ 理由: 作成者は見出し、段落、リンクを通常どおり入力できる
(原文はここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Authoring Analysis
Determine authoring approach for EACH content sequence: default content or specific block.
When to Use This Skill
Use this skill when:
- You have page structure with content sequences (from identify-page-structure)
- You have block inventory (local + Block Collection)
- Ready to make authoring decisions following David's Model
Invoked by: page-import skill (Step 3)
Prerequisites
From identify-page-structure skill, you need:
- ✅ Section boundaries with styling notes
- ✅ Content sequences per section (neutral descriptions)
- ✅ Block inventory (local + Block Collection with purposes)
- ✅ screenshot.png for visual reference
Related Skills
- page-import - Orchestrator that invokes this skill
- identify-page-structure - Provides section structure and block inventory
- content-modeling - This skill invokes it when block selection is unclear
- block-collection-and-party - This skill invokes it to validate blocks
- generate-import-html - Uses this skill's output to create HTML
IMPORTANT: Step 3e Execution Trigger
After completing Step 3 (analyzing all sequences), you MUST execute Step 3e if:
- ✅ At least one section contains exactly ONE sequence that became a block
- ✅ That section has distinct background styling from identify-page-structure
If NO sections meet these criteria → Skip Step 3e If ANY sections meet these criteria → Execute Step 3e for EACH qualifying section
Authoring Analysis Workflow
Context: You now have:
- Section boundaries with styles
- Content sequences per section
- Available block palette
FOR EACH content sequence, follow this mandatory process:
Step 3a: MANDATORY - Default Content Check (FIRST!)
Question: "Can an author create this with normal typing in Word/Google Docs?"
Default content means:
- ✅ Headings, paragraphs, lists
- ✅ Inline images within text
- ✅ Simple quotes
- ✅ Just... typing content
NOT default content means:
- ❌ Repeating structured patterns (card grids, feature lists)
- ❌ Interactive components (accordions, tabs, carousels)
- ❌ Complex layouts (side-by-side columns, split content)
- ❌ Requires specific structure for decoration
Decision:
- If YES (can type normally) → Mark as DEFAULT CONTENT, DONE ✅
- If NO (needs structure) → Proceed to Step 3b
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 ➡️
Step 3b: Block Selection (ONLY IF NOT DEFAULT)
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:
- "Grid of items with images/text" + see "cards" block → USE IT ✅
- "Expandable questions" + see "accordion" block → USE IT ✅
- "Tabbed content panels" + see "tabs" block → USE IT ✅
- "Side-by-side content" + see "columns" block → USE IT ✅
- "Rotating images" + see "carousel" block → USE IT ✅
Criteria for OBVIOUS:
- Content description matches block purpose exactly
- No ambiguity about structure
- Block exists in inventory
UNCLEAR MATCH (Invoke content-modeling):
Ambiguous which block to use:
- "Three items with images" - Could be cards? Could be columns? → INVOKE
- "List of features with icons" - Cards? Custom list block? → INVOKE
- "Customer quotes with photos" - Quote block? Cards? Testimonial block? → INVOKE
Missing from inventory:
- Content needs structure BUT no matching block exists → INVOKE
- content-modeling can recommend canonical model or suggest creating custom block
Complex authoring consideration:
- "Hero-like content but in middle of page" → INVOKE
- "Card-like items but only 2 of them" → INVOKE
- Need validation on author mental model → INVOKE
Criteria for UNCLEAR:
- Multiple blocks could work
- No obvious block match
- Need authoring perspective validation
- Creating custom block might be needed
Step 3c: Validate Block Exists (IF NEEDED)
Only if block not in Block Collection common set:
Invoke block-collection-and-party skill to:
- Confirm block exists
- Get live example URL
- Review content model
Step 3d: Get Block HTML Structure (BEFORE generating HTML)
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:
- Shows exact row/column structure (e.g., cards: each card = 1 row with 2 columns)
- Reveals all variants (e.g., "Cards" vs "Cards (no images)")
- Displays clean HTML without decoration
- Prevents the #1 HTML generation error: wrong structure
Use the output to:
- Understand how many columns each row should have
- See where images vs content go
- Match your content to the correct variant
- Generate HTML that matches the expected structure exactly
Step 3 Output Format
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
Step 3e: Validate Section Styling (Single-Block Sections Only)
⚠️ EXECUTION TRIGGER: This step is executed AFTER Step 3 is complete. Execute this step if and only if:
- ✅ You have completed Step 3 (identified which sequences become blocks)
- ✅ At least one section contains exactly ONE sequence that became a block
- ✅ That section has distinct background styling from identify-page-structure
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:
- Block-specific design (e.g., hero with dark background image) → Don't add section-metadata
- Section container styling (e.g., dark section with tabs block) → Add section-metadata
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:
- Section contains exactly 1 content sequence
- That sequence became a block (not default content)
- Section has distinct background styling from identify-page-structure
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)?
- If YES → Likely block-specific design
- If NO (solid color) → Continue to Q2
Q2: Does the content fill the colored area edge-to-edge, or is there visible section padding?
- Edge-to-edge (full-bleed) → Likely block-specific design
- Visible padding around content → Likely section container styling
Q3: Does the block type typically have its own background styling?
- Hero, banner, full-width CTAs → Often have own backgrounds
- Tabs, accordion, cards, columns → Often use section backgrounds
Sub-step 3: Make the decision
Based on your analysis, decide for each single-block section:
SKIP section-metadata if:
- Background is an image/gradient (block-specific)
- Content is full-bleed/edge-to-edge (no section padding visible)
- Block type typically has intrinsic background (hero, banner)
KEEP section-metadata if:
- Background is solid color with visible section padding
- Block type typically inherits section styling (tabs, cards, accordion)
- Styling clearly provides container context (not block design)
Sub-step 4: Document your decisions
For each validated section, note:
- Section number
- Block type
- Background analysis (image vs solid, full-bleed vs padded)
- Decision (keep or skip section-metadata)
- Reason
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:
- Default to KEEPING section-metadata (safer, easier for authors to remove than add)
- Add a note in your documentation explaining the ambiguity
- Consider asking the user for guidance
Step 3e Completion Checklist:
Before proceeding to next skill, verify you have completed:
- ✅ Identified all single-block sections with background styling
- ✅ Examined original screenshot for EACH candidate section
- ✅ Answered Q1, Q2, Q3 for EACH candidate section
- ✅ Made skip/keep decision for EACH candidate section
- ✅ Documented reasoning for EACH decision
- ✅ Updated section styling notes with validated decisions
Final Output
This skill provides complete authoring analysis:
1. Authoring decisions for all sequences:
- Each sequence marked as DEFAULT CONTENT or specific block name
- Reasoning documented
2. Block structures fetched:
- HTML structure examples for all blocks to be used
3. Section styling validation (if applicable):
- Updated section list with validated styling decisions
- Some sections may be marked "no section-metadata"
Next step: Pass these outputs to generate-import-html skill