content-media-plan
ブランド戦略に基づき、SNS投稿スケジュールやAI生成画像例を含むコンテンツカレンダーを作成し、Notion保存やHTML出力も可能な、ソーシャルメディアコンテンツ計画を支援するSkill。
📜 元の英語説明(参考)
Content marketing calendar and media plan generator. Creates a complete content calendar (1, 2, or 4 weeks) with a post-by-post schedule, format examples with AI-generated sample images, and a brand strategy summary. Stores results in Notion and/or exports a local HTML file. Use this skill when the user wants to plan their social media content, create a content calendar, build a posting schedule, develop a content strategy, get a media plan for their brand, or says things like 'create a content plan', 'help me plan my social media', 'I need a posting schedule', 'build me a content calendar', 'what should I post this month', 'content strategy for my brand', 'plan my content for Instagram', 'create a media plan', or 'help me plan content for the next month'.
🇯🇵 日本人クリエイター向け解説
ブランド戦略に基づき、SNS投稿スケジュールやAI生成画像例を含むコンテンツカレンダーを作成し、Notion保存やHTML出力も可能な、ソーシャルメディアコンテンツ計画を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o content-media-plan.zip https://jpskill.com/download/8627.zip && unzip -o content-media-plan.zip && rm content-media-plan.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8627.zip -OutFile "$d\content-media-plan.zip"; Expand-Archive "$d\content-media-plan.zip" -DestinationPath $d -Force; ri "$d\content-media-plan.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
content-media-plan.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
content-media-planフォルダができる - 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 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
コンテンツメディアプランジェネレーター
ブランドを深く理解することで、包括的なコンテンツメディアプランを構築する、調査を重視したスキルです。参照アカウント、ウェブサイト調査、業界トレンドを通じてブランドを理解し、構造化されたカレンダー、AI画像付きのフォーマット例、クライアントやチームと共有できる視覚的な成果物を生成します。
これは汎用的なテンプレートの穴埋めではありません。ブランド主導のアプローチです。誰に話しかけているのかを理解し、その分野で何が有効かを研究し、本物で実行可能なプランを構築します。
ワークフローの概要
入力 (ドキュメントまたはガイド付き質問)
→ 調査 (参照アカウント + ウェブサイト + 業界トレンド)
→ 戦略 (コンテンツピラー + プラットフォームミックス + 頻度)
→ カレンダー (1/2/4週間の日ごとのグリッド)
→ フォーマット例 (コピー + AI生成のサンプル画像)
→ 視覚的なHTML出力 (カレンダー + ギャラリー、ブラウザで開く)
→ ストレージ (Notion および/または Google Drive へのローカルエクスポート)
ステップ 0: ドキュメントの確認
何よりもまず、最初に必ずこれを尋ねてください。
「最初に参照すべきブリーフ、戦略ドキュメント、またはブランドガイドはありますか?ファイルパスを共有するか、コンテンツを直接貼り付けてください。そうでない場合は、手順を追って説明します。」
YES (ファイルパスが提供された場合):
- Read ツールを使用してファイルを読み取ります。
- 抽出: ブランド名、業界/ニッチ、ターゲットオーディエンス、目標、アクティブなプラットフォーム、ブランドボイス、言及されている参照アカウントまたは競合他社、既存のビジュアルアイデンティティ
- 簡単な要約を提示します: "ドキュメントで見つけた内容は次のとおりです: [要約表]。開始する前に、追加または修正する点はありますか?"
- ステップ 1 を完全にスキップします。ステップ 2 に進みます。
YES (テキストが貼り付けられた場合):
- 上記とまったく同じように、貼り付けられたコンテンツを処理します。
- ステップ 1 をスキップします。ステップ 2 に進みます。
NO の場合:
- ステップ 1 の質問ラウンドに進みます。
暗黙的な検出: ユーザーの最初のメッセージに、ブリーフやブランド戦略のように読める長いテキストブロックがすでに含まれている場合は、ステップ 0 を尋ねずにドキュメントとして扱い、直接解析して抽出された内容を確認します。
ステップ 1: ガイド付きブランドインテーク
ステップ 0 でドキュメントが提供されなかった場合にのみ、このステップを実行します。最大 3 ラウンドの質問を使用します。関連する質問をまとめて、一度に 1 つずつ質問しないでください。
ラウンド 1 — コアアイデンティティ
これらすべてを 1 つのメッセージで尋ねます。
- ブランド/ビジネス名
- 業界またはニッチ (例: ウェルネスコーチング、コーヒーショップ、SaaS ツール、ファッションブランド、不動産)
- ターゲットオーディエンス (あなたをフォローしている人、またはあなたがリーチしたい人 — 人口統計、興味)
- このコンテンツプランの主な目標 (ブランド認知度 / リードジェネレーション / コミュニティ構築 / 直接販売 のいずれかを選択)
ラウンド 2 — 運用上の現実
これらすべてを 1 つのメッセージで尋ねます。
- このプランはどのプラットフォームを対象としますか? (Instagram、X/Twitter、Facebook、ブログ、ニュースレター — または任意の組み合わせ)
- 現実的な投稿能力: すべてのプラットフォームで合計で週に何件の投稿ができますか? (1-2 / 3-5 / 5-7 / 毎日)
- コンテンツ制作のチーム規模: ソロ / 2-3 人 / デザイナー/ビデオグラファーがいるフルチーム
- ブランドボイス — 2〜3語で説明するか、プロフェッショナル、遊び心がある、権威がある、温かい、大胆、ミニマル、教育的、インスピレーションを与える、から選択してください
ラウンド 3 — 参照とビジュアルアイデンティティ
これらすべてを 1 つのメッセージで尋ねます。
- ウェブサイトの URL (オプション — 既存のコピーとトーンをスクレイピングするために使用)
- あなたが賞賛する、または競合他社と見なすソーシャルメディアアカウントを 1〜3 個 (任意のプラットフォーム — 調査の参照として使用)
- 既存のブランドカラーまたはビジュアルスタイルはありますか? (16進数コード、「私たちのブランドは濃い緑と金色です」、または「まだ定義されたパレットはありません」)
ラウンド 3 の後、続行する前に確認します。
「これが私が持っているものです: [ブランド、プラットフォーム、目標、参照の簡単な要約]。参照アカウントを調査して、コンテンツパターンを抽出します。準備はよろしいですか?」
ステップ 2: 調査フェーズ
参照アカウントまたはウェブサイトの URL が提供された場合にのみ、このステップを実行します (ドキュメントまたはラウンド 3 のいずれかから)。すべての調査を並行して実行します。
2A: 参照アカウント分析
Social Toolkit MCP を使用して、提供されたすべてのアカウントを取得します。
FetchInstagramProfileTool → Instagram ハンドル (プロフィール、フォロワー、投稿、キャプション、エンゲージメント、ハッシュタグ)
FetchTiktokProfileTool → TikTok ハンドル (プロフィール、動画、エンゲージメントパターン)
FacebookBusinessPageInfoTool → Facebook ページ (概要、投稿、いいね)
FetchYoutubeChannelTool → YouTube チャンネル (説明、登録者)
FetchYoutubeChannelVideosTool → YouTube チャンネル (最近の動画タイトル、再生回数、トピック)
各プロフィールから、以下を抽出します。
- 投稿頻度とケイデンス (頻度、曜日/時間)
- 最も使用されるコンテンツ形式 (Reels vs. フィード投稿 vs. カルーセル vs. ストーリーズ)
- トップパフォーマンスのコンテンツテーマ (最もエンゲージメントを得る繰り返しのトピック)
- 動画コンテンツのフックパターン (Reels/Shorts の開き方)
- キャプションスタイル: 長い/短い、フォーマル/カジュアル、絵文字が多い/少ない
- ハッシュタグ戦略 (ブランド、ニッチ、幅広い)
- ビジュアルスタイル: 暗い/明るい、カラフル/落ち着いた、テキストが多い/画像主導
2B: ウェブサイトのスクレイピング (URL が提供されている場合)
FirecrawlScrapeTool → ホームページ URL
FirecrawlScrapeTool → /about ページ (存在する場合)
抽出: 既存のタグラインとコピーパターン、サービス/製品の説明、トーンオブボイス、デザインからの色の手がかり、および既存のコンテンツ戦略の兆候。
2C: 業界トレンド調査
PerplexitySonarSearchTool → "[業界] コンテンツマーケティング戦略 [現在の年]"
GoogleNewsSearchTool → "[業界] ソーシャルメディアトレンド"
GoogleForumsSearchTool → "[業界] コンテンツクリエイター 何がうまくいくか"
続行する前に調査の概要を提示します。 発見された内容の簡単な分析 (3〜5 個の箇条書き) を記述します。参照アカウントが使用するコンテンツパターン、この業界で最もパフォーマンスの高い形式、および注目に値する新しいトレンド。戦略に移行する前に、ユーザーに修正またはコンテキストを追加させます。
ステップ 3: 戦略の定義
収集されたすべてのコンテキストに基づいて、意見のあるコンテンツ戦略を提案します。空白のオプションを提示しないでください。具体的なデフォルトを提案し、ユーザーにオーバーライドさせます。
3A: コンテンツピラー
bra に基づいた 3〜5 個の名前付きコンテンツテーマを提案します
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Content Media Plan Generator
A research-first skill that builds comprehensive content media plans by understanding the brand deeply — through reference accounts, website research, and industry trends — then generating a structured calendar, format examples with AI images, and a visual deliverable ready to share with clients or teams.
This is NOT a generic template filler. It's a brand-driven approach: understand who you're talking to, study what works in the space, then build a plan that's authentic and actionable.
Workflow Overview
Input (doc or guided questions)
→ Research (reference accounts + website + industry trends)
→ Strategy (content pillars + platform mix + frequency)
→ Calendar (1/2/4-week day-by-day grid)
→ Format Examples (copy + AI-generated sample images)
→ Visual HTML Output (calendar + gallery, opens in browser)
→ Storage (Notion and/or local export for Google Drive)
Step 0: Document Check
Always ask this first, before anything else:
"Do you have a brief, strategy doc, or brand guide I should start from? Share the file path or paste the content directly — otherwise I'll walk you through it step by step."
If YES (file path provided):
- Read the file using the Read tool
- Extract: brand name, industry/niche, target audience, goals, active platforms, brand voice, any reference accounts or competitors mentioned, and existing visual identity
- Present a brief summary: "Here's what I found in your document: [summary table]. Is there anything to add or correct before I start?"
- Skip Step 1 entirely. Jump to Step 2.
If YES (pasted text):
- Process the pasted content exactly as above
- Skip Step 1. Jump to Step 2.
If NO:
- Proceed through Step 1 question rounds.
Implicit detection: If the user's opening message already contains a long block of text that reads like a brief or brand strategy, treat it as the document without asking Step 0 — parse it directly and confirm what was extracted.
Step 1: Guided Brand Intake
Only run this step if no document was provided in Step 0. Use a maximum of 3 rounds of questions — batch related questions together, never ask one at a time.
Round 1 — Core Identity
Ask all of these in a single message:
- Brand / business name
- Industry or niche (e.g., wellness coaching, coffee shop, SaaS tool, fashion brand, real estate)
- Target audience (who follows you or who you want to reach — demographics, interests)
- Primary goal for this content plan (choose one: brand awareness / lead generation / community building / direct sales)
Round 2 — Operational Realities
Ask all of these in a single message:
- Which platforms will this plan cover? (Instagram, X/Twitter, Facebook, Blog, Newsletter — or any combination)
- Realistic posting capacity: how many posts per week total across all platforms? (1-2 / 3-5 / 5-7 / daily)
- Team size for content production: solo / 2-3 people / full team with designer/videographer
- Brand voice — describe in 2-3 words, or pick from: professional, playful, authoritative, warm, bold, minimal, educational, inspirational
Round 3 — References and Visual Identity
Ask all of these in a single message:
- Website URL (optional — used to scrape existing copy and tone)
- 1-3 social media accounts you admire or consider competitors (any platform — used as research reference)
- Existing brand colors or visual style? (hex codes, "our brand is dark green and gold", or "no defined palette yet")
After Round 3, confirm before proceeding:
"Here's what I have: [brief summary of brand, platforms, goals, references]. I'll now research the reference accounts to extract content patterns. Ready?"
Step 2: Research Phase
Only run this step if reference accounts or a website URL were provided (either from the document or Round 3). Run all research in parallel.
2A: Reference Account Analysis
Fetch all provided accounts using Social Toolkit MCP:
FetchInstagramProfileTool → Instagram handles (bio, followers, posts, captions, engagement, hashtags)
FetchTiktokProfileTool → TikTok handles (bio, videos, engagement patterns)
FacebookBusinessPageInfoTool → Facebook pages (about, posts, likes)
FetchYoutubeChannelTool → YouTube channels (description, subscribers)
FetchYoutubeChannelVideosTool → YouTube channels (recent video titles, views, topics)
From each profile, extract:
- Posting frequency and cadence (how often, what days/times)
- Most-used content formats (Reels vs. Feed Posts vs. Carousels vs. Stories)
- Top-performing content themes (recurring topics that get the most engagement)
- Hook patterns for video content (how they open their Reels/Shorts)
- Caption style: long/short, formal/casual, emoji-heavy/none
- Hashtag strategy (branded, niche, broad)
- Visual style: dark/light, colorful/muted, text-heavy/image-led
2B: Website Scrape (if URL provided)
FirecrawlScrapeTool → homepage URL
FirecrawlScrapeTool → /about page (if exists)
Extract: existing taglines and copy patterns, service/product descriptions, tone of voice, color cues from design, and any existing content strategy signals.
2C: Industry Trend Research
PerplexitySonarSearchTool → "[industry] content marketing strategy [current year]"
GoogleNewsSearchTool → "[industry] social media trends"
GoogleForumsSearchTool → "[industry] content creators what works"
Present research summary before proceeding. Write a brief analysis (3-5 bullet points) of what was found: what content patterns the reference accounts use, what formats perform best in this industry, and any emerging trends worth noting. Let the user correct or add context before moving to strategy.
Step 3: Strategy Definition
Based on all gathered context, propose an opinionated content strategy. Don't present blank options — propose concrete defaults and let the user override.
3A: Content Pillars
Propose 3-5 named content themes grounded in the brand's goals, industry, and audience. Present as a table:
| # | Pillar Name | Description | % of Content | Example Topics |
|---|---|---|---|---|
| 1 | [Name] | [1-line description] | [%] | [2-3 specific post ideas] |
| 2 | ... | ... | ... | ... |
Pillar naming conventions: Be specific, not generic. Not "Educational Content" but "Behind the Craft" or "The Science of [Topic]". Each pillar should feel like a distinct content series.
3B: Platform Mix and Format Matrix
Propose a platform and format breakdown based on the active platforms, capacity, and research:
| Platform | Format | Weekly Frequency | Pillars Served |
|---|---|---|---|
| Feed Post | 3x/week | Pillar 1, 3 | |
| Carousel | 1x/week | Pillar 2 | |
| Reels | 2x/week | Pillar 4 | |
| Stories | Daily | All | |
| X/Twitter | Tweet | 4x/week | Pillar 2, 5 |
| Post | 3x/week | Pillar 1, 3 | |
| Blog | Article | 1x/month | Pillar 2 |
| Newsletter | 2x/month | Pillar 2, 3 |
Capacity guardrails:
- Solo + 1-2x/week → max 2 platforms, no Reels/video in the mix unless they already produce video
- Small team + 3-5x/week → 2-3 platforms, simple formats + 1-2 Reels per week
- Full team + 5-7x/week → all platforms enabled, full format variety
3C: Posting Time Recommendations
Brief per-platform timing table based on industry best practices and research:
| Platform | Best Days | Best Times | Rationale |
|---|---|---|---|
| Tue, Thu, Sat | 7-9pm local | ... | |
| X/Twitter | Mon-Fri | 8am, 12pm | ... |
| ... | ... | ... | ... |
Present the full strategy and ask for confirmation before building the calendar. Be specific: "Here's the strategy I'm proposing for [Brand Name]. Confirm or let me know what to change."
Step 4: Calendar Duration + Generation
4A: Ask calendar duration
Before building, ask:
"How many weeks should this calendar cover? 1 week / 2 weeks / 4 weeks (default: 4 weeks)"
Adjust the calendar depth based on selection:
- 1 week: Go deep — include full copy hooks and specific post topics for every single slot
- 2 weeks: Include specific topics and hooks for Week 1, general themes for Week 2
- 4 weeks: Specific topics for Week 1, planned themes with example hooks for Weeks 2-4
4B: Build the Calendar
Generate the calendar day-by-day. Show as a markdown table first for review.
Table format:
| Week | Day | Platform | Format | Pillar | Topic / Hook |
|---|---|---|---|---|---|
| 1 | Mon | Feed Post | Pillar 2 | "How we [do X] — the part no one talks about" | |
| 1 | Mon | X/Twitter | Tweet | Pillar 5 | "The [industry] myth that needs to die: [hook]" |
| 1 | Tue | Stories | All | Behind-the-scenes: [day-in-the-life angle] | |
| ... | ... | ... | ... | ... | ... |
Calendar generation rules:
- No more than 2 consecutive posts from the same pillar
- Vary formats across days — don't stack all Reels in one week
- Leave days empty if capacity is low (under-commit beats burnout)
- Seasonal/cultural moments: note holidays or events relevant to the brand/audience
- For 4-week plans: build momentum — Week 1 is introductory/awareness, Week 2-3 deepens, Week 4 drives conversion or community action
After showing the markdown table, ask:
"Here's the [N]-week calendar. Want to swap any days, adjust topics, or change the pillar balance before I generate the visual and format examples?"
Step 5: Format Examples + Sample Images
For each unique format type included in the calendar, produce a complete example. Only cover formats actually used in the plan — don't generate unused examples.
Formats to Cover
Instagram Feed Post
- Full caption (100-150 words) with hook, body, and CTA
- 3-5 hashtags + 1 branded hashtag
- Copywriting notes: what makes this hook work
- Sample image: 1:1 (square) aspect ratio
Instagram Carousel
- Slide-by-slide outline (3-5 slides): Slide 1 = hook, Slides 2-4 = content, Slide 5 = CTA/save prompt
- Caption for the post
- Sample image: Slide 1 cover, 1:1 aspect ratio
Instagram Reels
- Hook script (first 3 seconds — text + action)
- Full caption with CTA and hashtags
- Sample image: vertical thumbnail/cover frame, 9:16 aspect ratio
Instagram Stories
- Interactive element type (poll / question sticker / countdown / quiz)
- Story copy (very short — 1-2 lines max)
- Background visual concept
- Sample image: 9:16 vertical background
X / Twitter
- 3-tweet thread example (Hook tweet → Content tweet → CTA tweet)
- No image needed for standard tweets; include if it's a visual tweet
Facebook Post
- Full post copy (150-250 words — Facebook allows longer copy)
- Link preview description
- Sample image: 16:9 landscape aspect ratio
Blog Post
- Title (SEO-optimized)
- Meta description (155 chars)
- Article outline (H2 sections + 1-line description each)
- Intro paragraph (fully written, ~100 words)
- Sample image: 16:9 featured/OG image
Newsletter
- Subject line (A/B variant: curiosity-driven + value-driven)
- Preview text (50 chars)
- Full intro section (~150 words)
- Sample image: 16:9 header banner
Image Generation
Check for infsh CLI availability first:
which infsh
If available, generate images using FLUX model:
infsh app run falai/flux-dev-lora --input '{
"prompt": "[brand-aesthetic-matched prompt]"
}'
If not available, use Social Toolkit MCP HiggsfieldImageTool.
If both fail, create a visible placeholder in the HTML output: a dashed-border box at the correct aspect ratio showing the full image prompt text, with the instruction "Replace with generated image."
Prompt construction pattern:
"[brand visual style and aesthetic] content marketing visual,
[specific format context — e.g., 'Instagram feed post'],
[pillar topic context — e.g., 'behind the scenes coffee roasting process'],
[color palette — e.g., 'warm earth tones, terracotta and cream'],
professional [photography type] style,
[aspect ratio orientation] composition,
no text overlay, no logos, clean and brand-authentic"
Example (artisan coffee brand, "Behind the Craft" pillar, Feed Post):
"Warm artisan coffee brand aesthetic, Instagram feed post, behind the scenes
coffee roasting process, terracotta and cream color palette with warm amber
light, professional lifestyle photography style, square composition, moody
natural lighting, burlap and wood textures, no text overlay, no logos,
clean and brand-authentic"
Download all generated images to a local images/ directory alongside the HTML file:
images/example-feed-post.jpgimages/example-carousel-cover.jpgimages/example-reels-cover.jpgimages/example-stories-bg.jpgimages/example-facebook-post.jpgimages/example-blog-featured.jpgimages/example-newsletter-banner.jpg
Generate images in parallel where the tool allows it. Tell the user: "Generating format example images — this may take a moment..."
Step 6: Visual HTML Output
Generate a self-contained content-media-plan.html file. All CSS must be inline in <style> tags. Images are referenced as relative paths (images/example-*.jpg). Google Fonts loaded via <link> tag. No other external dependencies.
Page Sections
1. Header
- Brand name (large display type)
- Plan period (e.g., "April 2025 — 4-Week Content Calendar")
- Strategy tagline (one line summarizing the plan's focus)
- Brand color band
2. Strategy Summary Panel
- Content pillars as color-coded chips/badges
- Platform icons row
- Goals statement
- Brand voice descriptor
3. Platform Mix Overview
- One row per platform: platform icon + name + active formats as tags + weekly frequency badge
4. Content Calendar Grid
CSS Grid layout: 8 columns (week label + Mon–Sun) × N rows (one per week).
.calendar-grid {
display: grid;
grid-template-columns: 80px repeat(7, 1fr);
gap: 1px;
background-color: var(--border);
}
.week-label {
background: var(--surface-alt);
padding: 12px 8px;
font-weight: bold;
writing-mode: vertical-rl;
text-align: center;
}
.day-cell {
background: white;
min-height: 130px;
padding: 8px;
display: flex;
flex-direction: column;
gap: 4px;
}
.day-number {
font-size: 11px;
color: var(--text-muted);
font-weight: 600;
margin-bottom: 4px;
}
.post-card {
border-left: 3px solid var(--platform-color);
background: var(--pillar-bg);
border-radius: 4px;
padding: 4px 6px;
font-size: 11px;
line-height: 1.3;
}
.platform-dot {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--platform-color);
margin-right: 4px;
}
Platform color coding:
- Instagram:
#E1306C(pink-magenta) - X/Twitter:
#000000 - Facebook:
#1877F2 - Blog:
#16a34a(green) - Newsletter:
#d97706(amber)
Each pillar gets a soft background tint color for the post-cards (derived from the brand's palette or a default 5-color system).
5. Format Examples Gallery
2-column card grid. Each card:
┌─────────────────────────────────────┐
│ [Platform badge] [Format type] │
│ ┌────────────┐ Caption/copy text │
│ │ Sample │ shown here... │
│ │ Image │ │
│ └────────────┘ Copy notes (subtle) │
└─────────────────────────────────────┘
6. Posting Schedule Table
Simple table: Platform | Best Days | Best Times | Notes
7. Footer
Plan generated date, brand name, note about the skill.
Typography
Select 2 Google Fonts based on the brand's aesthetic direction. Never use Inter, Roboto, Arial, or system-ui as the primary display font. Derive from brand voice:
- Playful/warm → Rounded display + readable body (e.g., Nunito + Lora)
- Bold/editorial → Heavy condensed + clean body (e.g., Barlow Condensed + Inter)
- Luxury/premium → Serif display + light body (e.g., Playfair Display + Raleway)
- Minimal/professional → Geometric display + text (e.g., Outfit + Source Serif 4)
- Creative/artisan → Expressive + humanist (e.g., Fraunces + DM Sans)
CSS Variables Setup
:root {
/* Brand colors — replace with actual brand values */
--brand-primary: #[hex];
--brand-secondary: #[hex];
--brand-accent: #[hex];
/* Platform colors (fixed) */
--platform-instagram: #E1306C;
--platform-twitter: #000000;
--platform-facebook: #1877F2;
--platform-blog: #16a34a;
--platform-newsletter: #d97706;
/* Pillar colors (up to 5) */
--pillar-1-bg: #[soft tint];
--pillar-2-bg: #[soft tint];
--pillar-3-bg: #[soft tint];
--pillar-4-bg: #[soft tint];
--pillar-5-bg: #[soft tint];
/* UI */
--surface: #ffffff;
--surface-alt: #f8f7f5;
--border: #e5e5e5;
--text: #1a1a1a;
--text-muted: #6b7280;
/* Typography */
--font-display: '[Display Font]', serif;
--font-body: '[Body Font]', sans-serif;
}
Opening in Browser
After generating the HTML file and saving all images, use Claude Preview MCP to open it:
preview_start → serve the content-media-plan directory
preview_screenshot → capture a screenshot to confirm it rendered correctly
Tell the user the full local file path. If Preview MCP is not available, instruct them to open the file manually: open content-media-plan.html
Deployment
Include a wrangler.jsonc in the project directory so the presentation can be deployed instantly:
{
"name": "<brand-name>-content-plan",
"compatibility_date": "2025-04-01",
"assets": {
"directory": "./"
}
}
Deploy with:
cd content-media-plan && wrangler deploy
This deploys the HTML + images as a static site to Cloudflare, giving the user a shareable URL for client presentations or team reviews.
Step 7: Storage
Ask the user where to save the plan. They can pick one or both options. Do NOT assume — always ask before saving anywhere.
"Where should I save this plan?"
- Notion — create a structured Notion page (requires Notion MCP connected)
- Google Drive — I'll organize the files for easy upload
- Local only — the HTML file is already saved, no additional storage needed
Notion Storage (if selected)
First check for existing plans:
notion-search → "[brand name] content plan" (query_type: "internal", page_size: 5)
If a matching page is found, ask: "I found an existing content plan for [Brand] in Notion. Should I update it or create a new page?"
Create the page with notion-create-pages:
Page title: Content Media Plan: [Brand Name] — [Month YYYY]
Page icon: 📅
Page structure:
# Strategy Overview
[Brand summary, goals, audience, voice]
## Content Pillars
[Table: # | Pillar | Description | % Content | Example Topics]
## Platform Mix
[Table: Platform | Active Formats | Weekly Frequency]
## Posting Schedule
[Table: Platform | Best Days | Best Times]
---
# Content Calendar
## Week 1 — [Date Range]
[Table: Day | Platform | Format | Pillar | Topic / Hook]
## Week 2 — [Date Range]
[Table: Day | Platform | Format | Pillar | Topic / Hook]
[Repeat for all weeks]
---
# Format Examples
## Instagram Feed Post
[Full example caption]
[Copywriting notes as callout block]
[Image generation prompt as code block]
## Instagram Carousel
[Slide outline]
[Caption]
[Image generation prompt as code block]
[One section per format used]
---
# Implementation Notes
## Hashtag Strategy
[Branded hashtags | Niche hashtags | Broad hashtags — organized by pillar]
## Brand Voice Guide
[Extracted or defined voice attributes, do's and don'ts]
## Generated Assets
[Table: File Name | Format | Pillar | Notes]
Use separate table blocks for each week (not one giant table) — this keeps Notion readable and the API calls manageable.
Include image generation prompts as code blocks so they're easy to copy for manual generation.
Google Drive Export (if selected)
No Google Drive MCP is available for direct upload. Instead, organize the files and provide clear instructions:
File organization:
content-media-plan/
├── content-media-plan.html ← open in browser to view
├── wrangler.jsonc ← deploy with: wrangler deploy
├── images/
│ ├── example-feed-post.jpg
│ ├── example-carousel-cover.jpg
│ ├── example-reels-cover.jpg
│ ├── example-stories-bg.jpg
│ ├── example-facebook-post.jpg
│ ├── example-blog-featured.jpg
│ └── example-newsletter-banner.jpg
└── content-media-plan-summary.md ← text-only summary for quick reference
Generate a content-media-plan-summary.md — a compact text-only version of the plan (strategy + calendar table + format copy, no images) for easy sharing in any context.
Upload instructions to show the user:
- Open Google Drive → New → Folder Upload → select the
content-media-plan/folder - Once uploaded, right-click the folder → Share → "Anyone with the link" → Viewer
- To share just the HTML visual: right-click
content-media-plan.html→ Open with Google Docs (Drive renders HTML) → Share that link
<!-- TODO: Future feature — integrate Google Drive MCP when available to upload files directly from this skill -->
Step 8: Present Deliverables
Wrap up with a clean summary:
What was created:
- [N]-week content calendar with [X] total posts across [platforms]
- [N] format examples with AI-generated sample images
- Visual HTML output:
[local file path](open in browser) - [Notion page URL — if saved to Notion]
- [Google Drive instructions — if Drive was selected]
Suggested next steps:
- Import the calendar to Notion Calendar view (if using Notion) by linking dates in the database
- Use the format examples as creative briefs for your designer or video editor
- Schedule posts using Buffer, Later, or Hootsuite — the calendar table can be exported as CSV for bulk import
- Come back next month:
/content-media-planto generate the next cycle, building on this one's learnings
<!-- TODO: Future features to implement in later versions of this skill:
-
EMAIL DELIVERY Send the completed media plan via email (Gmail MCP: gmail_create_draft) as a formatted message with the HTML output and generated images attached as a PDF. Trigger: user says "send this to my client" or "email me the plan". Flow: generate PDF from the HTML output → attach to Gmail draft → user reviews and sends.
-
CALENDAR EXPORT Save all scheduled posts directly to Google Calendar (gcal MCP: gcal_create_event) or generate a standard .ics file the user can import into any calendar app (Google Calendar, Apple Calendar, Outlook, etc.). Each post becomes a calendar event with:
- Title: "[Platform] [Format]: [Topic]"
- Description: example copy/caption + image generation prompt
- Start time: derived from posting time recommendations (Step 3C)
- Reminder: 1 day before (for content preparation) Trigger: user says "add to my calendar" or "export calendar file". Flow: ask which calendar option (gcal MCP vs .ics file) → create all events in one batch call → confirm with summary of events created. -->
Behavior Notes
- Research first, plan second. The quality of the calendar depends on understanding the brand and the competitive landscape. Don't rush to generate the calendar before the strategy is solid.
- Be opinionated. Propose specific pillar names, specific topics, specific hooks. Not "you could post about your product" but "Reveal the Process: a 3-Reel series showing how [product] is made, hook: 'This takes 6 hours and most people never see it'".
- Write in the brand's voice. Every example caption should sound like it came from someone who deeply understands the brand — not like a generic template.
- Ground research in real data. If a reference account posts Reels 4x/week and gets high engagement, reflect that in the strategy. Don't propose what's theoretically ideal — propose what works in this specific context.
- Respect capacity constraints. A solo creator with 2 posts/week needs a very different plan than a team of 5. Never over-engineer the plan beyond what's realistic to execute.
- Use real examples, not placeholders. Every format example should be fully written — not "[Insert hook here]" but an actual hook. Users should be able to copy-paste these directly.
- Show research before strategy, strategy before calendar. Each phase builds on the previous. Let the user validate each step before moving forward. Momentum is built through small confirmations, not one massive reveal at the end.