← ClaudeAtlas

handoff-draftlisted

「引き継ぎ書作って」「handoff 書く」「後任向け資料まとめて」「業務引継メモほしい」と頼まれたら、opshub MCP の task.list (state=in_progress) + decision.list + recall.search + graph.related を読み取り系で組み立て、ホスト LLM が引き継ぎ書 text を構成して返す。persist しない (text-only、ADR-0016 §決定 (l)(a))。propose.generate を経由せず候補保存 / apply 経路を持たない。ユーザーが受け取った text を手で SaaS (Notion / Confluence / docs / Slack 等) に貼り付ける。
ozzy-labs/opshub · ★ 2 · AI & Automation · score 75
Install: claude install-skill ozzy-labs/opshub
# handoff-draft — 引き継ぎ書 text を opshub の context から組み立てて返す opshub MCP server (`opshub mcp serve`、ADR-0022) の read tool 群 (`task.list` / `decision.list` / `recall.search` / `graph.related`) をホスト LLM が合成して、後任向け引き継ぎ書の text を 1 発で組み立てる。Phase 12 H5 (`docs/phase-12-plan.md` §3 H5) で導入された Tier 2 draft 系 skill。 **persist しない**: `reply-draft` と異なり、本 skill は `propose.generate` + `propose.apply` 経路を **使わない**。引き継ぎ書は自発生成で natural key を持たないため (返信元 source のような対応付けがない)、proposal table に保存しても operator から見て idempotency / 削除 / 編集の semantics が曖昧になる。ADR-0016 §決定 (l)(a) で「返信元 source の有無」で persist 境界を切る方針が pin されており、本 skill は text-only 返却に留める。 ## 何が起きるか 1. ユーザーが「引き継ぎ書作って」「handoff 書く」「後任向けにまとめて」と頼む 2. ホストが本 skill を発火 3. ホストが下記「呼び出し順」に従って read tool を順次呼ぶ 4. 戻り値を集約してホスト LLM が引き継ぎ書 text を 1 発で構成 (Markdown) 5. ユーザーに text を提示 (画面表示のみ) 6. ユーザーが手で SaaS (Notion / Confluence / docs / Slack 等) に貼り付ける opshub 側に候補保存 / apply 経路は存在しない (`propose.generate` / `propose.apply` を呼ばない)。「保存」のような UX を提示しないこと。 ## 呼び出し順 (MCP tool) ### Step 1: 進行中 task を列挙 ```text tool: task.list input: state: "in_progress" limit: 50 ``` 戻り値の `items[]` を引き継ぎ書の「進行中タスク」セクション素材として使う。Phase 12 H1 (ADR-0022 改訂) で物理列ベースの時間フィルタが追加されたが、引き継ぎ書は時点スナップショットなので時間フィルタは不要 (state=in_progress で全進行中を拾う)。 `state` 値が `active` / `in_progress` のどちらか projection 側で正規化されているため、projection の SSOT に従う (`src/opshub/projections/tasks.py`)。 ### Step 2: 最近の decision を列挙 ```text tool: decision.list input: recorded_after: "<引き継ぎ対象期間の開始 ISO 8601>" # 任意、例: 過去 3