Communitygithub.com

グラフィックケーススタディ

B2B SaaSの営業・マーケティング向けに、プロフェッショナルなデザインのケーススタディPDFを生成します。7種類のページレイアウト、9種類のスタイルプリセット、1~4ページの出力に対応。「ケーススタディを作成」「お客様の事例をPDFに」「成功事例をデザイン」などのトリガーで起動します。

グラフィックケーススタディ とは?

このスキルは、顧客の成功事例をもとに、プロフェッショナルなB2BケーススタディPDFを生成します。出力は単一の自己完結型HTMLファイル(ブラウザでそのまま開く)と、印刷可能なPDFの2つです。7種類のページセクションレイアウト(カバー、概要、課題、ソリューション、結果、 testimonial、クロージングCTA)と9種類のスタイルプリセット(クリーンスレート、ミッドナイトエディトリアル、マットグレイなど)をサポートしており、1~4ページの出力が可能です。数値ベースの説得力あるストーリーテリングが重視され、結果の統計は視覚的に強調されます。このスキルは、Claude Code、Cursor、CodexなどのコマンドラインエージェントやIDEエージェントでの使用を想定しており、ユーザーが「ケーススタディを作成して」などと依頼すると、内容のヒアリングからHTML/PDF生成、品質チェック、ファイル出力までの一連のワークフローを自動実行します。参照ファイル(デザインシステム、ページライブラリ、スタイルプリセット)と、フロントエンドスライドのビューポートベースCSSを活用し、常にA4キャンバス(1200×1697px)に収まるレスポンシブデザインを実現します。

対応✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/graphic-case-study

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

グラフィックケーススタディ は何をしますか?

顧客の成功事例から、プロフェッショナルにデザインされたB2BケーススタディPDFを生成します。出力は単一の自己完結型HTMLファイル(ブラウザで開く)と印刷可能なPDFです。7種類のページセクションレイアウトと9種類のスタイルプリセットをサポートします。


重要なルール -- 絶対に守ること:

  1. すべてのページはA4キャンバス (1200×1697px) に収めること。コンテンツがはみ出してはいけません。
  2. すべてのスケーラブルフォントサイズにはclamp()を使用。固定pxは構造的な境界線/ラインのみ。
  3. 単一の自己完結型HTML: すべてのCSSはインライン。ゼロ外部依存(フォントCDNリンクを除く)。
  4. HTMLをチャットに出力しない。ファイルに保存し、概要のみ表示。
  5. 結果の統計数字は視覚的にdominantにすること -- 本文テキストサイズの少なくとも3倍。
  6. 一般的なAIクソ出力禁止: 表示フォントにInterを使用しない、白地に紫色のグラデーションを使用しない、「ありがとうございました」で締めくくらない。

ステップ 1: 情報収集

開始には4つの情報が必要です。メッセージに4つすべてが含まれている場合はステップ2に進みます。

不足しているものがあれば、正確に次のように尋ねてください:

"ケーススタディを作成するには、次の4つが必要です:

  1. 顧客名 -- 会社名(匿名化する場合は、"Fortune 500リテーラー"などの説明を使用)
  2. 課題 -- 御社の製品を使用する前、顧客はどのような問題を抱えていましたか?(2~5文)
  3. ソリューション -- 御社の製品はそれをどのように解決しましたか?(機能、アプローチ)
  4. 結果 -- 測定可能な成果:できれば3つの統計値(%、節約時間、収益影響など)"

続行する前に4つすべてが揃うのを待ちます。


ステップ 2: 完全な情報収集

すべての質問を1つのメッセージでカテゴリ別にまとめて尋ねます。ユーザーはスキップ可能で、デフォルト値が適用されます。

"作成を開始する前にいくつか質問です:

コンテンツ

  1. 顧客コンテキスト -- 業界、企業規模、所在地?(オプション、概要ページで使用)
  2. お客様の声 -- 顧客の引用(40語以内)+ 発言者名 + 役職?(または「後で追加します」と応答)
  3. ページ数 -- 1ページ(サマリーカード)/ 2ページ(標準、デフォルト)/ 4ページ(詳細)
  4. 顧客ロゴ -- URL または「なし」

デザイン 5. 御社名 -- CTAページ用のベンダー名(ロゴURLがあればそれも) 6. スタイル -- clean-slate / midnight-editorial / matt-gray / product-minimal / mint-pixel-corporate / warm-earth / brutalist / magazine-red / "show me options" 7. 向き -- A4縦(デフォルト、1200×1697)/ 横4:3(1200×900)

出力 8. 匿名化? -- 会社名を保持 / 業界の説明に置き換え 9. スラッグ -- ファイル名スラッグ(例: "acme-corp-2025"); スキップされた場合は顧客名から自動生成します"

スキップ時のデフォルト:

質問デフォルト
顧客コンテキストなし
お客様の声なし
ページ数2
顧客ロゴなし
御社名コンテキストから推測
スタイルclean-slate
向きA4縦
匿名化名前を保持
スラッグ顧客名をkebab-caseに変換

スタイル = "show me options" の場合: 3つの単一ページHTMLプレビュー(カバーページのみ)を生成します。.claude-design/previews/style-a.html、style-b.html、style-c.htmlに保存。それぞれを開く: open .claude-design/previews/style-a.html など。ケーススタディのコンテキストに合う3つのスタイルプリセットを選択します。ステップ3の前にユーザーに選択を求めます。


ステップ 2.5: 内部ページアーキテクチャ(ユーザーには表示しない)

ステップ3の前に内部的に導出します。ユーザーに質問しないでください。

ヒーローメトリクスの特定: 結果から最も印象的な数値(最大の%、最大の$、最大の乗数)をスキャンします。このメトリクスはアクセントカラーで処理され、結果ページで最大の視覚的ウェイトを持ちます。

ページ数 -> 構造テンプレート:

ページ数ページシーケンス
1ページ1ページ: [cover-compact] -- すべてのコンテンツを1ページに凝縮
2ページページ1: [cover] + [challenge-solution] 積み重ね · ページ2: [results] + [testimonial-cta] 積み重ね
4ページページ1: [cover] · ページ2: [overview] + [challenge] · ページ3: [solution] + [results] · ページ4: [testimonial] + [closing-cta]

スタイル選択から導出されるビジュアルキャラクター:

  • clean-slate → プロフェッショナルな権威、十分な余白、エンタープライズセーフ
  • midnight-editorial → プレミアムなダーク、エディトリアルな重み、テック/AI企業向け
  • matt-gray → 信頼できるニュートラル、運用系、ボードセーフ
  • warm-earth → 親しみやすい温かみ、コンサルティング/エージェンシー/サービス向け
  • brutalist → 大胆で目立つ、デザイン先進的、注意を引く
  • 未指定の場合: B2B SaaSのデフォルトはclean-slate、テクニカル企業のデフォルトはmidnight-editorial。

ステップ 3: ページ構成

計画前に references/page-library.md を読んでください。

完全なページシーケンスを計画します。references/page-library.md にある7つのセクションタイプから各ページセクションに割り当てます。複数のセクションを1ページ内に積み重ねることができます。

各ページに [section-type] ラベルを付けた番号リストとして出力します。2ページの例:

提案構成(2ページ、clean-slateスタイル):

ページ1:
  [cover] -- Acme Corp、レポート時間を80%削減
  [challenge-solution] -- 手動プロセス / DataPulse自動化

ページ2:
  [results] -- 80%時間短縮、95%エラー削減、20万ドル節約
  [closing-cta] -- お問い合わせ: [email protected]

この構成で問題ありませんか?調整が必要ですか?

ステップ4に進む前に確認を待ちます。


ステップ 4: コンテンツドラフト

ページセクションごとにコピーを書きます。プレーンテキストのみ -- まだHTMLは使用しません。

セクションごとのコピールール:

  • cover: 会社名 + 見出しとなる結果(12語以内、数字で始めること: 「Acme、レポート時間を80%削減」)+ オプションのカテゴリラベル(「カスタマーサクセスストーリー」)
  • overview: 4つの事実のみ -- 業界 / 企業規模 / 所在地 / ユースケース -- 各値は4語以内
  • challenge: コンテキスト段落(2~3文)+ 3つの痛点(それぞれ1文、箇条書きの埋め草は不可)
  • solution: 2~3の機能コールアウト -- 機能名(3語以内)+ それぞれ1文の成果説明
  • results: 3つのメトリクス(数値+短いラベル+1行のコンテキスト)。オプション: 2文のナラティブ。数字と同じウェイトの本文コピーは禁止。
  • testimonial: 正確な引用(40語以内)+ 発言者名 + 役職 + 会社
  • closing-cta: 見出し(5語以内)+ CTAアクション文(3語)+ メールアドレス + URL(両方必須)

禁止ワード(例外なし): "パワフル", "シームレス", "革新的", "活用", "画期的", "変革", "最先端", "堅牢", "アンロック", "スケーラブル"(形容詞の埋め草として)。

コピーの哲学: 数字は形容詞に勝る。すべてのセクションを、機能ではなく成果で始める。フラグメントでも問題ありません。


ステップ 5: HTML生成

HTMLを生成する前にすべてを読んでください:

このスキルの参照ファイル:

  • references/design-system.md
  • references/page-library.md
  • references/style-presets.md

frontend-slidesの相互参照(このファイルを正確に読んでください):

  • /Users/ksd/Desktop/Varnan_skills/frontend-slides/viewport-base.css -- その内容全体を <style> ブロック内にそのまま含めてください

生成ルール:

  1. 単一の自己完結型HTML。すべてのCSSはインライン。フォントCDN <link> が唯一の外部参照。
  2. viewport-base.css の内容全体を <style> ブロック内にそのまま含めること -- 言い換えたり短縮したりしないでください。
  3. viewport-base.css を貼り付けた後、A4縦のオーバーライドを追加:
    /* A4 portait overrides */
    html { scroll-snap-type: none; scroll-behavior: auto; }
    .slide {
      width: 100vw;
      height: 100vh;
      height: 100dvh;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      position: relative;
      scroll-snap-align: none;
    }
    
  4. すべてのページセクション = <section class="slide"> -- export-pdf.sh の検出に必要。
  5. 各ページにコメント: /* === PAGE N: SECTION-TYPES === */
  6. 結果の統計数値: 最低 clamp(2.5rem, 7vw, 5rem)。ヒーローメトリクスはアクセントカラー。その他のメトリクスはセカンダリテキストカラー。
  7. 画像がない場合 -> CSS生成のビジュアル(幾何学図形、グラデーション背景、アイコン風CSS構造)。表示可能なプレースホルダーボックスを出力しないこと。
  8. SlidePresentation JSを含めない。.reveal のエントランスアニメーション用の最小限のIntersectionObserverのみ含める(ビューワーエクスペリエンス用。PDFエクスポートは自動的に最終状態にレンダリングされます)。
  9. 横4:3(要求された場合): グラフィックスライドデッキの比率から clamp() 値を使用 -- 横1200×900は1vw=12px、縦と同様。

タイポグラフィの規律(すべてclampベース、1200px A4縦に調整):

  • カバー見出し: clamp(2rem, 5vw, 3.5rem)
  • セクション見出し: clamp(1.25rem, 2.5vw, 2rem)
  • 本文: clamp(0.875rem, 1.25vw, 1.1rem)
  • 統計数値(ヒーロー): clamp(3rem, 8vw, 5.5rem)、アクセントカラー
  • 統計数値(セカンダリ): clamp(2.5rem, 7vw, 5rem)、セカンダリカラー
  • 引用: clamp(1.1rem, 2vw, 1.5rem)、イタリック
  • ラベル/キャプション: clamp(0.65rem, 0.9vw, 0.8rem)、大文字

ステップ 6: セルフQA

すべての項目をチェック。すべての失敗を修正すること -- 省略しない。

レイアウトとレンダリング:

  • すべての .slide に height:100vh; height:100dvh; overflow:hidden がある
  • すべてのスケーラブルフォントサイズが clamp() を使用している
  • 1200×1697ビューポートでコンテンツがはみ出していない -- references/page-library.md の制限に対して各ページの密度を確認
  • すべての画像プレースホルダースポットにCSS生成ビジュアルが存在する
  • CSSに -clamp(), -min(), -max() がない -- 負の値は calc(-1 * ...) でラップ

構造:

  • ページ数がステップ3の計画と一致する
  • すべてのページが class="slide" を使用している
  • ステップ3のすべてのコンテンツセクションが存在する
  • class="slide" は <section> 要素のみにあり、内部のdivにはない

デザイン品質:

  • ヒーローメトリクスが結果セクションで視覚的にdominant -- アクセントカラー、最大サイズ、同じウェイトの競合要素なし
  • スタイルプリセットトークンが一貫して適用されている(references/style-presets.md の色、フォント)
  • スロップパターンがない(references/style-presets.md の禁止リストを確認)
  • タイポグラフィ階層が明確: カバー見出し >> セクション見出し >> 本文(少なくとも2:1の比率)

コンテンツ:

  • どのコピーにも禁止ワードが含まれていない
  • カバーの見出しが数字または測定可能な結果で始まっている
  • お客様の声の引用が40語以下である
  • クロージングCTAに見出し + アクション + メールアドレス + URL(4つすべて)がある
  • 結果セクションのすべての統計値にラベルがある(裸の数字は不可)

ステップ 7: 出力

メインHTMLを保存:

mkdir -p case-study/[slug]

保存先: case-study/[slug]/index.html

開く: open case-study/[slug]/index.html

ページごとのHTMLファイル(常に生成):

メインHTMLから各 <section class="slide"> を抽出します。それぞれについて、以下のスタンドアロンファイルを作成:

  • メインHTMLからの <style> ブロック全体(そのままコピー)
  • 個々の <section class="slide"> を最小限のHTMLシェルでラップ
  • JSなし(静的なページごとの表示用)

保存先: case-study/[slug]/page-01.html、page-02.html など。

PDFエクスポート(A4縦の場合は常に実行):

bash /Users/ksd/Desktop/Varnan_skills/frontend-slides/scripts/export-pdf.sh \
  case-study/[slug]/index.html \
  case-study/[slug].pdf --portrait

横4:3が要求された場合は、--portrait を省略し、代わりに --compact(1280×720)を使用します。

注: 初回実行時はPlaywrightが自動的にインストールされます(約30~60秒)。ユーザーに通知します。

クリーンアップ: ステップ2でスタイルプレビューファイルが生成された場合は、.claude-design/previews/ を削除します。


ステップ 8: サマリー(チャットにHTMLは表示しない)

チャットに以下を表示:

## ケーススタディ: [顧客名]
日付: [今日] | スタイル: [スタイル] | ページ数: [N] | 形式: A4縦
ベンダー: [御社名] | 顧客: [顧客名]

---

### ファイル
メイン:      case-study/[slug]/index.html
ページごと:  case-study/[slug]/page-01.html -> page-0N.html
PDF:       case-study/[slug].pdf

---

### ケーススタディチェックリスト
- [ ] [IMAGE: logo] プレースホルダーを実際のロゴファイルに置き換える
- [ ] すべての統計値が正確であることを確認する([結果ページ番号]ページ)
- [ ] 顧客が引用の使用を承認していることを確認する
- [ ] 会社名のスペル、発言者の役職の正確性を確認する
- [ ] PDFのページ数が [N] であり、コンテンツがクリップされていないことをテストする
- [ ] case-study/[slug].pdf でPDFを共有する

チャットにHTMLを表示しないでください。


セクションリファレンス

セクション目的
cover表紙 -- 顧客名、見出しとなる結果、ロゴ
overview概要プロフィール -- 業界、規模、ユースケース
challenge課題 -- コンテキスト + 痛点
solution製品がどのように解決したか -- 機能コールアウト
results主要メトリクス + 補足ナラティブ
testimonial顧客からの全幅プルクォート
closing-ctaベンダーロゴ + 連絡先情報 + 次のステップ

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

関連スキル