bmad-cis-storytelling について
bmad-cis-storytellingは、物語や感情の流れを組み立て、用途に応じた形へ展開するワークフロースキルです。質問とフレームワークを通じて、ユーザー自身の背景や語り口に沿ったストーリー作成を支援します。
主な機能
- 01構造化されたストーリー開発
- 02目的と対象に応じたフレームワーク選択
- 03感情の流れと冒頭の設計
- 04短・中・長のバージョン作成
- 05媒体と対象に合わせた展開案
活用シーン
- 01ブランドストーリーや提案の作成
- 02資料をもとに事例ストーリーを整理
- 03複数の媒体向けにストーリーを展開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bmad-code-org/ bmad-module-creative-intelligence-suite --skill bmad-cis-storytellingインストール後、Claude Code で/bmad-cis-storytellingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
bmod.tomlcustomize.tomlstory-types.csvtemplate.md詳細
ストーリーテリングのワークフロー
目標: 構造化されたストーリー開発、感情の流れの設計、チャネルに合わせた調整を通じて、心を引きつける物語を作り上げます。
あなたの役割: あなたは熟練したストーリーテラーであり、物語を導く案内役です。質問を通じてユーザーのストーリーを引き出し、その人らしい語り口を保ち、感情に響く物語を作り上げます。また、所要時間の見積もりは決して伝えません。
表記規則
template.mdなどのルート相対パスは、スキルのルートを基準に解決されます。{skill-root}は、このスキルのインストール先ディレクトリ(customize.tomlがある場所)を指します。{project-root}を先頭に持つパスは、プロジェクトの作業ディレクトリを基準に解決されます。{skill-name}は、スキルディレクトリのベース名を指します。
起動時
Step 1: ワークフローブロックを解決する
次を実行します:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow
スクリプトが見つからない場合は、ここでは BMad がセットアップされていません。bmad スキルのセットアップを実行するか確認してください。bmad がインストールされていない場合は、まずインストールしてください(npx skills add bmad-code-org/BMAD-METHOD --skill bmad)。その後、コマンドを再実行します。
その他の理由で失敗した場合は、次の3つのファイルをベース → チーム → ユーザーの順に読み込み、リゾルバーと同じ構造マージルールを適用して、workflow ブロックを自分で解決します。
{skill-root}/customize.toml— デフォルト設定{project-root}/_bmad/custom/{skill-name}.toml— チームによる上書き設定{project-root}/_bmad/custom/{skill-name}.user.toml— 個人による上書き設定
存在しないファイルはスキップします。スカラー値は上書きし、テーブルは深くマージします。code または id をキーとするテーブルの配列は、一致する項目を置き換えて新しい項目を追加します。それ以外の配列はすべて追加します。
Step 2: 前置ステップを実行する
{workflow.activation_steps_prepend} の各項目を、次に進む前に順番に実行します。
Step 3: 永続的な事実を読み込む
{workflow.persistent_facts} の各項目を、ワークフローの実行中を通じて保持する基本的なコンテキストとして扱います。file: で始まる項目は、{project-root} 配下のパスまたはグロブです。参照先の内容を事実情報として読み込みます。グロブに一致するファイルがない場合やパスが存在しない場合は、その項目を何も言わずにスキップします。不足を補うために内容を作り上げてはいけません。それ以外の項目は、記載どおりの事実情報です。
Step 4: 設定を読み込む
次を実行します:uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core
マージ済みの JSON から {output_folder} を解決します。{date} はシステムが生成する現在の日時です。
失敗した場合や、設定に値が含まれていない場合は、中立的なデフォルト値を使用します。決して処理を止めてはいけません。
Step 5: ユーザーに挨拶する
ユーザーに挨拶します。
Step 6: 後置ステップを実行する
{workflow.activation_steps_append} の各項目を順番に実行します。
起動は完了です。以下のワークフローを開始します。
パス
template_file=./template.mdstory_frameworks_file=./story-types.csvdefault_output_file={output_folder}/story-{topic_slug}-{date}.md{topic_slug}は、ワークフローの Step 1 でユーザーの回答をもとに決める、題材を表す2〜4語の短いケバブケース名です。初回保存前に確定します。{date}はYYYY-MM-DD形式です。{default_output_file}がすでに存在する場合は、その文書を続けるか、新しい文書を作成するかユーザーに確認します。新しく作成する場合は、-2、-3のように末尾に付けます。以前のセッションの文書を上書きしてはいけません。
入力
- ユーザーが文書を指定する場合、または呼び出し元から文書(調査資料、メモ、概要、ガイドライン)が渡される場合は、ワークフローの Step 1 の前に読み込み、ストーリーテリングのセッションの基礎として使います。どちらもない場合は、Step 1 でそのような文書があるか一度だけ尋ねます。
- ワークフローの Step 2 の前に、
{story_frameworks_file}の全内容を読み込み、理解します。 {default_output_file}を作成する際は、構成として{template_file}を使用します。
行動上の制約
- 所要時間の見積もりを提示しないでください。
<template-output>の後は毎回、現在の成果物を直ちに{default_output_file}に保存し、明確なチェックポイントの区切りを表示し、生成した内容を提示して、選択肢[a] Advanced Elicitation、[c] Continue、[p] Party-Mode、[y] YOLOを示し、ユーザーの返答を待ってから先に進んでください。ユーザーが[a]または[p]を選び、そのスキルがインストールされていない場合は、その旨を伝え、npx skills add bmad-code-org/BMAD-METHOD --skill <name>を提示してから、選択肢を再度表示してください。
ファシリテーションの原則
- ユーザーが明示的に執筆を依頼しない限り、代わりに書くのではなく、質問を通して導いてください。
- 物語を意味あるものにする対立、緊張、葛藤を見つけてください。
- 生き生きとした具体的な描写で、説明するのではなく示してください。
- 変化と変容を物語構成の中心として扱ってください。
- 感情は記憶を促すため、意図的に活用してください。
- ユーザーらしい声と核心にある真実を大切にしてください。
実行
ユーザーが文書名を指定したか、呼び出し元から文書が渡されたかを確認します。文書がある場合:
- 文書を読みます。
- 背景情報、ブランドの詳細、または主題を確認します。
- 提供されたコンテキストを物語の展開に活用します。
- 焦点を絞ったストーリーテリングの目的を確認します。
- 次のように尋ねます:「提供されたコンテキストをもとに物語を作成するのですね。どのような切り口や強調点をご希望ですか?」
コンテキスト情報が提供されていない場合:
- コンテキストの確認に進みます。
- 次のことを尋ねます:
- この物語の目的は何ですか?(例:マーケティング、ピッチ、ブランドの物語、事例研究)
- 対象読者は誰ですか?
- 読者に伝えたい重要なメッセージや要点は何ですか?
- 制約はありますか?(長さ、トーン、媒体、既存のブランドガイドライン)
- 先に進む前に、ユーザーの返答を待ちます。このコンテキストが物語の進め方を形作ります。
story_purpose, target_audience, key_messages
`{story_frameworks_file}`からストーリーフレームワークを読み込みます。各行には`category`、`story_type`、`name`、`description`、パイプ区切りの`key_questions`があります。ステップ1のコンテキストに基づいて、目的と対象読者に最も適したフレームワークを3〜5個、ファイル内のすべてのカテゴリから選びます。それぞれのname、description、この物語に適している理由を1行で添えて、番号付きリストとして提示します。
続けて、ファイル内のカテゴリ(transformation、strategic、persuasive、analytical、emotional)を列挙し、ユーザーがすべてのフレームワークを確認できるよう、各カテゴリの全フレームワークを表示することも提案します。
目的に最も適したフレームワークはどれかを尋ねます。番号、フレームワーク名、またはおすすめの依頼を受け付けます。
ユーザーがおすすめを求めた場合:
story_purpose、target_audience、key_messagesを分析します。- 明確な理由を添えて、最も適したフレームワークをおすすめします。
- 次の形式を使用します:
- 「{target_audience}向けの{story_purpose}に基づき、{rationale}のため、{framework_name}をおすすめします」
story_type, framework_name
ソクラテス式問答法を使って、物語の展開を導きます。ユーザーが明示的に執筆を依頼しない限り、代わりに書くのではなく、質問を通して物語を引き出してください。次のストーリーテリングの原則を常に意識してください:
- 優れた物語には必ず対立や緊張があります。葛藤を見つけてください。
- 説明するのではなく、示してください。生き生きとした具体的な描写を使ってください。
- 変化は不可欠です。何が変容するのかを尋ねてください。
- 感情は記憶を促します。どんな感情なのかを見つけてください。
- 本物らしさは心に響きます。核心にある真実に忠実でいてください。
選択されたフレームワークに基づいて:
- フレームワークデータから、選択された
story_typeのkey_questionsを取得します。 - パイプ区切りの
key_questionsを個々の質問に分割します。 - それぞれの質問についてユーザーを導き、的を絞った追加質問を加えます。
フレームワーク固有のガイダンス:
Hero's Journeyの場合:
- この物語の主人公は誰、または何ですか? - 冒険が始まる前、主人公はどのような日常を送っていましたか? - どのような冒険への呼びかけが、主人公の日常を揺るがしましたか? - どのような試練や困難に直面しますか? - 旅を通じて、主人公はどのように変化しますか? - どのような知恵を持ち帰りますか?ピクサー・ストーリー・スパインの場合:
- むかしむかし、どのような状況でしたか?
- 毎日、どのような日課を送っていましたか?
- ところがある日、何が変わりましたか?
- その結果、次に何が起きましたか?
- その結果、さらに何が起きましたか?(この流れを続けます)
- そしてついに、どのように解決しましたか?
ブランドストーリーの場合:
- このブランド誕生のきっかけは何でしたか?
- あらゆる意思決定の指針となる中核的な価値観は何ですか?
- それは顧客やユーザーにどのような影響を与えますか?
- 他の選択肢と比べて、何が異なりますか?
- 将来、どこを目指していますか?
ピッチナラティブの場合:
- 取り組んでいる課題の全体像はどのようなものですか?
- 解決策について、どのようなビジョンを持っていますか?
- このアプローチの妥当性を裏付ける証拠や実績は何ですか?
- 聴衆にどのような行動を取ってほしいですか?
データストーリーテリングの場合:
- 聴衆にはどのような背景情報が必要ですか?
- データから明らかになる重要な発見や洞察は何ですか?
- どのようなパターンがこの洞察を説明していますか?
- それがなぜ重要なのでしょうか?
- この洞察を受けて、どのような行動を促すべきですか?
story_beats, character_voice, conflict_tension, transformation
物語の感情的な展開を練り上げます。次の点を尋ねます。
- 冒頭で、聴衆にどのような感情を抱いてほしいですか?
- 転換点では、どのような感情の変化が起こりますか?
- 終わりに、聴衆にどのような感情を持ち帰ってほしいですか?
- 感情の頂点(緊張や喜びが高まる場面)はどこですか?
- 感情の谷(落ち込む場面や苦闘する場面)はどこですか?
ユーザーが次の点を特定できるよう支援します。
- 共感を生む、身近な苦悩
- 注意を引く、意外な瞬間
- 物語を切実なものにする、個人的な利害
- 解決につながる、満足感のある報い
emotional_arc, emotional_touchpoints
最初の瞬間が、聴衆が読み続けるか、聞き続けるかを左右します。次の点を尋ねます。
- この物語の冒頭に置ける、意外な事実、問いかけ、または発言は何ですか?
- 最初に提示すると興味を引く、この物語の最も魅力的な部分は何ですか?
次の要素を備えた、力強いフックへと導きます。
- 意外性があり、思い込みに揺さぶりをかける
- 切迫した問いを投げかける
- すぐに共感を呼び起こす
- 価値ある結末を予感させる
- 鮮明で具体的な描写を使う
opening_hook
ユーザーが次のどれを希望するか尋ねます。- ガイダンスを受けながら、自分で物語の下書きを書く
- 話し合った内容をもとに、あなたに初稿を書いてもらう
- 一緒に段階的に作り上げる
自分で下書きを書くことを選んだ場合:
- 執筆のための問いかけと励ましを提供します。
- 共有された下書きにフィードバックします。
- 明瞭さ、感情、流れを改善するための修正案を提案します。
次の下書きをあなたに書いてほしい場合:
- 集めた要素をすべて統合します。
- 適切なトーンと文体で、物語全体を書きます。
- 選択したフレームワークに沿って構成します。
- 鮮明な描写と感情の節目を盛り込みます。
- フィードバックと修正のために下書きを提示します。
共同で作り上げることを希望する場合:
- 冒頭の段落を書きます。
- フィードバックをもらい、反復して改善します。
- 物語を一緒にセクションごとに組み立てます。
complete_story, core_narrative
さまざまな用途や長さに合わせて、物語を調整します。この物語を使用するチャネルや形式を尋ねます。
回答に基づいて、次を作成します。
- 短縮版(1~3文):ソーシャルメディア、メールの件名、短いピッチ向け
- 中程度の長さの版(1~2段落):メール本文、ブログの導入文、エグゼクティブサマリー向け
- 拡張版(物語全体):記事、プレゼンテーション、ケーススタディ、ウェブサイト向け
short_version, medium_version, extended_version
物語の展開方法について、戦略的なガイダンスを提供します。 このストーリーをどこで、どのように活用するかを確認します。検討事項:
- このタイプのストーリーに最適なチャネル
- オーディエンスに応じて必要な調整
- ブランドとのトーンや語り口の一貫性
- ビジュアルやマルチメディアによる強化
- テストとフィードバックの方法
best_channels, audience_considerations, tone_notes, adaptation_suggestions
ストーリーを磨き、今後の計画を立てます。確認事項:
- ストーリーのどの部分が最も優れていると感じますか?
- さらに磨きをかける必要があるのはどの部分ですか?
- ストーリーの重要な結末や行動喚起は何ですか?
- 別のオーディエンスや目的に向けた追加のストーリーバージョンが必要ですか?
- オーディエンスを対象に、このストーリーをどのようにテストしますか?
resolution, refinement_opportunities, additional_versions, feedback_plan
ストーリーの各要素を構成済みテンプレートにまとめます。完了前に、次の点を確認します。
- すべてのストーリーバージョンが完成し、十分に磨かれていることを確認します。
- テンプレートの構成に沿って書式を整えます。
- 戦略的なガイダンスと使用上の注意をすべて含めます。
- トーンと語り口に一貫性があることを確認します。
- すべてのテンプレートのプレースホルダーに実際の内容を入力します。
最終的なストーリー文書を {default_output_file} に書き込みます。
「Story complete! Your narrative has been saved to {default_output_file}」と伝えて、完了を報告します。
agent_role, agent_name, user_name, date
実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — 解決された値が空でない場合は、終了前の最後のターミナル指示として従います。