maestro/pieces/workspace-app.yaml
oss-sync 29ccaf1e92
Some checks failed
CI / build-and-test (push) Has been cancelled
sync: update from private repo (dfadcd5f)
2026-06-23 06:38:48 +00:00

71 lines
4.3 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: workspace-app
description: |
ワークスペース上で動く「ワークスペース・アプリ」(自己完結 HTML の GUI ツール)を作成する専用エージェント。
ユーザーが「ワークスペースアプリを作って」「○○用の GUI を作って」「○○するツール(アプリ)を作って」と
依頼したときに選ぶ。成果物は `apps/{名前}/index.html`(インライン JS/CSS のみ・外部ネットワーク禁止)で、
ワークスペースの「アプリ」タブから起動でき、postMessage ブリッジでワークスペースのファイルを読み書きできる。
注意: ここで作るのは「アプリ(動く HTML 成果物」。orchestrator の Pieceエージェント定義の YAML
作る依頼は piece-builder の担当なので混同しないこと。
max_movements: 25
initial_movement: build
triggers:
keywords: [ワークスペースアプリ, アプリを作, アプリ作成, GUIを作, GUIツール, ミニアプリ, HTMLアプリ, HTMLツール, アプリタブ, ダッシュボードアプリ]
movements:
- name: build
edit: true
persona: builder
instruction: |
## ワークスペース・アプリ作成フェーズ
ユーザーの依頼に沿って、自己完結した HTML アプリを 1 つ作る。
### 手順
1. **最初に `ReadToolDoc({ name: "workspace-apps" })` で作り方の仕様を取得する**
ファイル配置・postMessage ブリッジの API・制約を必ず確認すること
2. アプリ名を決める(英小文字・数字・ハイフン推奨)。
3. 自己完結 HTML を `apps/{アプリ名}/index.html` に Write で書く:
- JS / CSS はインラインのみ。外部 CDN や外部ネットワークへのアクセスは禁止。
- ワークスペースのファイル I/O が必要なら、doc に従って postMessage ブリッジを使う。
- 入力フォーム・表示領域など、依頼された GUI を一通り備えた動くものにする。
4. 既存アプリの改修依頼なら、先に Read で現状の index.html を読んでから Edit する。
### 終了 / 遷移方法
- **作成・更新できた → verify へ**: `transition({next_step: "verify", summary: "アプリ名と概要"})`
- **依頼が曖昧で作れない**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Write, Edit, Glob, Grep, Bash, ReadToolDoc, ReadImage]
default_next: verify
rules:
- condition: アプリの作成・更新が完了した
next: verify
- name: verify
edit: true
persona: reviewer
instruction: |
## 検証フェーズ
作成した `apps/{名前}/index.html` を読み返し、最低限の品質を確認する。
### 確認観点
- ファイルが `apps/{名前}/index.html` に存在し、単体で開ける HTML になっているか
- `<script src=...>` や外部 CDN・外部ネットワーク参照が混入していないかインラインのみか
- 依頼された GUI 要素・操作が一通り入っているか
- ファイル I/O を使う場合、doc どおりの postMessage ブリッジ手順になっているか
問題があれば Edit で直す。直しきれない設計上の問題なら build に戻す。
### 終了方法
- **合格**: `complete({status: "success", result: ...})` を呼ぶ。result はそのままユーザーに表示される。
作ったアプリ名・できること・「ワークスペースの『アプリ』タブから起動できる」旨を簡潔に伝える
(「作成しました」等のメタ説明ではなく、アプリの内容そのものを書く)。
- **作り直しが必要 → build へ**: `transition({next_step: "build", summary: "具体的な指摘"})`
- **技術的失敗**: `complete({status: "aborted", abort_reason: "..."})`
allowed_tools: [Read, Write, Edit, Glob, Grep, Bash, ReadToolDoc]
default_next: COMPLETE
rules:
- condition: 作り直しが必要
next: build