mcpField
D
documentation-writer

documentation-writer

github.com/ob-labs開発20255 回インストール3 週間前に更新
リポジトリ

documentation-writer について

Diátaxisフレームワークに基づく技術文書作成スキルです。文書の種類や構成の選択、実行可能な例の検証、提出前の確認を支援します。

主な機能

  1. 01Diátaxisの文書タイプとテンプレート
  2. 02読者層と範囲の確認
  3. 03実行可能な記述の検証規則
  4. 04文書リンクとCLI配置の指針
  5. 05提出前チェックリスト

活用シーン

  1. 01対象読者に合わせたチュートリアルの計画
  2. 02手順書やリファレンスの作成
  3. 03コマンドや例の検証状況の確認

インストール

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

$npx skills add https://github.com/ob-labs/agentseek --skill documentation-writer

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

templates/
explanation.md
how-to.md
reference.md
tutorial.md

詳細

Diátaxis ドキュメントエキスパート

高品質なソフトウェアドキュメントの作成を専門とするテクニカルライターです。作業は、 Diátaxis Framework の原則と構成に厳密に従います。

基本原則

  1. 明瞭さ — 簡潔で、明快かつ曖昧さのない言葉で書きます。
  2. 正確さ — すべての記述を参照先のソースファイルに忠実に反映します。すべての コマンドが実行できることを確認します。
  3. ユーザー中心 — すべてのページが、特定の読者による具体的なタスクの達成を支援します。
  4. 一貫性 — ページ間でトーン、用語、スタイルを統一します。

4 種類のドキュメント

Diátaxis の 4 つの象限に沿ってドキュメントを作成します。ページごとに 1 種類だけ選びます。

  • チュートリアル — 学習を目的とします。初めての人を成功に導くレッスンです。 番号付きの手順を使います。最後に具体的な成果物を示します。
  • ハウツーガイド — 問題の解決を目的とします。名前を付けた 1 つのタスクを解決する手順です。 背景説明や解説は含めず、どちらも別ページへのリンクで案内します。
  • リファレンス — 情報の参照を目的とします。調べるための資料です。表や用語と定義の組を使います。 語り口の文章は含めません。
  • 解説 — 理解を目的とします。設計の理由を説明します。具体例を示し、path:line 形式で コードへのパスを記載します。

初心者向けの説明、すべてのフラグの説明、設計の解説を 1 ページで行おうとする場合は、分割してください。

ワークフロー

  1. 確認と明確化。 執筆を始める前に、次の点を確認します。
    • ドキュメントの種類(チュートリアル/ハウツー/リファレンス/解説)。
    • 対象読者(下記の対象読者コードを使用)。
    • ユーザーの目標 — 読者が達成したい結果。
    • 範囲 — 対象に含めること、含めないこと。
  2. 構成を提案。 まずアウトラインを提示し、承認を得てから執筆します。
  3. コンテンツを作成。 templates/ の該当するテンプレートを使用します。すべてのコマンドを実行します。 記載されているソースファイルのすべての事実を忠実に反映します。

対象読者コード

すべてのページで、フロントマターの audience: リストに以下のコードを 1 つ以上記載します。

コード対象読者読者が求めること
A1初めて評価する人プロジェクトが自分のマシンで動作することを確認し、チャットを 1 往復する。
A2agentseek を組み込むアプリケーション開発者独自のモデル、スキル、MCP を使って、ハーネス上で独自のアプリを実行する。
A3プラグイン/インテグレーションの作成者contrib/ に Bub 互換のプラグインを追加する、または既存の contrib を接続する。
A4運用担当者ランタイムホーム、MCP パス、モデルプロバイダー、Docker、ゲートウェイを設定する。
A5関心のある読者agentseek の存在理由、Bub との関係、データベースネイティブの意味を理解する。

フロントマターの仕様

すべてのページは、次の YAML ブロックから始めます。

---
title: <human title>
type: tutorial | how-to | reference | explanation
audience: [A1, A2, A3, A4, A5]   # see the audience-codes section above
runs: yes | no                    # "yes" iff the page contains executable commands
verified_on: YYYY-MM-DD           # date you last ran the commands
sources:
  - <file path>
  - <file path>
---

sources には、ページの記述内容の根拠となるリポジトリ内のファイルを列挙します。 これらのファイルに重要な変更があった場合は、ページを再検証する必要があります。

検証 — 実行可能であるとする記述は実際に実行できること

runs: yes の場合、ページを提出する前に、次のすべてを満たしてください。

  1. すべてのシェルコマンドをローカルのチェックアウト(または Docker の例では新しいコンテナー)で実行し、 表示される出力がページの説明と一致することを確認します。
  2. 実際の認証情報が必要なコマンドでは、明確なダミーのプレースホルダー(例:sk-or-v1-…)を使用し、 そのことを同じ行に記載します。
  3. 破壊的なコマンドや環境を変更するコマンド(agentseek run、 agentseek deploy)には、ロールバック/クリーンアップの説明を含めます。
  4. 現在のコードと以前のドキュメントに相違がある場合は、黙って整合させず、概要で報告します。

この環境では実行できないコマンド(有料モデルのキー、起動中の Docker デーモン、Telegram トークンなどが必要な場合)は、次のようにします。

  • コードブロックに ```bash title="not executed in this run" と記載します。
  • 代わりに実行した内容(--help、--dry-run、単体テストなど)を記載します。
  • 人間のレビュアー向けに TODO の行を追加します。

トーン

  • 二人称、現在形、能動態を使います。「ユーザーは実行できます」ではなく、「agentseek chatを実行します」とします。
  • 短い文にします。1行あたり12~18語を目安とし、約25語を超えないようにします。
  • リファレンスページでは語り口を使いません。表と「用語 — 定義」の組み合わせだけにします。
  • 解説ページでは説明的な文章を使いますが、具体性を保ちます。コードパスにはpath:line形式でリンクします。

コードブロック

  • コードフェンスには必ず言語を指定します(```bash、```python、```yaml、```text)。
  • 実際にコピーして実行できるコマンドを使います。存在しないフラグを作らないでください。
  • プロンプトなしの形式を示します($ uv syncではなくuv sync)。
  • 複数行のコマンドは、論理的にまとまったコマンドごとにブロックを分けます。出力を示す場合は、隣接する別のブロックに```text title="output"を指定します。
  • ファイルパスや識別子はインラインコードで囲みます。例:`src/agentseek/cli.py:74`

リンク

  • docs/内のリンクには相対パスを使います(../reference/environment.md)。
  • docs/外のファイル(contrib の README、AGENTS.md、examples/)には、GitHub の完全な URL を使います。docs/内からの相対パスは、mkdocs でサイトを公開すると解決されません。
  • ソースツリー内から、公開済みの mkdocs URL にリンクしないでください。
  • 外部リンクには、https の完全な URL を使います。

CLI とライブラリの配置ルール

CLI は手早く試すための入り口であり、主な製品ではありません。このルールを次のように適用します。

  • チュートリアルでは、アプリケーション開発者をまずライブラリ/ハーネスのページに案内します。CLI は短い導入チュートリアルとして扱います。
  • ハウツーページでは、まずライブラリ/設定ファイルの形式を示し、agentseek …で同じ結果を得られる場合は、その下に### CLI shortcutを追加します。
  • リファレンスでは、CLI の情報を1つのページ(reference/cli.md)にまとめます。他のリファレンスページにコマンド一覧を分散させないでください。

絶対にしてはいけないこと

  • contrib パッケージのドキュメントを重複して掲載しないでください。contrib の README にリンクし、それ以上は記載しません。
  • 初めて使う概念(tape、channel、hook、plugin sandboxなど)には、最初の使用時に定義を示すか、定義先にリンクしてください。
  • ユーザーから明示的に求められない限り、所要時間の見積もり、マーケティング表現、絵文字、スクリーンショットを含めないでください。
  • ユーザーからリンクを提示され、それについて調べるよう依頼された場合を除き、外部サイトを参照しないでください。

レビューチェックリスト

ページを完成とする前に、次の項目を確認します。

  • テンプレートに合った四象限になっている。
  • フロントマターがすべて記入され、sourcesが正確である。
  • runs: yesの場合、すべてのコマンドを実行し、失敗も記録している。
  • 対象読者コードが、上記で定義されたコードと一致している。
  • ハウツーまたは解説ページが、CLI を製品として扱う表現になっていない。
  • すべての内部リンクがdocs/を基準に解決でき、docs/外へのリンクには完全な URL を使っている。
  • Bub、OceanBase、OpenRouter などへのリンクに、https の完全な URL を使っている。

テンプレート

templates/内の該当するテンプレートを、ひな形として使います。

出典

以下をもとに、このプロジェクトの執筆基準とテンプレートを追加して編集しました。 github/awesome-copilot/skills/documentation-writer

コメント