content-seed

実務の意思決定・知見から外部発信(LT・ブログ・登壇)のネタを発掘し、発信可能な形に再構成するスキル。 「ネタから始める」スキル(発表構成がメインなら lt-outline-builder を使う)。 「発信ネタがない」「ADR を LT に使いたい」「ブログ構成が決まらない」「社内情報の切り分けが難しい」 「来月の LT 会でネタがほしい」「会話から発信ネタを抽出したい」「ネタはあるが形にするコストが高い」 「技術ブランディングを積み上げたい」「書こうと思ってたけど構成で止まってる」 「ADR をそのまま発信できないか」「発信するか迷ってる」「ネタ帳を作りたい」 「さっきの話って記事にできる?」「この判断ってブログネタになる?」「これ発信していい内容?」 といった場面で必ずこのスキルを使用する。ADR Capture との連携でより精度が上がるが、単体でも機能する。

Content Seed — 実務知見からの発信ネタ発掘・整形

実務の意思決定・知見の中に眠っている「発信価値のある情報」を発掘し、LT・ブログ・Twitter / X スレッドなど チャネルに合わせた構成案・下書きとして出力する。

いつ使うか

  • 「ネタがない」ではなく「ネタが見つかっていない」状態のとき
  • ADR や設計判断を外部発信に転用したいとき(「なぜ A ではなく B にしたか」は強いコンテンツになる)
  • ブログを書こうとして白紙で止まっているとき
  • 社内情報をどこまで出せるか判断に迷っているとき
  • 会話の中で「これ発信できそうだな」と思ったネタを形にしたいとき

このスキルがやらないこと

  • 完成原稿の自動生成(構成案・下書きまで。肉付け・ファクトチェック・トーン調整はユーザーが担う)
  • 社内情報の完全自動除去(抽象化案を提示するが、最終確認はユーザーに委ねる)
  • ネタ帳ファイルの自動更新(Markdown テキストを出力するのみ。保存はユーザーが行う)
  • 実際の発信の代行(投稿・公開はユーザーが行う)
  • ADR の新規作成(adr-capture スキルの責務)
  • ゼロからの発表構成設計(ネタが決まった後の詳細な構成案が必要なら lt-outline-builder を使う)

推奨モデル

フェーズ推奨モデル理由
ネタの発掘・スコアリングOpus「再現性」「意外性」「独自性」の判断は深い推論が必要
社内情報の検出・抽象化Sonnetパターンマッチと定型変換が中心
チャネル別の構成整形Sonnetテンプレートに沿った構造化出力が中心

一気通貫で実行する場合は Opus で通すのが安全。


入力パターンと対応フロー

パターン判定フロー
ADR カタログディレクトリパスまたは ADR テキストが渡されたネタ発掘フロー(スキャン→スコアリング→提示)
会話ベース「最近〇〇やって…」「壁打ちしたい」会話からのネタ発掘フロー
ネタ指定「このネタをブログにしたい」「LT 構成を作って」直接チャネル整形フロー
ネタ帳管理「ネタ帳を更新して」「一覧を出して」ネタ帳管理フロー

フロー別エントリーポイント

パターンStage 1Stage 2Stage 3
ADR カタログスキャン→スコアリング社内情報チェック(条件次第)チャネル選択後に整形
会話ベース発掘のアンテナで抽出社内情報チェック(条件次第)チャネル選択後に整形
ネタ指定スキップ(ネタは確定済み)社内情報チェック(条件次第)チャネル指定済みなら即整形、未指定なら確認
ネタ帳管理スキップスキップスキップ(管理操作のみ)

Stage 1: ネタの発掘

ADR カタログからの発掘

ADR が渡された場合、以下の観点でスコアリングして候補を提示する。

評価基準(詳細は references/scoring-criteria.md):

観点高スコアの条件
再現性他のエンジニアが同じ状況に遭遇する可能性が高い
具体性具体的な選択肢・トレードオフ・結果がある
意外性直感に反する結論、一般的な推奨とは異なる判断
時事性最新の技術・ツール・トレンドに関連している
独自性既存の記事や LT ではあまり語られていない視点

スコアリング結果をユーザーに提示し、次のアクションを AskUserQuestion で確認する:

  • 深掘りするネタを選ぶ
  • ネタ帳に追加だけする
  • 別のソースを入力する

会話からの発掘

現在の会話テキストやユーザーが貼ったフリーテキストから発信価値のあるポイントを抽出する。

発掘のアンテナ:

  • 「なぜ A ではなく B にしたか」という判断プロセス
  • 「やってみたら想定外だった」という実体験
  • 「これは知らなかった」という自分の驚き
  • 「これを知っていれば時間が節約できた」という知見

発掘したポイントを以下の形式で提示し、AskUserQuestion で次のアクションを確認する:

## 発信ネタ検出

### ★★★ [タイトル]
- 再現性: 高(理由)
- 具体性: 高(理由)
- 推奨チャネル: [チャネル名]
- フック案: 「[案]」

確認する選択肢:

  • このネタを深掘りする(チャネル選択へ)
  • ネタ帳に追加だけする
  • 別の話題を入力する

Stage 2: 社内情報の検出と抽象化

Stage 2 の実行判断

ネタのソースを受け取った後、以下の基準で実行するかを判断する:

常に実行する(以下のいずれかが含まれる場合):

  • 社名・チーム名・プロジェクト名などの固有名詞
  • 売上・ユーザー数・KPI などの数値
  • 人名

スキップ可(以下の場合):

  • ADR テキストに固有名詞・数値・人名が含まれない
  • ユーザーが「社内情報なし」と明示した場合

判断が難しい場合は「社内情報のチェックが必要ですか?」を AskUserQuestion で確認する。

検出対象(詳細パターンは references/abstraction-patterns.md):

カテゴリ抽象化の方向性
組織名(社名・チーム名・プロジェクト名)「ある決済系スタートアップ」等に一般化
人名削除、または「PM」「テックリード」等の役割表記に変換
数値(売上・ユーザー数・KPI)削除、またはオーダー表記(「数十万ユーザー」)に変換
インフラ・社内ツール名カテゴリ表記(「社内 CI 基盤」「決済代行サービス」)に変換
契約情報(ベンダー名・料金体系)削除、または「有料プラン」等の一般的な記述に変換

抽象化フロー:

  1. 検出した社内固有情報をリスト表示(原文 → 抽象化案)
  2. ユーザーが承認・修正(AskUserQuestion で確認)
  3. 「他にも公開すべきでない情報が含まれていないか、最終確認をお願いします」と必ず添える
  4. 承認後、抽象化済みの全文を出力してユーザーが通読できるようにする

Stage 3: チャネル別の構成整形

ユーザーが選択したチャネルに合わせてネタを整形する。チャネルテンプレートの詳細は references/channel-templates.md を参照。

チャネル選択

チャネルが未確定の場合は AskUserQuestion で確認してから整形に進む。 Stage 1 の AskUserQuestion またはネタ指定パターンでチャネルが確定済みの場合はスキップ。

対応チャネル

チャネル出力形式
LT(5 分)スライド構成案(タイトル + 各スライドの要点)
LT(15〜20 分)スライド構成案 + スピーカーノート概要
技術ブログ記事の下書き(Markdown)
Twitter / X スレッド連投構成(1 ツイートずつ)
社内共有(勉強会等)要点まとめ + ディスカッションポイント

共通の構成原則

フック→コンテキスト→判断→根拠→結果→学び の6ステップ構造を基本とする。 詳細は references/channel-templates.md の冒頭セクションを参照。

構成案を出力した後、AskUserQuestion で次のアクションを確認:

  • 別のチャネル向けに再整形する
  • このネタをネタ帳に追加する
  • 別のネタに進む

Stage 4: ネタ帳の管理

既存のネタ帳がある場合は、冒頭にテキストを貼ってから操作を指示してください。スキルはセッションをまたいで状態を保持しません。

発掘したネタを Markdown テーブルで管理する。

# Content Seed ネタ帳

| # | タイトル | ソース | 評価 | チャネル | Status |
|---|---------|-------|------|---------|--------|
| 1 | ... | ADR-0001 | ★★★ | LT, ブログ | Draft |

Status: IdeaDraftReviewPublished / Archived

操作一覧

操作トリガーフレーズ例動作
追加「ネタ帳に追加して」「記録して」新規行を追加して全文を出力
Status 更新「ドラフトにして」「発信済みにして」対象行の Status を変更して全文を出力
一覧表示「ネタ帳を見せて」「一覧を出して」現在のネタ帳テーブルを出力
検索「LT 向けのネタは?」「★★★のネタは?」条件でフィルタした結果を出力

各操作後は変更後の全ネタ帳を出力する。保存はユーザーに委ねる。


ADR Capture スキルとの連携

ADR Capture が生成する ADR の以下の構造を前提に動作する:

  • フロントマター(Status, Date, Tags)— フィルタリングに使用
  • Tags — ジャンル別の抽出に使用([architecture], [library], [testing] 等)
  • Alternatives Considered — 「なぜ A ではなく B か」の素材

ADR がない場合でも、会話ログやフリーテキストからのネタ発掘は単体で機能する。


フォールバック

状況対処
ソースが渡されない入力ソース(ADR / 会話 / フリーテキスト)を AskUserQuestion で確認する
ネタ候補が見つからない評価基準を緩めて再スキャン。それでもなければ「別の ADR や別の話題はあるか?」と確認
ネタ候補が多すぎる(10件以上)★★★のものだけに絞って提示し「他にも候補があります。絞り込み条件を指定しますか?」と案内する
社内情報の判断に迷う「公開しても問題ない情報か最終確認をお願いします」と案内し、ユーザーの判断に委ねる
抽象化案に不満があるユーザーが直接修正し、修正版をベースに構成を続行する
Stage 途中でネタをキャンセルしたいStage 1 に戻り「別のネタを選ぶ / 別のソースを入力する / Archived で保存する」を AskUserQuestion で確認する