Communitygithub.com

データストーリーテラー

データやチャートを、発見、傾向、示唆、推奨アクションという構造で意思決定を導くストーリーに変えます。

データストーリーテラー とは?

このスキルは、数値データやチャートを単なる数字の羅列ではなく、意思決定を促す説得力のあるストーリーへと変換することに特化しています。データそのものではなく、そのデータが何を意味するか(「so what」)を見つけ出し、構造化されたナラティブを構築します。主な対象プラットフォームは、Claude Code、Cursor、CodexなどのAIエージェントです。プロセスは、データとコンテキストの収集から始まり、最も重要な発見を特定した後、見出しとなる発見 → 証拠 → 示唆 → アクションという4部構成でストーリーを展開します。各チャートには発見をタイトルに含め、すべての数値に比較対象と時間枠を付与するなど、厳格な品質基準を持ちます。ユーザーが「このデータから何が言える?」「リーダーシップへの報告に使いたい」といった要求を持った際に有効で、逆に長文の要約や分析自体の実行には使用すべきではありません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SkillMedev/skills/tree/HEAD/skills/data-story

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

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

ドキュメント

データストーリーテラー は何をしますか?

あなたは、数字やチャートを、意思決定を促すストーリーに変えます。データだけでは人は動きません。そのデータを包むナラティブが人を動かします。あなたの役割は、「だから何?」という本質を見つけ出し、伝えることです。

基本原則

すべてのデータセットにはストーリーが隠れていますが、それを見つけて適切に構成する必要があります。洞察を先に提示し、後からデータで裏付けます。その逆ではいけません。聴衆が覚えるのは、スプレッドシートの数字ではなく、ストーリーの要点です。

プロセス

  1. データ/チャートとそのコンテキスト(聴衆、どのような意思決定がかかっているか、彼らが現在何を信じているか)を入手する。
  2. 最も重要な発見をひとつ見つける。データを問いただす:何が変わったか、何が驚くべきか、外れ値は何か、トレンドは何か。
  3. ナラティブを構築する:見出し → 証拠 → 示唆 → アクション。

4部構成

  1. 見出しとなる発見 - 最も重要な要点を、数字を伴う一文で述べる。「モバイルサインアップが今四半期でデスクトップを上回り、58%に達しました。」これがストーリーであり、他のすべてはこれを補強します。
  2. トレンド / パターン - 時間の経過やセグメント間におけるデータの形状を示す。方向性と規模を示す。加速しているか、逆転しているか、集中しているか?
  3. 示唆 - それがビジネス/読者にとって何を意味するか。数字を、彼らが気にかける結果に結びつける。
  4. 「だから何」 / アクション - それに対して何をすべきか。意思決定を変えないデータストーリーはトリビアに過ぎません。

ストーリーを見つけるには

  • 注目すべき点:時間による変化、比較(ベンチマーク、セグメント、期待値との)、外れ値、相関関係、変曲点。
  • 「何と比較して?」と問う。数字は比較対象がなければ意味をなしません。
  • 見せかけのパターンに注意:相関は因果関係ではない、少数サンプルは誤解を招く、選択バイアスは隠れる。注意点を正直に記載する。
  • 少数サンプルに基づくパーセンテージは疑う:おおよそn=30未満では、パーセンテージは発見のふりをしたノイズです。n=100未満では、生のカウントを併記する(「15.6%」ではなく「45ユーザー中7名」)。

数字の提示方法

  • 1チャート、1メッセージ。 各ビジュアルは単一のポイントを伝えるべきです。チャートのタイトルはそのポイントにしましょう(「モバイルがQ2にデスクトップを上回った」であり、「プラットフォーム別サインアップ数」ではありません)。読者はタイトルだけで約5秒でチャートの要点を理解できるべきです。もしできないなら、そのチャートはストーリーテリングではなく、分析を行っています。
  • 可読性のために丸める。 口頭で話したり見出しに使う数字は有効数字2桁が上限です。「58.34%」より「約10人中6人」や「58%」の方が優れています。完全な精度は、契約上の閾値や法定上限など、それが重要な意味を持つ場合にのみ残します。
  • 数字を絞る。 聴衆がプレゼンテーションから覚えられる数字はおおよそ3つです。ストーリーを伝える3つを選び、残りは付録や脚注に回しましょう。
  • すべての数字にコンテキストを。 変化率、ベースライン、時間枠。
  • ポイントを強調する - チャートに注釈を入れ、他の部分をグレーアウトし、重要な箇所に視線を誘導する。

ライティングルール

  • 方法論ではなく、洞察から始める。
  • 統計を平易な言葉と人間にとっての利害に翻訳する。
  • 比較や類推を使って規模感を伝える(「会場を2杯満たすのに十分な量」)。
  • 不確実性と限界について正直になる。信頼性こそがすべてです。
  • 都合の良いデータだけを選ばない。都合の悪いデータも含めて、真実のストーリーを伝える。

アンチパターン

  • すべての指標を羅列し、読者にポイントを見つけさせる。
  • ラベルをタイトルにしたチャート。
  • 比較やコンテキストのない数字。
  • 相関関係から因果関係を過剰に主張する。
  • 方法論の下に重要なポイントを埋もれさせる。

品質基準

  • 見出しとなる発見は、ひとつの数字を含む一文であり、それ単独でストーリー全体として成立する。
  • すべてのチャートのタイトルはラベルではなく発見を示し、5秒テストに合格する。
  • すべての数字には、比較対象(ベースライン、ベンチマーク、または前期)と時間枠がある。
  • 因果関係の主張は相関関係のみに基づかず、少数サンプルのパーセンテージはすべて生のカウントを併記する。
  • 推奨アクションは、聴衆の中の誰かが実際に実行可能な意思決定を明示する。

アウトプット

データストーリーを提示する:見出しとなる発見を先頭に、その後ろにそれを補強するトレンド、示唆、推奨アクションを配置する。各チャートに対して、発見をタイトルに含め、強調すべき点を記載する。データが十分に裏付けられない結論については、誇張されないよう正直にフラグを立てる。

Individual skills in this repo

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

SkillMedev/skills

Designs REST API surfaces - resource naming, HTTP method and status-code semantics, error shapes, pagination, and filtering - and delivers an endpoint spec a consumer can build against without asking questions. Use when someone asks "how should I name this endpoint", "what status code should this return", "should this be PUT or PATCH", "how do I paginate this list", or is reviewing an API before it ships to external consumers. Do NOT use for planning breaking-change rollouts and deprecation windows - use api-versioning-strategist instead; for GraphQL type and resolver design - use graphql-schema instead; for generating client SDKs from an existing spec - use api-client-generator instead; for designing inbound webhook endpoints - use webhook-receiver-hardener instead.

SkillMedev/skills

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is social-video-formatter; do NOT use to animate text word-by-word as a motion graphic - that is kinetic-typography; do NOT use to write the spoken script in the first place - that is narration-script.

SkillMedev/skills

Use when a task needs live or historical money data - "convert USD to EUR", "current/past exchange rate", "FX rate on this date / over this range", or "current price of Bitcoin/Ethereum, market cap, 24h change". Frankfurter (ECB reference rates, no key) is the FX default; CoinGecko's free keyless tier covers crypto. Do NOT use for stock quotes or equities - no keyless stock API survives verification, say so instead of guessing; do NOT use for country economic indicators like GDP or inflation series - use government-open-data instead; if the request is a vague "I need live data", route through public-data-api-picker.

SkillMedev/skills

Builds a driver-based FP&A operating model linking business inputs to P&L, balance sheet, and cash flow outputs. Use when building an annual plan, preparing investor materials, running scenario analysis, or stress-testing the business.

SkillMedev/skills

Use when a task needs live geographic lookups - "geocode this address", "what's at these coordinates" (reverse geocoding), "lat/lon for this city", "which country/state is this ZIP or postal code in", or "country facts: capital, currency, population, flag". Nominatim (OpenStreetMap) is the geocoding default; Zippopotam for postal codes; APICountries for country facts. All keyless. Do NOT use for weather at a location - use weather-climate instead; do NOT use for country-level statistics over time (GDP, population trends) - use government-open-data instead; if the request is a vague "I need live data", route through public-data-api-picker.

SkillMedev/skills

Runs the full Getting Things Done loop - capture, clarify, organize, reflect, engage - building a trusted system of context lists, a projects list with defined next actions, and a weekly review habit. Use when someone says "I'm overwhelmed and things are slipping through the cracks", "set up GTD for me", "help me do a brain dump and organize it", or "my to-do list is a mess". Do NOT use for just running the weekly review ritual itself - use weekly-review instead - or for clearing an email backlog - use inbox-zero.

SkillMedev/skills

Processes any email backlog to zero using the 4Ds - Delete, Delegate, Defer, Do - with a mass-archive strategy for the obvious, a touch-each-email-once discipline, and a keep-it-clear system of batched processing windows, ruthless unsubscribing, filters, and a minimal folder setup. Use when someone says "I have 5,000 unread emails", "help me get to inbox zero", "email is eating my whole day", or treats their inbox as a to-do list. Do NOT use for drafting the reply emails themselves or prioritization rules for an ongoing support queue - use email-triage instead - or for protecting focus time around the email windows - use deep-work-planner instead.

SkillMedev/skills

Write landing-page copy section by section - hero, social proof, features-as-benefits, objections, CTA - leading with one promise and proving it down the page. Use when someone asks "write my landing page", "improve my hero headline", "what should the homepage say", "turn these features into benefits", or is shipping a new page for a launch or campaign. Do NOT use for testing and optimizing an existing page's conversion rate - use landing-page-cro instead; for the one-line claim itself use positioning-statement; for the full message ladder use messaging-hierarchy.

SkillMedev/skills

Improves an existing landing page's conversion rate through evidence-first CRO - audit heatmaps and recordings, write structured hypotheses, prioritize with ICE scoring, and run one-variable tests to statistical significance. Use when someone asks "why isn't my landing page converting", "audit this page before we scale spend", "which A/B test should we run first", or after a CVR drop or ahead of a paid-traffic push. Do NOT use for writing a new landing page from scratch - use landing-page-copy instead. Do NOT use for auditing the ad accounts sending the traffic - use paid-acquisition-audit instead. Do NOT use for reading the results of a finished experiment - use ab-test-analyzer instead.

SkillMedev/skills

Runs structured coaching sessions using values clarification and the GROW model, ending every session with one committed action, a deadline, and an if-then plan for the likely obstacle. Use when someone says "I feel stuck in my life", "help me figure out what I want", "hold me accountable to my goals", or "coach me through this decision". Do NOT use for building a stress toolkit - use stress-management instead - or a journaling practice - use journal-framework; for a standing goal-tracking system, use goals-accountability. Coaching, not therapy: signs of clinical distress route to a licensed professional.

SkillMedev/skills

Adapts English content for a target language and region - swapping idioms, setting the right formality register, replacing cultural references, converting dates, units, and currency - and delivers the localized text with a notes column explaining each adaptation and flagging what needs a native reviewer. Use when someone asks "localize this copy for the Japanese market", "adapt our marketing copy for the Mexican market", "make this translation sound native instead of literal", or a literal translation reads foreign, stiff, or risky. Do NOT use for auditing in-product UI text quality - use ux-writing-audit instead.

SkillMedev/skills

Turns a natural-language video brief into a complete, ready-to-preview Remotion composition - extracts duration, scenes, brand colors, aspect ratio, and real copy; plans the frame budget; and writes data-driven React/TypeScript using useCurrentFrame, interpolate, spring, AbsoluteFill, and Sequence, registered in Root.tsx. Use when someone says "build a 20-second product demo video", "animate a feature walkthrough", "write the Remotion code for this marketing clip", or wants a scene-by-scene composition they can scrub in Studio. Do NOT use for rendering, iterating, or batching the finished MP4 - use remotion-render instead - or for installing and scaffolding the project - use remotion-setup instead.

SkillMedev/skills

Scaffolds a new Remotion video project wired for Claude Code Agent Skills - Node check, create-video scaffold, skills install, folder conventions, Google Fonts, and a smoke-test render. Use whenever someone wants to start making videos with Remotion and Claude, even just "make product videos with Claude.

SkillMedev/skills

Classifies incident severity (SEV1-4) using impact, scope, and urgency signals and decides who to page. Use when an alert fires or a report comes in and a severity call must be made quickly.

SkillMedev/skills

Use the Skill Me catalog from inside any conversation - discover, install, and manage Claude skills through the Skill Me MCP, and load installed skills automatically each session.

SkillMedev/skills

Write one platform-native caption from a topic and brand voice, with a front-loaded hook, native length, and a single earned CTA. Use when the user gives a topic (and optionally brand voice or a described image/video) and asks for an Instagram, LinkedIn, X/Twitter, or TikTok caption. Do NOT use when the user wants a dedicated standalone LinkedIn post - use linkedin-post-writer instead; or a multi-post X thread - use tweet-thread-builder instead; or to adapt one existing piece of content into versions for several channels - use cross-platform-reformatter instead.

SkillMedev/skills

Reframe and export a finished video for social platforms - 9:16 ↔ 16:9 cropping, burned-in captions, a platform-native first frame, loop design, and per-platform specs (aspect, length, safe areas) for TikTok, Reels, Shorts, X, and LinkedIn. Use when someone says "make this vertical", "crop to 9:16", "format for TikTok/Reels/Shorts", "add captions/subtitles", "why is my video cut off on mobile", "resize for Instagram", or "export for social". Do NOT use when the question is about the storyboard or shot order before any video exists (use video-storyboard); the animation craft of how elements move (use motion-design-principles); animated word-by-word caption styling (use kinetic-typography); palette, contrast, or lighting (use motion-color-and-light); directing the product-demo content and screen choreography (use product-demo-director); or scoring, beat-syncing, or audio (use sound-and-music-sync) - this is the craft layer that decides WHAT to format for the feed, then hands a concrete spec to remotion-compo...

SkillMedev/skills

Writes and tunes PySpark jobs - join strategy and broadcast size limits, shuffle-partition sizing, skew diagnosis and salting, UDF avoidance, caching, and output file layout - with concrete size and skew thresholds. Use when someone asks "why is my Spark job slow", "should I broadcast this join", "one task takes forever while the rest finish", "my job OOMs during a join", or is writing a new PySpark ETL job. Do NOT use for Kafka topic, consumer-group, or streaming-pipeline design - use kafka-pipelines instead; do NOT use for single-machine dataframe work that fits in memory - use pandas-expert instead.

SkillMedev/skills

Builds clean, performant, accessible SwiftUI views with correct state ownership, scoped invalidation, and smooth list scrolling, and reviews existing SwiftUI code against a concrete frame-time and re-render budget. Use when someone asks "why does my SwiftUI list stutter", "should this be @State or @Observable", "my whole screen re-renders when one row changes", "how do I animate this transition", or wants a SwiftUI view built or refactored. Do NOT use for cross-platform React Native apps - use react-native-pro instead; do NOT use for Flutter widget trees - use flutter-widget-architect instead; do NOT use for Android Compose UIs - use jetpack-compose-builder instead.

関連スキル