maestro/pieces/brainstorming.yaml
clade 7049a874f3 feat: initial public release (MAESTRO v0.1.0)
Open-source release of MAESTRO, an agent orchestration platform that runs
LLM-driven tasks through sandboxed tools, with a web UI. Apache-2.0.
See README.md and docs/ (getting-started, configuration, architecture).
2026-06-03 04:01:14 +00:00

122 lines
5.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: brainstorming
description: |
複数の視点から並列にアイデアや選択肢を検討し、推奨方針を導き出す。
選ぶべき場合: 「どうすべきか」「どの方針が良いか」を多角的に検討する必要がある
選ぶべきでない場合: 答えが調査で明確になるタスク、具体的な成果物の作成が主目的
max_movements: 999
initial_movement: decompose
triggers:
keywords:
- brainstorming
- ブレスト
- ブレインストーミング
- 方針検討
- アイデア出し
movements:
- name: decompose
edit: false
persona: facilitator
instruction: |
課題を分析し、複数の視点から検討すべきポイントを特定してください。
1. タスクの指示を注意深く読み、何が求められているかを理解する
2. 検討すべき視点や切り口を 2〜5 個に分解する
- 例: 技術的実現性、コスト/リソース、ユーザーへの影響、リスク、長期的な拡張性
3. 各視点ごとに SpawnSubTask で独立した調査・検討タスクを作成する
- piece は "research-sub" を指定する
- instruction には「この視点で分析し、output/analysis.md に結論と根拠を書いてください」と具体的に記述
- 各サブタスクは異なる分析レンズを持つよう明確に指定する
4. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
allowed_tools:
- Read
- Grep
- Glob
- SpawnSubTask
rules:
- condition: "全てのサブタスクを SpawnSubTask で登録し終えた"
next: WAIT_SUBTASKS
- condition: 全てのサブタスクを登録し終えたSpawnSubTask不可の場合は自分で分析を完了した
next: aggregate
default_next: aggregate
- name: aggregate
edit: true
persona: analyst
instruction: |
各サブタスクの検討結果を統合し、推奨方針をまとめてください。
1. subtasks/ ディレクトリを確認するGlob: subtasks/*/output/**
2. 各サブタスクの分析結果を読み込む
3. 共通点・相違点・トレードオフを整理する
4. 総合的な推奨方針を output/recommendation.md に作成する
- 各視点からの主要な発見
- トレードオフの整理
- 推奨アプローチとその根拠
- リスクと緩和策
5. 完了したら verify に遷移する
allowed_tools:
- Read
- Glob
- Grep
- Write
- Edit
- SearchKnowledge
- ListNamespaces
- ListDocuments
- SearchNotes
- ReadNote
- 'mcp__*'
rules:
- condition: "output/recommendation.md に推奨方針をまとめた"
next: verify
default_next: verify
- name: verify
edit: false
persona: reviewer
instruction: |
output/ の成果物を確認する。
確認手順:
1. まず Glob で output/ 内のファイル一覧を確認する
2. output/recommendation.md がなければ「修正が必要」と判断し aggregate に差し戻す
3. ファイルがあれば Read で内容を確認し、各視点の分析が含まれているか・推奨方針が論理的かをチェックする
4. 不足や誤りがあれば、`transition({next_step: "aggregate", summary: ...})` で差し戻す。summary は次の形式で書く:
[判定] needs_fix
## 問題点
- [ファイル名:行番号または項目名] 何が問題か
## 期待する修正
- 何をどう直すべきか
## 合格基準
- 再レビューで何を確認するか
## 次にやること
- aggregate で最初に着手すべき具体的な修正
5. summary は抽象論で終えず、具体的な不足点・期待する修正内容を必ず含める
## チェックシート確認
GetChecklist でチェックシートが存在する場合、全アイテムが完了done/failed/skippedしていることを確認する。
remaining が 0 でないまま完了してはならない。
## 合格時のユーザーへの返答complete ツール)
output/ の内容で合格と判断したら、`complete({status: "success", result: ...})` を呼ぶ。
result はそのままユーザーに表示される最終回答。output/ のファイルを Read で読み、その内容をベースに整形する。
- 「output/xxx.md を確認してください」のようなファイル参照ではなく、内容そのものを回答として返すこと
- 【厳守】「✅ 完了」「推奨方針をまとめました」「確認しました」等のステータス表示・メタ説明・内部作業の報告は一切書かない。1行目からいきなり本題の内容を書き始めること
- 推奨方針・トレードオフ・根拠を会話調で分かりやすく伝える
- 表・リスト・見出しなど Markdown 書式を活用して読みやすくする
## 終了方法のまとめ
- 合格: `complete({status: "success", result: "ユーザー向け最終回答"})`
- 修正必要: `transition({next_step: "aggregate", summary: "差し戻し指摘"})` (上記形式で)
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Glob, Grep]
# default_next is the engine-internal fallback (context overflow / ASK
# limit / SpawnSubTask unavailable). Not exposed to the LLM.
default_next: COMPLETE
rules:
- condition: output/ にファイルがない、または内容に不足がある
next: aggregate