| name | task-publish |
| description | 「このタスク GitHub に起票して」「Jira のチケット完了にして」「あの issue にコメント付けて」「タスクを外部に publish して」「ticket を再オープンして」と頼まれたら、Suasor MCP の task.list で対象 task を特定し、ユーザー確認後に task.publish で外部ホーム(GitHub Issues / Jira / Slack List)へ起票、または task.act で complete / reopen / comment を遠隔操作する。auto-apply 経路は存在しない。 |
| readOnly | false |
| category | task |
| triggers | ["このタスク GitHub に起票して","Jira のチケット完了にして","あの issue にコメント付けて","タスクを外部に publish して","ticket を再オープンして"] |
| pairs | ["task-update"] |
| mcp_tools_read | ["task.list"] |
| mcp_tools_write | ["task.publish","task.act"] |
task-publish
確定タスクを外部ホーム(GitHub Issues / Jira / Slack List)へ起票し、状態を遠隔操作する HITL write skill(ADR-0036 / ADR-0004)。Suasor は「横断捕捉・AI 提案・優先付け・由来」に徹し、公開したタスクの住処は外部ツールに委ねる(single pane)。ホームは destination(github / jira / slack)ごとに独立設定でき、task.publish は任意の destination 引数(省略時 [tasks].default)で行き先を選ぶ(ADR-0036 改訂 R1-2)。tasks projection は published task については状態の正本ではなく、優先ビュー表示用の読み取りキャッシュ + provenance(状態の正本は外部ホーム=D1)。未 publish タスクは private tier(ローカルが正本・R1-4)。task-update が Suasor 内 lifecycle を動かすのに対し、本 skill は外部への egress write / 遠隔操作を担う。
いつ発火するか
- 「このタスク GitHub に起票して」「タスクを外部に publish して」(→
task.publish)
- 「Jira のチケット完了にして」「あの ticket を done に」(→
task.act complete)
- 「再オープンして」「やっぱり open に戻して」(→
task.act reopen)
- 「あの issue にコメント付けて」「進捗をコメントしといて」(→
task.act comment)
何をするか(MCP tool flow)
read で対象を特定して、egress write は HITL。auto-apply 経路は存在しない(ADR-0004)。egress(外部送信)を伴うため、ローカル draft.export 以上に確認は厳格にする(ADR-0003 §egress 境界)。
task.list(state で絞り可)で対象 task を特定する。各 task は id / title / state / 既存の外部 id(publish 済みか)
- どの task をどのホーム(GitHub / Jira / Slack List)にどう操作するかをユーザーに提示して確認を取る(native framing: ホスト側で人の承認を促す)。送信先・本文(コメント等)を明示する
- 承認後:
- 未起票の確定タスク →
task.publish(任意 destination or [tasks].default の [tasks.homes.<destination>] へ起票。TaskPublished を append、外部 id を記録)
- 起票済みタスク →
task.act(complete / reopen / comment。TaskActionIssued を append)。actuator 設定はその task 自身の published_destination で解決される(R1-3)ので、既定を乗り換えても既存 published task の操作は壊れない
制約
- HITL。人の承認なしに
task.publish / task.act を呼ばない。auto-apply しない。task.list は read(特定)
- 行き先は destination ごとの typed ホーム(ADR-0036 改訂 R1)。
task.publish の任意 destination 引数(省略時 [tasks].default)で振り分ける(R1-2)。公開済み task の操作/読み戻しは task 自身の published_destination で config 解決(R1-3)
- 冪等・二重起票回避: actuator は冪等 label(例
suasor + suasor-task-<id>)で同一タスクの重複起票を防ぐ。「外部起票成功 → ローカル event append 失敗」の二重起票リスクに注意し、再実行時は既存外部 id を確認してから操作する
- connector(read 専用・ADR-0007)と actuator(write)は型レベルで別 capability。actuator 未実装のソースへは publish できない(status で報告、throw しない)
- Slack List actuator は comment 非対応など、ホームごとに対応操作に差がある(ADR-0036)。非対応操作は
unsupported として報告する
- 本 skill は手順書のみで実処理を持たない