mcpField
L
ln-130-tasks-docs-creator

ln-130-tasks-docs-creator

github.com/levnikolaevichドキュメント584373 回インストール2 日前に更新
リポジトリ

ln-130-tasks-docs-creator について

タスク管理ドキュメントを作成・検証するスキルです。単独でもドキュメントパイプラインからでも使え、Linear、GitHub、ファイル形式のトラッカーに応じた設定を扱います。

主な機能

  1. 01タスクワークフロードキュメントの作成
  2. 02トラッカー別のカンバン情報設定
  3. 03ドキュメント構造と内容の検証
  4. 04プロバイダー設定とプレースホルダーの確認

活用シーン

  1. 01プロジェクトのタスク管理ルールの文書化
  2. 02カンバンボードのトラッカー情報設定
  3. 03既存タスクドキュメントの不足確認

インストール

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-130-tasks-docs-creator

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

同梱ファイル

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

references/
coordinator_summary_contract.md
docs_generation_summary_contract.md
docs_quality_contract.md
docs_quality_rules.json
docs_quality_rules.json.SOURCE.md
markdown_read_protocol.md
questions.md
storage_mode_detection.md
references/templates/
kanban_board_template.md
tasks_readme_template.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリを基準とした相対パスです。

タイプ: L2 Worker カテゴリー: 1XX Documentation Pipeline

タスクドキュメント作成ツール

このスキルは、タスク管理ドキュメント(docs/tasks/README.md(タスク管理システムのルール)および docs/tasks/kanban_board.md(Epic Story Counters を含む、設定済みトラッカーとの連携)を作成します。

目的

タスク管理ドキュメント(docs/tasks/)を作成して検証します。ワークフローのルールを記載した README.md と、設定されたプロバイダー(linear/github/file)に適応するトラッカー連携を備えた kanban_board.md を生成します。これには、プロバイダー固有の設定を対話形式で行う手順も含まれます。

このスキルを使用する場合

このスキルは L2 WORKER であり、ln-100-documents-pipeline オーケストレーターから呼び出されるか、単独で使用されます。

次の場合にこのスキルを使用します。

  • タスク管理ドキュメント(docs/tasks/)を作成する
  • トラッカーとの連携およびカンバンボードを設定する
  • 既存のタスクドキュメントの構造と内容を検証する
  • プロバイダー固有のトラッカー設定を行う(linear:Team Name/UUID/Key、github:repository/project_number、file:なし)

ワークフローの一部: ln-100-documents-pipeline → ln-110-project-docs-coordinator → ln-120-reference-docs-creator → ln-130-tasks-docs-creator → ln-140-test-docs-creator(任意)

ワークフロー

このスキルは、3 フェーズのワークフロー(作成 → 構造の検証 → 内容の検証)に従います。

必須の読み込み: references/docs_quality_contract.md と references/markdown_read_protocol.md を読み込みます。 ルールカタログは任意です。正確なルール ID、パスのマトリックス、または許可リストに登録されたプレースホルダーの例外が必要な場合にのみ、references/docs_quality_rules.json を読み込みます。

フェーズ 1:作成 — SCOPE タグ、ワークフローのルール、設定済みトラッカーとの連携を含むテンプレートから tasks/README.md を作成します フェーズ 2:構造の検証 — 構造上の違反(SCOPE タグ、セクション、Maintenance、POSIX)を自動修正します フェーズ 3:内容の検証 — 意味的な内容と、プロバイダーに応じた Tracker Configuration の処理を検証します(プレースホルダーの検出、プロバイダー固有のフィールド検証、対話形式のユーザープロンプト)。未解決のプレースホルダーは、セットアップ中に限り docs/tasks/README.md と docs/tasks/kanban_board.md で使用できます。公開する成果物には、ほかのドキュメントも含め、未解決のマーカーを残さないでください。


フェーズ 1:tasks/README.md の作成

目的: テンプレートからタスク管理システムのドキュメントを作成します。

実行タイミング: 常に実行(最初のフェーズ)

手順:

  1. tasks/README.md が存在するか確認します:

    • Glob ツールを使用します:pattern: "docs/tasks/README.md"
    • ファイルが存在する場合:
      • 作成をスキップします
      • ログに記録します:✓ docs/tasks/README.md already exists (preserved)
      • フェーズ 2 に進みます
    • 存在しない場合:
      • ステップ 2 に進みます
  2. tasks ディレクトリを作成します:

    • docs/tasks/ ディレクトリが存在しない場合は作成します
  3. テンプレートから tasks/README.md を作成します:

    • 必須の読み込み: references/templates/tasks_readme_template.md を読み込みます
    • テンプレートを docs/tasks/README.md にコピーします
    • プレースホルダーを置き換えます:
      • {{DATE}} → 現在の日付(YYYY-MM-DD)
    • テンプレートには次の内容が含まれます:
      • 共通ヘッダーの完全な契約(SCOPE、DOC_KIND、DOC_ROLE、READ_WHEN、SKIP_WHEN、PRIMARY_SOURCES)
      • ストーリーレベルのテストタスクパターン
      • カンバンボードの構造(Epic Grouping Pattern)
      • Linear との連携(MCP メソッド)
      • Quick Navigation、Agent Entry、Maintenance の各セクション
  4. ユーザーに通知します:

    • 作成した場合:✓ Created docs/tasks/README.md with task management rules
    • スキップした場合:✓ docs/tasks/README.md already exists (preserved)

出力: docs/tasks/README.md(作成済み、または既存)


フェーズ 2:構造の検証

目的: tasks/README.md と kanban_board.md が構造上の要件に準拠していることを確認します。違反は自動修正します。

実行タイミング: フェーズ 1 の完了後(ファイルが存在する、または作成された後)

手順:

2.1 SCOPE タグを検証する

確認するファイル:docs/tasks/README.md、docs/tasks/kanban_board.md(存在する場合)

各ファイルについて:

  1. 冒頭のブロックを読みます
  2. `` タグとメタデータマーカーを確認します
  3. 期待値:
    • tasks/README.md:``
    • kanban_board.md:``
  4. 不足している場合:
    • Edit ツールを使用して、最初の見出しの後に SCOPE タグを追加します
    • 記録:⚠ Auto-fixed: Added missing SCOPE tag to {filename}
2.2 必須セクションを検証する

必ず読むこと: 検証仕様(セクション名、ヒューリスティック、特別な処理ルール)を確認するため、references/questions.md を読み込みます。

tasks/README.md の場合:

  • 必須セクション(questions.md に記載):
    • 「Linear Integration」または「Core Concepts」(Linear MCP メソッド)
    • 「Task Workflow」または「Critical Rules」(状態遷移)
    • 「Task Templates」(テンプレートへの参照)
  • 各セクションについて:
    • セクション見出しが存在するか確認します(大文字と小文字を区別しません)
    • 不足している場合:
      • Edit ツールを使用して、具体的なガイダンスを最小限追加するか、明示的な空の状態を示す注記を付けてセクションを追加します
      • 記録:⚠ Auto-fixed: Added missing section '{section}' to tasks/README.md

kanban_board.md の場合(存在する場合):

  • 必須セクション:
    • 「Linear Configuration」(チーム名、UUID、キー)
    • 「Work in Progress」または「Epic Tracking」(カンバンセクション)
  • 各セクションについて:
    • セクション見出しが存在するか確認します
    • 不足している場合:
      • Edit ツールを使用して、プレースホルダーを含むセクションを追加します
      • 記録:⚠ Auto-fixed: Added missing section '{section}' to kanban_board.md
2.3 Maintenance セクションを検証する

確認するファイル:docs/tasks/README.md、docs/tasks/kanban_board.md(存在する場合)

各ファイルについて:

  1. 最後の20行に ## Maintenance 見出しがあるか検索します
  2. 見つからない場合:
    • Edit ツールを使用して、ファイルの末尾に追加します:
      ## Maintenance
      
      **Update Triggers:**
      - When Linear workflow changes
      - When task templates are added/modified
      - When label taxonomy changes
      
      **Last Updated:** {current_date}
      
    • 記録:⚠ Auto-fixed: Added Maintenance section to {filename}
2.4 POSIX 改行を検証する

確認するファイル:docs/tasks/README.md、docs/tasks/kanban_board.md(存在する場合)

各ファイルについて:

  1. ファイルの末尾が単一の改行文字で終わっているか確認します
  2. ない場合:
    • Edit ツールを使用して、末尾に改行を追加します
    • 記録:⚠ Auto-fixed: Added POSIX newline to {filename}
2.5 検証の概要を報告する

概要を記録します:

✓ Structure validation completed:
  tasks/README.md:
    - SCOPE tag: [added/present]
    - Required sections: [count] sections [added/present]
    - Maintenance section: [added/present]
    - POSIX endings: [fixed/compliant]
  kanban_board.md:
    - SCOPE tag: [added/present/skipped - file not exists]
    - Required sections: [count] sections [added/present/skipped]
    - Maintenance section: [added/present/skipped]
    - POSIX endings: [fixed/compliant/skipped]

違反が見つかった場合:⚠ Auto-fixed {total} structural violations

出力:構造的に有効なタスク管理ドキュメント


フェーズ 3:内容を検証する

目的:各セクションが検証用の質問に対し、意味のある内容で回答していることを確認します。Linear Configuration には特別な処理(プレースホルダーの検出、ユーザーへの確認、UUID/チームキーの検証)を適用します。

実行タイミング:フェーズ 2 の完了後(構造が有効で、自動修正が適用された後)

手順:

3.1 検証仕様を読み込む

必ず読むこと: references/questions.md を読み込み、セクションを解析して検証ヒューリスティックを抽出します。

3.2 kanban_board.md → Linear 設定の検証(特別な処理)

質問:「Linear のチーム設定は何ですか?」

ステップ 3.2.1:kanban_board.md が存在するか確認する:

  • Glob ツールを使用します:pattern: "docs/tasks/kanban_board.md"
  • 存在しない場合:
    • ログに記録します:ℹ kanban_board.md not found - skipping Linear Configuration validation
    • ステップ 3.3 に進みます
  • 存在する場合:
    • ステップ 3.2.2 に進みます

ステップ 3.2.2:Linear Configuration セクションを読み取る:

  • docs/tasks/kanban_board.md を読み取ります
  • ## Linear Configuration セクションを探します
  • Team Name、Team UUID、Team Key の値を抽出します

ステップ 3.2.3:プレースホルダーを検出する:

プレースホルダーを確認します:

Pattern: [TEAM_NAME], [TEAM_UUID], [TEAM_KEY]
If ANY placeholder present → Interactive Setup Mode
If NO placeholders present → Validation Mode

対話型セットアップモード(プレースホルダーが検出された場合):

  1. ユーザーに Team Name を尋ねます:

    • 質問:「Linear のチーム名は何ですか?」
    • 検証:空でない文字列
    • 例:「My Project Team」
  2. ユーザーに Team UUID を尋ねます:

    • 質問:「Linear のチーム UUID は何ですか?」
    • 形式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    • 検証用正規表現:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
    • 無効な場合:
      • エラーを表示します:「UUID の形式が無効です。期待される形式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(小文字の 16 進数)」
      • ユーザーに再度尋ねます
    • 例:「a1b2c3d4-e5f6-7890-abcd-ef1234567890」
  3. ユーザーに Team Key を尋ねます:

    • 質問:「Linear のチームキー(大文字 2~4 文字)は何ですか?」
    • 形式:大文字 2~4 文字
    • 検証用正規表現:/^[A-Z]{2,4}$/
    • 無効な場合:
      • エラーを表示します:「Team Key の形式が無効です。期待される形式:大文字 2~4 文字(例:PROJ、WEB、API)」
      • ユーザーに再度尋ねます
    • 例:「PROJ」
  4. プレースホルダーを置き換えます:

    • Edit ツールを使用して kanban_board.md 内の以下を置き換えます:
      • [TEAM_NAME] → {user_team_name}
      • [TEAM_UUID] → {user_team_uuid}
      • [TEAM_KEY] → {user_team_key}
      • [WORKSPACE_URL] → https://linear.app/{workspace_slug}(プレースホルダーが存在する場合)
  5. 初期カウンターを設定します(テーブルが存在する場合):

    • 「Next Epic Number」を 1 に設定します
    • 「Next Story Number」を 1 に設定します
  6. 最終更新日を更新します:

    • Maintenance セクション内の [YYYY-MM-DD] を {current_date} に置き換えます
  7. 更新した kanban_board.md を保存します

  8. 成功をログに記録します:

    ✓ Linear configuration updated:
      - Team Name: {user_team_name}
      - Team UUID: {user_team_uuid}
      - Team Key: {user_team_key}
      - Next Epic Number: 1
      - Next Story Number: 1
    

検証モード(実際の値が設定されており、プレースホルダーがない場合):

  1. 既存の値を抽出します:

    • Team UUID: {value} に一致する行またはテーブルから Team UUID を抽出します
    • Team Key: {value} に一致する行またはテーブルから Team Key を抽出します
  2. 形式を検証します:

    • UUID:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
    • Team Key:/^[A-Z]{2,4}$/
  3. 検証に失敗した場合:

    ⚠ Invalid format detected in Linear Configuration:
      - Team UUID: {uuid} (expected: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
      - Team Key: {key} (expected: 2-4 uppercase letters)
    
    Fix manually or re-run skill to replace with correct values.
    
    • 無効としてマークしますが、処理は続行します(ブロックしません)
  4. 検証に合格した場合:

    ✓ Linear Configuration valid (Team: {name}, UUID: {uuid}, Key: {key})
    
3.3 tasks/README.md のセクションを検証する

3 つの質問に対するパラメトリックループ(questions.md より):

以下の質問それぞれについて:

  1. 「Linear はタスク管理システムにどのように統合されていますか?」
  2. 「タスクの状態遷移とレビュー基準は何ですか?」
  3. 「どのようなタスクテンプレートが利用でき、どのように使用しますか?」

検証プロセス:

  1. questions.md から検証ヒューリスティックを抽出します
  2. tasks/README.md から対応するセクションの内容を読み取ります
  3. いずれかのヒューリスティックに合格するか確認します:
    • キーワード X を含む → 合格
    • パターン Y がある → 合格
    • 長さが N 語を超える → 合格
  4. いずれかに合格した場合 → セクションは有効です
  5. どれにも合格しない場合 → 警告をログに記録します:⚠ Section may be incomplete: {section_name}

検証例(質問 1:Linear の統合):

Heuristics:
- Contains "Linear" or "MCP" → pass
- Mentions team ID or UUID → pass
- Has workflow states (Backlog, Todo, In Progress) → pass
- Length > 100 words → pass

Check content:
- ✓ Contains "Linear" → PASS
→ Section valid

自動検出は不要です(ワークフローはテンプレートで標準化されています)

3.4 kanban_board.md を検証 → エピックの追跡

質問:「エピックはボードで追跡されていますか?」

kanban_board.md が存在する場合:

検証ヒューリスティック:

- Has "Epic" or "Epics Overview" section header → pass
- Has table with columns: Epic, Name, Status, Progress → pass
- OR has placeholder: "No active epics" → pass
- Length > 20 words → pass

アクション:

  1. Epic Tracking または Epics Overview セクションを読み込みます
  2. いずれかのヒューリスティックに合致するか確認します
  3. 合致した場合 → 有効
  4. どれにも合致しない場合 → 警告を記録します:⚠ Epic Tracking section may be incomplete

kanban_board.md が存在しない場合:

  • 検証をスキップします
  • 次のログを記録します:ℹ Epic Tracking validation skipped (kanban_board.md not found)
3.5 コンテンツ検証の概要を報告する

概要を記録します:

✓ Content validation completed:
  tasks/README.md:
    - ✓ Linear Integration: valid (contains "Linear", "MCP", workflow states)
    - ✓ Task Workflow: valid (contains state transitions)
    - ✓ Task Templates: valid (contains template references)
  kanban_board.md:
    - ✓ Linear Configuration: {status} (Team: {name}, UUID: {uuid}, Key: {key})
    - ✓ Epic Tracking: valid (table present or placeholder)

出力:Linear 設定を含む、検証済みで更新されている可能性のあるタスク管理ドキュメント


出力構造の全体像

docs/
└── tasks/
    ├── README.md                     # Task management system rules
    └── kanban_board.md               # Linear integration (optional, created manually or by other skills)

注:かんばんボードは、ln-301-task-creator、ln-302-task-replanner、ln-400-story-executor(エピックのグループ化ロジック)によって更新されます。


参照ファイル

  • references/templates/tasks_readme_template.md — タスク管理システムのルールテンプレート
  • references/templates/kanban_board_template.md — Linear 連携+かんばんテンプレート
  • references/questions.md — 検証の質問、ヒューリスティック、特別な処理ルール

重要なルール

  • 冪等性: 作成前にファイルの存在を確認し、既存のファイルを保持します。安全に再実行できます。
  • Linear UUID の検証: Team UUID は /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ に、Team Key は /^[A-Z]{2,4}$/ に一致する必要があります。
  • 共有ドキュメント品質コントラクト: プレースホルダーポリシー、SCOPE/Maintenance 要件、許可されるセットアップ例外については、references/docs_quality_contract.md と references/docs_quality_rules.json に従ってください。
  • プレースホルダーの検出: kanban_board.md に [TEAM_NAME]、[TEAM_UUID]、または [TEAM_KEY] が見つかった場合は、対話型セットアップモードに入り、ユーザーに入力を求めます。許可リストに含まれるタスクドキュメント以外に未解決のマーカーを残さないでください。
  • 共有の冒頭部コントラクトが必須: README.md と kanban_board.md の両方に、SCOPE、メタデータマーカー、Quick Navigation、Agent Entry、Maintenance を含める必要があります。
  • ストーリーレベルのテストタスクパターン: テストは実装タスクに分散させず、最後の Story タスクにまとめます。

返却コントラクト

ln-100 がワーカーの文章を再解析せずに一元化されたドキュメント品質ゲートを実行できるよう、正規化された概要を返します。

{
  "created_files": [
    "docs/tasks/README.md",
    "docs/tasks/kanban_board.md"
  ],
  "skipped_files": [],
  "quality_inputs": {
    "doc_paths": [
      "docs/tasks/README.md",
      "docs/tasks/kanban_board.md"
    ],
    "owners": {
      "docs/tasks/README.md": "ln-130-tasks-docs-creator",
      "docs/tasks/kanban_board.md": "ln-130-tasks-docs-creator"
    }
  },
  "validation_status": "passed|passed_with_fixes|skipped"
}

ランタイム概要アーティファクト

必ず読み込むこと: references/docs_generation_summary_contract.md を読み込みます。

summaryArtifactPath は任意で指定できます。

概要の種類:

  • docs-generation

必須ペイロードの意味:

  • worker = "ln-130"
  • status
  • created_files
  • skipped_files
  • quality_inputs
  • validation_status
  • warnings

指定されたアーティファクトパスに概要を書き込むか、構造化出力で同じエンベロープを返します。

完了の定義

  • フェーズ 1:テンプレートから tasks/README.md を作成する(既存の場合は保持する)。セットアップ用プレースホルダーは、許可リストに含まれるタスクドキュメント内にのみ配置する
  • フェーズ 2:構造が有効である — SCOPE タグ、必須セクション、Maintenance、POSIX 形式の改行(必要に応じて自動修正)
  • フェーズ 3:コンテンツが有効である — questions.md に基づくヒューリスティックに合致し、プレースホルダーが見つかった場合は Tracker Configuration が設定されている
  • created_files、skipped_files、quality_inputs、validation_status を含む返却コントラクトが出力されている
  • 自動修正の件数と Tracker Configuration の状態を含む概要メッセージが表示されている

バージョン: 7.1.0 最終更新日: 2025-01-12

コメント