mcpField
D
doc-coauthoring

doc-coauthoring

github.com/getsentryドキュメント1.1k2.2k 回インストール5 日前に更新
リポジトリ

doc-coauthoring について

doc-coauthoringは、提案書や仕様書、意思決定記録などの文書を共同で作成するためのガイド付きワークフローです。背景収集、章ごとの執筆、読者テストの3段階で進めます。

主な機能

  1. 013段階の文書作成ワークフロー
  2. 02質問による背景情報の収集
  3. 03章ごとのアイデア出しと改訂
  4. 04読者テストによる曖昧さや不足の発見

活用シーン

  1. 01共同で技術仕様書を作成
  2. 02断片的なプロジェクト情報から提案書を作成
  3. 03完成した文書の読者への分かりやすさを確認

MCP 対応

連携機能が利用できる場合、メッセージングや文書システムから背景情報を集められます。利用できない場合は、コネクターの有効化または内容の貼り付けを案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/getsentry/skills --skill doc-coauthoring

インストール後、Claude Code で/doc-coauthoringを入力して読み込まれたか確認します。

詳細

ドキュメント共同作成ワークフロー

このスキルでは、ドキュメントを共同で作成する際にユーザーを導くための、体系的なワークフローを提供します。コンテキストの収集、洗練と構成、読者テストという3つの段階を通じて、積極的にユーザーを導きます。

このワークフローを提案するタイミング

トリガーとなる条件:

  • ユーザーがドキュメントの執筆に言及した場合:「ドキュメントを書く」「提案書の草案を作る」「仕様書を作成する」「まとめを書く」
  • ユーザーが特定のドキュメントの種類に言及した場合:「PRD」「設計ドキュメント」「意思決定ドキュメント」「RFC」
  • ユーザーが大規模な執筆作業を始めようとしているように見える場合

最初の提案: ドキュメントを共同作成するための、体系的なワークフローをユーザーに提案します。次の3つの段階を説明します。

  1. コンテキストの収集:ユーザーが関連するコンテキストをすべて提供し、Claudeが明確化のための質問をします
  2. 洗練と構成:ブレインストーミングと編集を通じて、各セクションを反復的に作り上げます
  3. 読者テスト:他の人に読んでもらう前に、新しいClaude(コンテキストなし)でドキュメントをテストし、見落としがないか確認します

この方法により、他の人が読むとき(Claudeに貼り付けて読ませる場合を含む)に、ドキュメントがうまく機能するようになることを説明します。このワークフローを試すか、自由な形式で進めるかを尋ねます。

ユーザーが断った場合は、自由な形式で進めます。受け入れた場合は、ステージ1に進みます。

ステージ1:コンテキストの収集

目標: ユーザーが把握していることとClaudeが把握していることの隔たりを埋め、後の段階で的確に案内できるようにします。

最初の質問

まず、ドキュメントに関するメタコンテキストをユーザーに尋ねます。

  1. これはどのような種類のドキュメントですか?(例:技術仕様書、意思決定ドキュメント、提案書)
  2. 主な読者は誰ですか?
  3. 読んだ人にどのような影響を与えたいですか?
  4. 従うべきテンプレートや特定の形式はありますか?
  5. ほかに把握しておくべき制約やコンテキストはありますか?

簡潔に答えても、答えやすい方法で情報をまとめて伝えてもよいと伝えます。

ユーザーがテンプレートを提示した場合、またはドキュメントの種類に言及した場合:

  • 共有できるテンプレートドキュメントがあるか尋ねます
  • 共有ドキュメントへのリンクが提示された場合は、適切な連携機能を使って取得します
  • ファイルが提示された場合は、それを読みます

ユーザーが既存の共有ドキュメントの編集に言及した場合:

  • 適切な連携機能を使って現在の内容を読み取ります
  • 代替テキストがない画像がないか確認します
  • 代替テキストのない画像がある場合、他の人がClaudeを使ってドキュメントの内容を理解しようとしても、Claudeには画像が見えないことを説明します。代替テキストを生成するか尋ねます。希望する場合は、説明的な代替テキストを生成できるよう、各画像をチャットに貼り付けてもらいます。
情報の一括共有

最初の質問に回答したら、ユーザーに手元にあるコンテキストをすべて共有してもらうよう促します。次のような情報を求めてください。

  • プロジェクトや問題の背景
  • 関連するチーム内の議論や共有ドキュメント
  • 代替ソリューションを採用していない理由
  • 組織的な背景(チームの力学、過去のインシデント、政治的な事情)
  • スケジュール上のプレッシャーや制約
  • 技術アーキテクチャや依存関係
  • ステークホルダーの懸念

情報を整理する必要はないと伝え、とにかくすべて共有してもらいます。コンテキストを提供する方法を複数提示してください。

  • 思いつくままに情報を一括共有する
  • 確認してほしいチームのチャンネルやスレッドを示す
  • 共有ドキュメントへのリンクを提示する

インテグレーションが利用できる場合(Slack、Teams、Google Drive、SharePoint、その他の MCP サーバーなど)、それらを使ってコンテキストを直接取得できることを伝えます。

インテグレーションが検出されず、Claude.ai または Claude アプリを使用している場合: Claude の設定でコネクタを有効にすれば、メッセージングアプリやドキュメントストレージからコンテキストを直接取得できることを提案します。

最初の情報共有が終わったら、明確化のための質問をすることを伝えます。

コンテキストを収集している間:

  • ユーザーがチームのチャンネルや共有ドキュメントに言及した場合:

    • インテグレーションが利用できる場合:これから内容を確認すると伝え、適切なインテグレーションを使用します
    • インテグレーションが利用できない場合:アクセスできないことを説明します。Claude の設定でコネクタを有効にするか、関連する内容を直接貼り付けるよう提案します。
  • ユーザーが不明な組織やプロジェクトに言及した場合:

    • 接続済みのツールを検索して詳細を確認するか尋ねます
    • 検索する前にユーザーの確認を待ちます
  • ユーザーがコンテキストを提供するたびに、把握できたことと、まだ不明なことを記録します

明確化のための質問:

ユーザーが最初の情報共有を終えたと示したとき(または十分なコンテキストが提供された後)に、理解を確かなものにするための明確化の質問をします。

コンテキストの不足箇所に基づいて、番号付きの質問を5〜10個作成します。

回答には省略形を使ってもよいこと(例:「1:はい、2:#channel を参照、3:後方互換性のため不可」)、ドキュメントへのリンクを共有したり、確認してほしいチャンネルを示したり、情報共有を続けたりしてもよいことを伝えます。最も効率的な方法を選んでもらいます。

終了条件: 質問を通じて理解が示され、基礎的な事項の説明を求めなくても、エッジケースやトレードオフについて質問できる段階に達したら、十分なコンテキストが集まったと判断します。

次の段階への移行: この段階で追加のコンテキストがあるか、またはドキュメントの作成に進む準備ができているかを尋ねます。

ユーザーが追加を希望する場合は、その内容を受け取ります。準備ができたら、ステージ2に進みます。

ステージ 2:洗練と構成

目標: ブレインストーミング、取捨選択、反復的な改善を通じて、セクションごとにドキュメントを作成します。

ユーザーへの指示: ドキュメントをセクションごとに作成していくことを説明します。各セクションでは、次の手順を進めます。

  1. 含める内容について確認の質問をします
  2. 5~20 個の案をブレインストーミングします
  3. 残す項目、削除する項目、統合する項目をユーザーに選んでもらいます
  4. セクションの草案を作成します
  5. 細部を慎重に編集しながら改善します

不明点が最も多いセクション(通常は中心となる決定事項や提案)から始め、その後、残りのセクションに取り組みます。

セクションの順序:

ドキュメントの構成が明確な場合: どのセクションから始めたいかを尋ねます。

不明点が最も多いセクションから始めることを提案します。意思決定ドキュメントの場合は、通常、中心となる提案です。仕様書の場合は、一般に技術的なアプローチです。要約セクションは最後に作成するのが最適です。

必要なセクションがわからない場合: ドキュメントの種類とテンプレートに基づき、その種類に適したセクションを 3~5 個提案します。

この構成で問題ないか、調整したい点があるかを尋ねます。

構成が合意されたら:

すべてのセクションにプレースホルダーテキストを入れた、ドキュメントの初期構成を作成します。

アーティファクトを利用できる場合: create_file を使用してアーティファクトを作成します。これにより、Claude とユーザーの両方が作業に使える土台ができます。

すべてのセクションにプレースホルダーを入れた初期構成を作成することを伝えます。

すべてのセクション見出しと、「[作成予定]」や「[ここに内容を記載]」のような簡潔なプレースホルダーテキストを含むアーティファクトを作成します。

土台へのリンクを提示し、各セクションの内容を埋めていく段階であることを伝えます。

アーティファクトを利用できない場合: 作業ディレクトリに Markdown ファイルを作成します。適切な名前を付けます(例:decision-doc.md、technical-spec.md)。

すべてのセクションにプレースホルダーを入れた初期構成を作成することを伝えます。

すべてのセクション見出しとプレースホルダーテキストを含むファイルを作成します。

ファイル名を伝え、各セクションの内容を埋めていく段階であることを伝えます。

各セクションについて:

ステップ 1:確認の質問

[SECTION NAME] セクションに取り組み始めることを伝えます。何を含めるべきかについて、確認の質問を 5~10 個します。

セクションの目的と文脈に基づいて、具体的な質問を 5~10 個作成します。

簡潔な回答でも、重要な点を示すだけでもよいことを伝えます。

ステップ 2:ブレインストーミング

[SECTION NAME] セクションについて、複雑さに応じて含める内容の候補を 5~20 個ブレインストーミングします。次の点を探します。

  • 共有されていたものの、忘れられている可能性のある背景情報
  • まだ触れられていない観点や考慮事項

セクションの複雑さに応じて、候補を 5~20 個、番号付きで提示します。最後に、追加の候補が必要なら、さらにブレインストーミングできることを伝えます。

ステップ 3:取捨選択

どの項目を残すか、削除するか、統合するかを尋ねます。次のセクションでも優先事項を把握できるよう、簡単な理由も添えてもらいます。

次のような例を示します。

  • 「1、4、7、9 を残す」
  • 「3 を削除(1 と重複)」
  • 「6 を削除(対象読者はすでに知っている)」
  • 「11 と 12 を統合」

ユーザーが番号で選ぶ代わりに自由形式でフィードバックをした場合(例:「よさそうです」や「ほとんど気に入りましたが……」)、その希望をくみ取って進めます。残したい点、削除したい点、変更したい点を整理して反映します。

ステップ 4:不足点の確認

選択された内容に基づいて、[SECTION NAME] セクションに含めるべき重要な内容で、まだ不足しているものがないか尋ねます。

ステップ 5:草案の作成

str_replace を使用して、このセクションのプレースホルダーテキストを実際に作成した内容に置き換えます。

選択内容に基づいて、[SECTION NAME] セクションの草案を作成することを伝えます。

アーティファクトを使用する場合: 草案を作成した後、アーティファクトへのリンクを提示します。

内容に目を通し、変更したい点を伝えるよう依頼します。具体的に伝えると、次のセクションでの学習に役立つことを説明します。

ファイルを使用する場合(アーティファクトなし): 作成が完了したことを伝えます。

[filename] に [SECTION NAME] セクションの草案を作成したことを伝え、内容に目を通して変更したい点を知らせるよう依頼します。具体的に伝えると、次のセクションでの学習に役立つことを説明します。

ユーザーへの重要な指示(最初のセクションの草案作成時に含める): ドキュメントを直接編集するのではなく、変更したい点を伝えるよう依頼する注意書きを加えます。そうすることで、今後のセクションに向けてユーザーの文体を学習できます。たとえば、「X の箇条書きを削除してください。Y ですでに説明されています」や「3 段落目をもっと簡潔にしてください」のように伝えてもらいます。

ステップ 6:反復的な修正

ユーザーからフィードバックがあった場合:

  • str_replace を使用して編集します(ドキュメント全体を再出力しないでください)。
  • アーティファクトを使用している場合: 編集のたびにアーティファクトへのリンクを提示します。
  • ファイルを使用している場合: 編集が完了したことだけを伝えます。
  • ユーザーがドキュメントを直接編集して内容を確認するよう依頼した場合は、編集内容を把握し、今後のセクションに反映します(ユーザーの好みを示すことにつながります)。

ユーザーがセクションに満足するまで、修正を続けます。

品質チェック

実質的な変更がない状態で 3 回連続してやり取りした後、重要な情報を損なわずに削除できる内容があるか尋ねます。

セクションが完成したら、[SECTION NAME] が完了したことを伝え、次のセクションに進んでよいか尋ねます。

すべてのセクションで繰り返します。

完了間近

セクションの 80% 以上が完成した段階で、ドキュメント全体を読み直し、次の点を確認することを伝えます。

  • セクション間の流れと一貫性
  • 重複や矛盾
  • 「粗雑な文章」や一般的すぎる埋め草に感じる箇所
  • すべての文に意味があるか

ドキュメント全体を読み、フィードバックを提示します。

すべてのセクションの草案作成と修正が完了したら: すべてのセクションの草案が完成したことを伝えます。ドキュメント全体をもう一度確認する意向を示します。

全体の一貫性、流れ、網羅性を確認します。

最終的な提案があれば提示します。

リーダーテストに進む準備ができているか、またはほかに修正したい点があるか尋ねます。

ステージ 3:リーダーテスト

目標: 新しい Claude(会話の文脈を引き継がない状態)でドキュメントをテストし、読者にとって実用的か確認します。

ユーザーへの指示: ドキュメントが読者にとって実際に役立つか確認するため、テストを行うことを説明します。これにより、作成者には明らかでも、ほかの人にはわかりにくい点など、見落としを見つけられます。

テスト方法

サブエージェントを利用できる場合(例:Claude Code):

ユーザーの関与なしに、テストを直接実施します。

ステップ 1:読者の質問を予測する

読者がこのドキュメントを探す際にどのような質問をするか予測することを伝えます。

読者が実際に尋ねそうな質問を 5〜10 個作成します。

ステップ 2:サブエージェントでテストする

これらの質問を、新しい Claude インスタンス(この会話の文脈なし)でテストすることを伝えます。

各質問について、ドキュメントの内容と質問だけを渡してサブエージェントを呼び出します。

Reader Claude が各質問に正しく答えた点と、誤った点を要約します。

ステップ 3:追加チェックを実施する

追加チェックを実施することを伝えます。

曖昧さ、誤った前提、矛盾がないか、サブエージェントに確認させます。

見つかった問題を要約します。

ステップ 4:報告して修正する

問題が見つかった場合: Reader Claude が特定の問題でつまずいたことを報告します。

具体的な問題を列挙します。

これらの不足を修正することを伝えます。

問題のあるセクションの修正に戻ります。


サブエージェントを利用できない場合(例:claude.ai のウェブインターフェース):

ユーザーが手動でテストする必要があります。

ステップ 1:読者が尋ねる質問を予測する

このドキュメントを見つけようとする人が、どのような質問をするか考えてください。Claude.ai にはどのように入力するでしょうか?

読者が現実に尋ねそうな質問を 5~10 個作成してください。

ステップ 2:テストの準備

テスト手順を提示してください。

  1. 新しい Claude の会話を開きます:https://claude.ai
  2. ドキュメントの内容を貼り付けるか共有します(コネクターが有効な共有ドキュメントプラットフォームを使う場合は、リンクを提示します)
  3. Reader Claude に、作成した質問を尋ねます

それぞれの質問について、Reader Claude に以下を回答するよう指示してください。

  • 回答
  • 曖昧または不明瞭な点があったかどうか
  • このドキュメントが、読者はすでに知っていると想定している知識や背景情報

Reader Claude が正しく回答できているか、または何かを誤解していないか確認してください。

ステップ 3:追加の確認

Reader Claude に、以下の質問もしてください。

  • 「このドキュメントで、読者にとって曖昧または不明瞭な可能性があるのはどの部分ですか?」
  • 「このドキュメントは、読者がすでに持っていると想定している知識や背景情報は何ですか?」
  • 「内部に矛盾や一貫性のない箇所はありますか?」
ステップ 4:結果に基づいて反復する

Reader Claude が誤った回答をした点や、うまく対応できなかった点を尋ねてください。そうした不足を修正する意向を伝えてください。

問題のあるセクションがあれば、改善のための見直しに戻ります。


終了条件(どちらの方法でも)

Reader Claude が一貫して質問に正しく回答し、新たな不足や曖昧さを指摘しなくなったら、ドキュメントの準備は完了です。

最終確認

Reader Testing に合格したら: ドキュメントが Reader Claude のテストに合格したことを伝えてください。完了する前に、以下を行います。

  1. 最終的に自分でも読み返すよう勧めます。このドキュメントの所有者はユーザーであり、品質に責任を負うのはユーザーです。
  2. 事実、リンク、技術的な詳細を再確認するよう提案します。
  3. ドキュメントが意図した効果を実現しているか確認するよう求めます。

もう一度見直すか、作業を完了するか尋ねてください。

ユーザーが最終確認を希望する場合は、実施してください。それ以外の場合は: ドキュメントが完成したことを伝えてください。最後に、いくつかのヒントを提示します。

  • 読者がドキュメントの作成過程を確認できるよう、この会話を付録にリンクすることを検討してください。
  • 本文を長くしすぎずに内容を掘り下げるには、付録を活用してください。
  • 実際の読者からフィードバックを受けたら、ドキュメントを更新してください。

効果的なガイダンスのヒント

トーン:

  • 直接的かつ手順に沿って伝えます。
  • ユーザーの行動に影響する場合は、その理由を簡潔に説明します。
  • この方法を「売り込もう」とせず、淡々と実行します。

手順からの逸脱への対応:

  • ユーザーが工程を省略したい場合:この工程を省略して自由形式で進めるか尋ねます。
  • ユーザーが苛立っているように見える場合:想定より時間がかかっていることを認めます。より早く進める方法を提案します。
  • 常にユーザーがプロセスを調整できるようにします。

コンテキストの管理:

  • 途中で言及された内容の背景情報が不足している場合は、先回りして尋ねます。
  • 不足を積み重ねず、発生した時点で対処します。

成果物の管理:

  • セクション全体の草案作成には create_file を使用します。
  • すべての編集に str_replace を使用します。
  • 変更のたびに成果物へのリンクを提示します。
  • ブレインストーミングのリストには成果物を使用しません。それは会話内で行います。

スピードより品質を優先:

  • 工程を急いで進めないでください。
  • 反復のたびに、意味のある改善を行ってください。
  • 目標は、読者に実際に役立つドキュメントです。

クレジット

このスキルは anthropics/skills をもとに作成されました。

コメント