This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
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
|
||||
Reference in New Issue
Block a user