ln-130-tasks-docs-creator について
タスク管理ドキュメントを作成・検証するスキルです。単独でもドキュメントパイプラインからでも使え、Linear、GitHub、ファイル形式のトラッカーに応じた設定を扱います。
主な機能
- 01タスクワークフロードキュメントの作成
- 02トラッカー別のカンバン情報設定
- 03ドキュメント構造と内容の検証
- 04プロバイダー設定とプレースホルダーの確認
活用シーン
- 01プロジェクトのタスク管理ルールの文書化
- 02カンバンボードのトラッカー情報設定
- 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.mddocs_generation_summary_contract.mddocs_quality_contract.mddocs_quality_rules.jsondocs_quality_rules.json.SOURCE.mdmarkdown_read_protocol.mdquestions.mdstorage_mode_detection.mdreferences/templates/kanban_board_template.mdtasks_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 の作成
目的: テンプレートからタスク管理システムのドキュメントを作成します。
実行タイミング: 常に実行(最初のフェーズ)
手順:
-
tasks/README.md が存在するか確認します:
- Glob ツールを使用します:
pattern: "docs/tasks/README.md" - ファイルが存在する場合:
- 作成をスキップします
- ログに記録します:
✓ docs/tasks/README.md already exists (preserved) - フェーズ 2 に進みます
- 存在しない場合:
- ステップ 2 に進みます
- Glob ツールを使用します:
-
tasks ディレクトリを作成します:
docs/tasks/ディレクトリが存在しない場合は作成します
-
テンプレートから 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 の各セクション
- 共通ヘッダーの完全な契約(
- 必須の読み込み:
-
ユーザーに通知します:
- 作成した場合:
✓ 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(存在する場合)
各ファイルについて:
- 冒頭のブロックを読みます
- `` タグとメタデータマーカーを確認します
- 期待値:
- tasks/README.md:``
- kanban_board.md:``
- 不足している場合:
- 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(存在する場合)
各ファイルについて:
- 最後の20行に
## Maintenance見出しがあるか検索します - 見つからない場合:
- 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}
- Edit ツールを使用して、ファイルの末尾に追加します:
2.4 POSIX 改行を検証する
確認するファイル:docs/tasks/README.md、docs/tasks/kanban_board.md(存在する場合)
各ファイルについて:
- ファイルの末尾が単一の改行文字で終わっているか確認します
- ない場合:
- 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
対話型セットアップモード(プレースホルダーが検出された場合):
-
ユーザーに Team Name を尋ねます:
- 質問:「Linear のチーム名は何ですか?」
- 検証:空でない文字列
- 例:「My Project Team」
-
ユーザーに 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」
-
ユーザーに Team Key を尋ねます:
- 質問:「Linear のチームキー(大文字 2~4 文字)は何ですか?」
- 形式:大文字 2~4 文字
- 検証用正規表現:
/^[A-Z]{2,4}$/ - 無効な場合:
- エラーを表示します:「Team Key の形式が無効です。期待される形式:大文字 2~4 文字(例:PROJ、WEB、API)」
- ユーザーに再度尋ねます
- 例:「PROJ」
-
プレースホルダーを置き換えます:
- 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}(プレースホルダーが存在する場合)
- Edit ツールを使用して kanban_board.md 内の以下を置き換えます:
-
初期カウンターを設定します(テーブルが存在する場合):
- 「Next Epic Number」を 1 に設定します
- 「Next Story Number」を 1 に設定します
-
最終更新日を更新します:
- Maintenance セクション内の
[YYYY-MM-DD]を{current_date}に置き換えます
- Maintenance セクション内の
-
更新した kanban_board.md を保存します
-
成功をログに記録します:
✓ 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
検証モード(実際の値が設定されており、プレースホルダーがない場合):
-
既存の値を抽出します:
Team UUID: {value}に一致する行またはテーブルから Team UUID を抽出しますTeam Key: {value}に一致する行またはテーブルから Team Key を抽出します
-
形式を検証します:
- 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}$/
- UUID:
-
検証に失敗した場合:
⚠ 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.- 無効としてマークしますが、処理は続行します(ブロックしません)
-
検証に合格した場合:
✓ Linear Configuration valid (Team: {name}, UUID: {uuid}, Key: {key})
3.3 tasks/README.md のセクションを検証する
3 つの質問に対するパラメトリックループ(questions.md より):
以下の質問それぞれについて:
- 「Linear はタスク管理システムにどのように統合されていますか?」
- 「タスクの状態遷移とレビュー基準は何ですか?」
- 「どのようなタスクテンプレートが利用でき、どのように使用しますか?」
検証プロセス:
- questions.md から検証ヒューリスティックを抽出します
- tasks/README.md から対応するセクションの内容を読み取ります
- いずれかのヒューリスティックに合格するか確認します:
- キーワード X を含む → 合格
- パターン Y がある → 合格
- 長さが N 語を超える → 合格
- いずれかに合格した場合 → セクションは有効です
- どれにも合格しない場合 → 警告をログに記録します:
⚠ 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
アクション:
- Epic Tracking または Epics Overview セクションを読み込みます
- いずれかのヒューリスティックに合致するか確認します
- 合致した場合 → 有効
- どれにも合致しない場合 → 警告を記録します:
⚠ 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"statuscreated_filesskipped_filesquality_inputsvalidation_statuswarnings
指定されたアーティファクトパスに概要を書き込むか、構造化出力で同じエンベロープを返します。
完了の定義
- フェーズ 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