Pre-choice usable artifact execution
Purpose & Output Contractの最小の実成果物をmain contextで作成する。effect別のparse/open・secret・irreversible・corrupt guardだけを実行し、現物path・digest・開き方を提示してからaccept-as-is/light/standard/detailedを記録する。accept-as-isはその場でhandoff完了とし、後続sectionを実行しない。
Post-choice selected improvement execution
以下の既存workflow・goal-seek・評価・修正sectionはlight/standard/detailedが記録されてsemantic_evaluator_startedへ遷移した場合だけ実行する。release/exhaustiveは別の明示eventを必要とする。
run-intake-option-catalog
Purpose & Output Contract
Phase 6 担当の 連携選択肢生成 run skill。orchestrator (run-skill-intake) から Skill tool で委譲され、purpose.json の true_purpose.verb_object を起点に外部連携候補 (Slack / Notion / Gmail / Drive / Linear 等) を静的カタログから引き当て、ユーザー選択を経て options.json を生成する。カタログ自体は読み取り専用で、本 skill の write は options.json 生成に限る。
入力: purpose.json, references/integration-catalog-pointer.md 経由の integration カタログ
出力: output/<hint>/options.json (selected_integrations / rejected 配列)
任意フィールド (mode P 判定入力): plugin_scale (boolean: ヒアリング中に plugin 規模構想 (hook/command 等複数コンポーネント) が明示されたとき true) / component_requests[] (string[]: ユーザーが要望したコンポーネント種別 (skill/hook/command/agent/mcp 等))。Phase 11 run-intake-next-action の decide-mode.py が mode P 判定入力として読む。
完了条件: tier=required の連携が全て選択または除外 (reason 付き) で確定し、ユーザーが選択肢確認に応答済み。
性質: run kind。責務プロンプトは prompts/R1-search-summarize.md、参照カタログは references/ 配下に閉じる。カタログの書き換えは行わない (write は options.json のみ)。
Key Rules
- カタログ参照のみ: 新規連携の追加・カタログ書き換えは行わず、読み取り専用で振る舞う。
- 必須/任意 tier の明示: 各候補に
tier ∈ {required, optional} を必ず付与する。
- rejected の理由必須: ユーザーが除外した候補には
reason を必ず記録する (空文字禁止)。
- 新規連携の提案禁止: カタログ外の連携が要るときは別 phase で skill 拡張を提起する (本 skill で勝手に拡張しない)。
ゴールシーク実行
Goal: purpose.json から導出した verb_object に対し、tier=required 連携が全て確定し reason 付きで rejected も埋まった options.json を生成する。
Why: Phase 6 で連携選択が漏れると後続 phase (実装計画・タスク仕様化) が空中分解し、orchestrator (run-skill-intake) 以降が options.json を消費できなくなるため。tier=required を必ず明示・確定させることで、後段の責務分離 (実装 skill / 評価 skill) が崩れない。
Checklist (上から順にチェックし、未充足があればその項目に戻る反復構造):
期待出力例:
{
"selected_integrations": [{"id": "notion-publish", "name": "Notion 公開", "tier": "required"}],
"rejected": [{"id": "slack-notify", "reason": "通知不要"}]
}
Gotchas
- tier=required も除外可、ただし reason 必須: 必須連携は提示するが、ユーザーが明示的に除外する場合は理由を残し下流 skill に判断材料を渡す。
- カタログ外候補の誘惑: verb_object に近い連携がカタログに無い場合でも本 skill では補完せず、別 phase (skill 拡張要求) として上げる。
- pointer 経由の参照:
integration-catalog.md は plugin 共有 references/ にあるため必ず integration-catalog-pointer.md を経由し、直接ハードコード参照しない。
- 責務の最小化: カタログ参照と
options.json 生成のみを担い、連携の実行・認証・公開は他 phase に委譲する (write は options.json に限定)。
Additional Resources
references/integration-catalog-pointer.md — plugin 共有 references/integration-catalog.md への参照ガイド
references/tier-criteria.md — required / optional の判定基準