Summary
acomo をバックエンドとした業務ワークフローシステムを、開発者でも非開発者でも AI エージェントとの対話だけで 開発・検証・改善できるようにするための開発ループ(ヒアリング → 設計 → 静的検証 → 登録 → ウォークスルー → 改善)の正本。 モデル draft…
progress-all/acomo-skills
acomo をバックエンドとした業務ワークフローシステムを、開発? 開発・検証・改善できるようにするための開発ループ(ヒアリング → 設計 → 静的検証 → 登録 → ウォークスルー → 改善)の正本。 モデル draft の静的検証ハーネスとウォークスルー計画ジェネレーターを同梱する。 acomo 標準 UI / CLI での運用に加えて、acomo をエンジンとして裏に置くカスタムフロントエンド開発 (画面設計 → @acomo/client / ? → 認証統合 → E2E)までを A1〜A4 トラックでカバーする。 「acomo でワークフローシステムを作りたい」という依頼? 設計対…
npx skills add progress-all/acomo-skills --skill acomo-workflow-development
acomo をバックエンドとした業務ワークフローシステムを、開発者でも非開発者でも AI エージェントとの対話だけで 開発・検証・改善できるようにするための開発ループ(ヒアリング → 設計 → 静的検証 → 登録 → ウォークスルー → 改善)の正本。 モデル draft…
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Helps users discover and install agent skills when they ask questions like "how do I do X", "fi…
3.3M installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsOther skills from progress-all/acomo-skills.
npx skills add progress-all/acomo-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
17,272 B
SUMMARY.md
979 B
このスキルは、acomo をバックエンドとした業務ワークフローシステムを AI エージェントと対話的に開発するための 開発ループとハーネスの正本である。ユーザーが開発者かどうかを問わず、「業務の説明 → 動くワークフロー」までを エージェント主導で反復できるようにする。
ユーザー向け回答の作法はリポジトリ共通ルール(
AGENTS.md「ユーザー向け回答(全スキル共通)」)に従う。
スキル名・参照ファイルパス・取得過程をエンドユーザー向けの説明文に出さない。
| 提供物 | 場所 | 役割 |
|---|---|---|
| 開発ループの正本 | [references/loop-guide.md](references/loop-guide.md) | フェーズ定義・停止条件・非開発者/開発者モードの分岐 |
| 静的検証ハーネス | scripts/validate-model.mjs |
draft(definition / dataSchema / policy)のスキーマ準拠 + グラフ・整合性検証 |
| ウォークスルー計画 | scripts/walkthrough-plan.mjs |
モデル JSON から経路列挙 + CLI / UI テスト手順 + サンプルデータを生成 |
| ハーネスの使い方 | [references/harness-guide.md](references/harness-guide.md) | コマンド・オプション・エラーコード対応表 |
| ウォークスルー手順 | [references/walkthrough-testing.md](references/walkthrough-testing.md) | 公開後の実走テスト(CLI 経路 / UI 経路・複数アクター) |
| カスタムアプリトラック | [references/custom-app-guide.md](references/custom-app-guide.md) | カスタムフロントエンド開発(A1〜A4)の正本・アーキテクチャ選定・スキャフォールドレシピ |
| 画面設計の写像規則 | [references/screen-design.md](references/screen-design.md) | モデル → 画面・フォーム・操作への写像と設計書テンプレート(A1) |
| 最小 SPA スキャフォールド | [references/spa-scaffold-minimal.md](references/spa-scaffold-minimal.md) | (a) SPA 直呼び構成の最小 3 ファイル(Vite + dev proxy + SuperTokens)(A2) |
| クライアント実装ガイド | [references/client-integration.md](references/client-integration.md) | @acomo/client / 公開 API の検証済み呼び出しパターン(A2) |
| 認証統合ガイド | [references/auth-integration.md](references/auth-integration.md) | セッション透過 / Client Credentials / ローカル開発の非対話認証(A2) |
| カスタム UI の E2E | [references/custom-app-e2e.md](references/custom-app-e2e.md) | walkthrough JSON を正本にした経路網羅テスト(A3) |
| 動作サンプル | fixtures/sample-*.json / fixtures/broken-model.json |
実走確認済みのお手本モデル(基本承認 / 条件分岐 / 並列審査 / 差し戻しループ — 一覧は harness-guide.md)とエラーカタログ |
このスキルはオーケストレーターであり、各作業は既存スキルへ委譲する。該当スキルを必ず読み込んでから作業する。
| 作業 | 委譲先スキル |
|---|---|
| 業務ヒアリング・モデル設計対話(draft 生成・逆質問) | acomo-workflow-modeling([SKILL.md](../acomo-workflow-modeling/SKILL.md)) |
| モデルの型・パターン・設計原則 | 同上の [philosophy.md](../acomo-workflow-modeling/philosophy.md) / [patterns.md](../acomo-workflow-modeling/patterns.md) |
| CLI / 公開 API の呼び出し(登録・公開・プロセス操作) | acomo([SKILL.md](../acomo/SKILL.md)。モノレポでは外部スキル — 無ければ npm run skills:install。配布リポジトリでは併設済み) |
| ユーザーに画面操作を案内する(非開発者の確認・受入) | acomo-ui([SKILL.md](../acomo-ui/SKILL.md)) |
| 検証・テスト・改善ループの回し方 | 本スキル(references/) |
| カスタムフロントエンドの設計・実装・E2E | 本スキル([custom-app-guide.md](references/custom-app-guide.md) から辿る) |
acomo-ui は acomo 標準画面の案内スキル。カスタムアプリの画面はアプリ自身の言葉で案内する(A4)。
最初にユーザーの環境と役割を把握し、モードを決める(途中で切り替えてよい)。
| 同伴モード(非開発者向け) | 開発者モード | |
|---|---|---|
| 想定ユーザー | 業務担当者・管理者。コードやターミナルは使わない | acomo をバックエンドに使う開発者 |
| モデルの登録・公開 | エージェントが CLI で代行 | ユーザー自身 or エージェントが CLI |
| 検証ハーネス | エージェントが実行し、結果を業務の言葉で説明 | ユーザーも直接実行できる |
| ウォークスルー | ユーザーはブラウザ画面で操作・確認(acomo-ui の言葉で案内)。エージェントは CLI で並走確認 | CLI / 画面のどちらでも |
| 受入判断 | ユーザーが画面上の動きを見て判断 | ユーザーがテスト結果と画面で判断 |
どちらのモードでも、業務の意思決定(承認段数・権限・分岐条件など)はユーザーに確認する。 技術的な検証・修正はエージェントが自律的に回す。
正本は [references/loop-guide.md](references/loop-guide.md)。各フェーズには入口条件・出口条件(DoD)がある。
Phase 0 環境準備 … 接続先(ローカル or 本番テナント)と認証を確立し、疎通を確認する
Phase 1 ヒアリング設計 … acomo-workflow-modeling に従い draft(definition/dataSchema/policy)を対話生成
Phase 2 静的検証 … validate-model.mjs でエラー 0 になるまで draft を修正(エージェント自律ループ)
Phase 3 登録 … createWorkflowModel でドラフト登録し、モデル ID を控える
Phase 4 ウォークスルー … walkthrough-plan.mjs の計画に沿って公開 → 全結末経路を実走 → 証跡を残す
Phase 5 改善 … ユーザーのフィードバックを差分で draft に反映し、Phase 2 へ戻る
Phase 6 引き渡し … 運用手順(画面操作ベース)をユーザーに説明して完了
カスタムフロントエンドが要る場合は、Phase 4 green を入口条件に A1〜A4 トラック (画面設計 → 実装 → E2E → 引き渡し。正本: [references/custom-app-guide.md](references/custom-app-guide.md))へ続ける。 操作面が acomo 標準 UI / CLI で足りるなら Phase 6 で完了。
ループ停止条件(このスキルの DoD)
validate-model.mjs がエラー 0(警告は個別に妥当性を説明済み)モデル 1 本を作って引き渡すまでの機械的な最短手順。各行のゲートを満たすまで次の行に進まない。 詳細・例外は [references/loop-guide.md](references/loop-guide.md)。JSON の形で迷ったら fixtures/sample-*.json を正とする(文中の断片より fixtures 優先)。
| # | やること(コマンド) | 進んでよい条件(ゲート) |
|---|---|---|
| 1 | acomo --version(モノレポでは acomo-cli/package.json と突合)→ acomo getCurrentUser |
認証・テナント・モードが確定 |
| 2 | acomo-workflow-modeling で draft を対話生成し、/tmp/<モデル名>-draft.json に保存(以降このファイルが正本) |
ユーザーがフロー・項目・権限に合意 |
| 3 | npm run workflow:validate -- /tmp/<モデル名>-draft.json |
エラー 0(警告は説明・合意済み) |
| 4 | acomo createWorkflowModel '<draft の中身>'(改善時は saveWorkflowModel) |
modelId を取得 |
| 5 | npm run workflow:walkthrough -- /tmp/<モデル名>-draft.json → アクター表を先に全部埋める → acomo publishWorkflowModel --modelId <ID> → 全経路を実走 |
全結末経路が期待した終了ノードに到達 + 権限外 1 ケース確認 |
| 6 | フィードバックは draft ファイルを差分更新して行 3 に戻る。受入後に引き渡し(カスタム UI が要るなら A1〜A4 へ) | ユーザー受入 |
モノレポ内ではルート npm script を使う(実体は本スキル scripts/ 配下・依存ゼロの Node スクリプト)。
# draft の静的検証(fenced ブロック付きテキストも直接渡せる)
npm run workflow:validate -- path/to/draft.json
npm run workflow:validate -- path/to/draft.json --json # 機械可読
# ウォークスルー計画の生成(Markdown。--json で機械可読)
npm run workflow:walkthrough -- path/to/draft.json
モノレポ外(スタンドアロン配布時)は node scripts/validate-model.mjs <file> で直接実行できる。 詳細・エラーコード対応表: [references/harness-guide.md](references/harness-guide.md)
本スキルは acomo モノレポを持たない利用者・カスタムアプリ開発者にも配布される (配布チャネル: acomo-skills リポジトリ。公開手順はモノレポの docs/skills-distribution.md)。 配布レイアウトでも次が成り立つように書かれている。
acomo / acomo-workflow-modeling / acomo-ui)は同じ親ディレクトリに併設される前提。相対リンク(../acomo/SKILL.md 等)はそのまま解決する。
node <このスキル>/scripts/validate-model.mjs <file> で動く。スキーマ検証層は併設の acomo-workflow-modeling/schemas/ を自動解決する(無ければ --schemas-dir か 環境変数 ACOMOMODELSCHEMAS_DIR で指定。未指定時はスキーマ層のみスキップし警告を出す)。
npm run workflow:validate / workflow:walkthrough / npm run skills:install はモノレポ内専用の入口。配布環境では上記のスタンドアロン実行を使う。
dev:up / seed ユーザー等)に触れる記述はモノレポ内でのみ有効。配布先では対象テナントの実値(URL・authTenantId・ユーザー)に読み替える。
type に revert を書く — モデル JSON の FlowType に revert は存在しない(差し戻しはノードの canRevert とランタイム API の担当)。validate が EEDGETYPE で検出する。conditions[].expression / actionPolicies[].allow は必ず {operator, expression1, expression2} のオブジェクト形式("$token.approveCount >= $token.childTokenLength" のような文字列はスキーマ違反で ESCHEMADEFINITION になる)。**正しい形の正本は fixtures/sample-*.json** — 文中の JSON 断片と食い違ったら fixtures を正とする。id と完全一致が必要。EPOLICYNODE で検出する。order 欠落 — バックエンドの AJV は order / acomoType を必須とする。スキーマ検証(ESCHEMA)で検出する。acomo login の恒久トークンを前提にする — ローカル開発スタックでは SuperTokens のセッションアクセストークンを ACOMOACCESSTOKEN に使う(短命)。手順は [references/walkthrough-testing.md](references/walkthrough-testing.md)。{"data":{...}} で包んで送る — engine 系 API(submit / approve / reject / save)の body は dataSchema のキーをトップレベルに持つフラットな JSON(ローカル実走で確認済み)。包んで送ると dataSchema 外のキーとして無視される。{} になる仕様。完了後閲覧が要る業務は終了イベントに read を並べる。@acomo/client の高レベル生成メソッドでプロセスを受け取る — engine 系・プロセス取得系は *Raw + raw.json() を使う(高レベル版は token.childProcessTokens の FromJSON マッパーで落ちる。ローカル実走で確認済み。正本: [references/client-integration.md](references/client-integration.md))。Engine:execute ロールなしのユーザーで engine API を叩いて 403 を actionPolicies のせいにする — engine 系はロールの SystemActionPolicies Engine:execute が前提(実測。エラーメッセージに Engine:execute が必要 と出る)。カスタムアプリ利用者・E2E テストユーザーに該当ロールを割り当てる。getProcessWithNodeActions の nodeActions(サーバー側の actionPolicies 評価結果)を使う。@acomo/client のクラス名を operationId から推測する / 一般ユーザーのアプリで getWorkflowModel を呼ぶ — 生成クラスは OpenAPI tag ごと(getMyModel は MyModelApi)。/models・/processes 系は Model:read 等が要る管理者向けで一般業務ユーザーは 403 — アプリは /my/...(MyModelApi / MyProcessApi)で組む。対応表: [references/client-integration.md](references/client-integration.md)。x-tenant-id が含まれない(実測)。認証 API は直呼びできるが、業務 API は同一オリジン化(プロキシ / BFF)する。正本: [references/auth-integration.md](references/auth-integration.md)。