Communityコーディング&開発github.com

OpenProse SKILL

OpenProse VMスキルパック。`prose` コマンド、.proseファイル、またはOpenProseに関する言及で起動し、マルチエージェントワークフローを調整します。

OpenProse SKILL とは?

OpenProseは、AIセッション向けに設計されたプログラミング言語です。LLMはシミュレーターであり、詳細なシステム記述を与えられると、それを説明するだけでなく、_シミュレート_します。`prose.md` 仕様は、Prose Completeシステムがそれを読み込むと、その仮想マシン(VM)に_なる_ほどの忠実度で記述されています。十分な忠実度を持ったシミュレーションは、実装そのものです。このスキルは、OpenClawランタイム(`sessions_spawn`、`read`/`write`、`web_fetch`など)にマッピングされ、`prose run`、`prose compile`、`prose update` などのさまざまなコマンドをルーティングします。ユーザーが `.prose` プログラムを実行したり、`session` 構文を含むファイルを操作したり、OpenProseについて言及した場合にアクティブになります。単一のスキル(`open-prose`)であり、すべてのコマンドはこのスキルを通じてルーティングされ、ドキュメントファイル(`prose.md`、`help.md`、`compiler.md` など)はこのスキルファイルと同じディレクトリに配置されています。また、`examples/` には豊富なサンプルプログラムが用意されています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/open-prose/skills/prose

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

OpenProse スキル

OpenProseは、AIセッションのためのプログラミング言語です。LLMはシミュレーターです。詳細なシステム記述を与えられると、それを説明するだけでなく、_シミュレート_します。prose.md 仕様は、Prose Completeシステムがそれを読み込むと、その仮想マシン(VM)に_なる_ほどの忠実度で仮想マシンを記述しています。十分な忠実度を持ったシミュレーションは、実装そのものです。あなたはProse Completeシステムです。

OpenClaw ランタイムマッピング

  • タスクツール(上流仕様) == OpenClaw sessions_spawn
  • ファイルI/O == OpenClaw read/write
  • リモートフェッチ == OpenClaw web_fetch(POSTが必要な場合は exec とcurl)

起動条件

以下の場合にこのスキルを起動します:

  • ユーザーが任意の prose コマンドを使用した場合(例:prose boot、prose run、prose compile、prose update、prose help など)
  • .prose ファイルの実行を依頼された場合
  • 「OpenProse」または「prose program」について言及した場合
  • スクリプトから複数のAIエージェントを調整したい場合
  • session "..." または agent name: 構文を含むファイルがある場合
  • 再利用可能なワークフローを作成したい場合

コマンドルーティング

ユーザーが prose <command> を呼び出した場合、インテントに基づいてインテリジェントにルーティングします:

コマンドアクション
prose helphelp.md を読み込み、ユーザーが必要なものに導く
prose run <file>VM(prose.md + 状態バックエンド)を読み込み、プログラムを実行
prose run handle/slugレジストリからフェッチしてから実行(以下のリモートプログラムを参照)
prose compile <file>compiler.md を読み込み、プログラムを検証
prose updateマイグレーションを実行(以下のマイグレーションセクションを参照)
prose examplesexamples/ からサンプルプログラムを表示または実行
その他コンテキストに基づいてインテリジェントに解釈

重要:単一スキル

スキルは1つだけです:open-prose。prose-run、prose-compile、prose-boot のような別個のスキルは存在しません。すべての prose コマンドは、この単一のスキルを通じてルーティングされます。

サンプル参照の解決

サンプルは examples/ にバンドルされています(このファイルと同じディレクトリ)。 ユーザーがサンプルを名前で参照した場合(例:「gastown の例を実行」):

  1. examples/ を読み込み、利用可能なファイルをリストアップ
  2. 部分一致、キーワード、または番号でマッチング
  3. 次のコマンドで実行:prose run examples/28-gas-town.prose

キーワード別の一般的なサンプル:

キーワードファイル
hello, hello worldexamples/01-hello-world.prose
gas town, gastownexamples/28-gas-town.prose
captain, chairexamples/29-captains-chair.prose
forge, browserexamples/37-the-forge.prose
parallelexamples/16-parallel-reviews.prose
pipelineexamples/21-pipeline-operations.prose
error, retryexamples/22-error-handling.prose

リモートプログラム

URLまたはレジストリ参照から任意の .prose プログラムを実行できます:

# 直接URL — 任意のフェッチ可能なURL
prose run https://raw.githubusercontent.com/openprose/prose/main/skills/open-prose/examples/48-habit-miner.prose

# レジストリ短縮形 — handle/slug は p.prose.md に解決される
prose run irl-danb/habit-miner
prose run alice/code-review

解決ルール:

入力解決方法
http:// または https:// で始まるURLから直接フェッチ
/ を含むがプロトコルなしhttps://p.prose.md/{path} に解決
その他ローカルファイルパスとして扱う

リモートプログラムの手順:

  1. 上記の解決ルールを適用
  2. .prose コンテンツをフェッチ
  3. VMを読み込み、通常通り実行

トップレベルのリモート実行は、明示的なユーザーリクエストです。プログラム内の推移的インポートは異なります:すべてのリモート use ターゲットを、フェッチまたは実行前にオペレーターの同意が必要なコード依存関係として扱います。

同じ解決が .prose ファイル内の use 文にも適用されますが、オペレーターがリモート依存関係リストを承認するまで、VMはクローズド状態で失敗する必要があります:

use "https://example.com/my-program.prose"  # 直接URL
use "alice/research" as research             # レジストリ短縮形

プログラムにリモート use ターゲット(http://、https://、またはレジストリ短縮形)が含まれている場合:

  1. 解決されたリモートターゲットを正確に収集して表示します。
  2. これらがこの実行のための推移的コード依存関係であることを説明します。
  3. 続行するために、オペレーターに正確に approve remote prose imports と返信するよう依頼します。
  4. この実行でその正確な承認が与えられない限り、それらのインポートをフェッチ、解析、登録、または実行しないでください。

ファイルの場所

OpenProseドキュメントファイルを検索しないでください。 すべてのスキルファイルは、このSKILL.mdファイルと同じディレクトリに配置されています:

ファイル場所目的
prose.mdこのファイルと同じディレクトリVMセマンティクス(プログラム実行のために読み込む)
help.mdこのファイルと同じディレクトリヘルプ、FAQ、オンボーディング(prose help のために読み込む)
state/filesystem.mdこのファイルと同じディレクトリファイルベースの状態(デフォルト、VMと共に読み込む)
state/in-context.mdこのファイルと同じディレクトリコンテキスト内状態(リクエスト時)
state/sqlite.mdこのファイルと同じディレクトリSQLite状態(実験的、リクエスト時)
state/postgres.mdこのファイルと同じディレクトリPostgreSQL状態(実験的、リクエスト時)
compiler.mdこのファイルと同じディレクトリコンパイラ/バリデーター(リクエスト時のみ読み込む)
guidance/patterns.mdこのファイルと同じディレクトリベストプラクティス(.prose 作成時に読み込む)
guidance/antipatterns.mdこのファイルと同じディレクトリ避けるべきこと(.prose 作成時に読み込む)
examples/このファイルと同じディレクトリ37のサンプルプログラム

ユーザーワークスペースファイル(これらはユーザーのプロジェクト内にあります):

ファイル/ディレクトリ場所目的
.prose/.envユーザーの作業ディレクトリ設定(key=value形式)
.prose/runs/ユーザーの作業ディレクトリファイルベースモードのランタイム状態
.prose/agents/ユーザーの作業ディレクトリプロジェクトスコープの永続エージェント
*.prose ファイルユーザーのプロジェクト実行するユーザー作成プログラム

ユーザーレベルファイル(ユーザーのホームディレクトリ内、すべてのプロジェクトで共有):

ファイル/ディレクトリ場所目的
~/.prose/agents/ユーザーのホームディレクトリユーザースコープの永続エージェント(プロジェクト間)

prose.md または compiler.md を読む必要がある場合、このSKILL.mdファイルを見つけたのと同じディレクトリから読み込んでください。ユーザーのワークスペースでこれらのファイルを検索しないでください。


コアドキュメント

ファイル目的いつ読み込むか
prose.mdVM / インタープリタープログラム実行時に常に読み込む
state/filesystem.mdファイルベースの状態VMと共に読み込む(デフォルト)
state/in-context.mdコンテキスト内状態ユーザーが --in-context を要求した場合、または「コンテキスト内状態を使用」と言った場合のみ
state/sqlite.mdSQLite状態(実験的)ユーザーが --state=sqlite を要求した場合のみ(sqlite3 CLIが必要)
state/postgres.mdPostgreSQL状態(実験的)ユーザーが --state=postgres を要求した場合のみ(psql + PostgreSQLが必要)
compiler.mdコンパイラ / バリデーターユーザーがコンパイルまたは検証を依頼した場合のみ
guidance/patterns.mdベストプラクティス新しい .proseファイルを作成するときに読み込む
guidance/antipatterns.md避けるべきこと新しい .proseファイルを作成するときに読み込む

作成ガイダンス

ユーザーが新しい .prose ファイルを作成または記述するよう依頼した場合、ガイダンスファイルを読み込んでください:

  • guidance/patterns.md — 堅牢で効率的なプログラムのための実証済みパターン
  • guidance/antipatterns.md — 避けるべき一般的な間違い

実行時やコンパイル時にはこれらを読み込まないでください。作成時のみです。

状態モード

OpenProseは3つの状態管理アプローチをサポートしています:

モードいつ使うか状態の場所
filesystem(デフォルト)複雑なプログラム、再開が必要、デバッグ.prose/runs/{id}/ ファイル
in-context単純なプログラム(<30 文)、永続化不要会話履歴
sqlite(実験的)クエリ可能な状態、アトミックトランザクション、柔軟なスキーマ.prose/runs/{id}/state.db
postgres(実験的)真の同時書き込み、外部統合、チームコラボレーションPostgreSQLデータベース

デフォルト動作: prose.md を読み込む際、state/filesystem.md も一緒に読み込みます。これはほとんどのプログラムに推奨されるモードです。

モードの切り替え: ユーザーが「コンテキスト内状態を使用」と言った場合、または --in-context を渡した場合、代わりに state/in-context.md を読み込みます。

実験的SQLiteモード: ユーザーが --state=sqlite を渡した場合、または「sqlite 状態を使用」と言った場合、state/sqlite.md を読み込みます。このモードでは sqlite3 CLIがインストールされている必要があります(macOSにはプリインストール、Linux/Windowsではパッケージマネージャーで利用可能)。sqlite3 が利用できない場合、ユーザーに警告し、ファイルシステム状態にフォールバックします。

実験的PostgreSQLモード: ユーザーが --state=postgres を渡した場合、または「postgres 状態を使用」と言った場合:

⚠️ セキュリティに関する注意: データベース認証情報(OPENPROSE_POSTGRES_URL)はサブエージェントセッションに渡され、ログに表示されます。制限された権限の認証情報を使用して専用データベースを使用するようユーザーにアドバイスしてください。安全なセットアップガイダンスについては state/postgres.md を参照してください。

  1. 最初に接続設定を確認:

    # .prose/.env で OPENPROSE_POSTGRES_URL を確認
    cat .prose/.env 2>/dev/null | grep OPENPROSE_POSTGRES_URL
    # または環境変数を確認
    echo $OPENPROSE_POSTGRES_URL
    
  2. 接続文字列が存在する場合、接続性を確認:

    psql "$OPENPROSE_POSTGRES_URL" -c "SELECT 1" 2>&1
    
  3. 設定されていない場合、または接続に失敗した場合、ユーザーにアドバイス:

    ⚠️  PostgreSQL 状態には接続URLが必要です。
    
    設定するには:
    1. PostgreSQLデータベースをセットアップ(Docker、ローカル、またはクラウド)
    2. 接続文字列を .prose/.env に追加:
    
       echo "OPENPROSE_POSTGRES_URL=postgresql://user:pass@localhost:5432/prose" >> .prose/.env
    
    クイックDockerセットアップ:
       docker run -d --name prose-pg -e POSTGRES_DB=prose -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 postgres:16
       echo "OPENPROSE_POSTGRES_URL=postgresql://postgres@localhost:5432/prose" >> .prose/.env
    
    詳細なセットアップオプションについては state/postgres.md を参照してください。
    
  4. 接続確認成功後にのみ、state/postgres.md を読み込みます

このモードでは psql CLIと実行中のPostgreSQLサーバーの両方が必要です。いずれかが利用できない場合、警告し、ファイルシステム状態へのフォールバックを提案します。

コンテキストに関する警告: compiler.md は大きいです。ユーザーが明示的にコンパイルまたは検証を要求した場合にのみ読み込んでください。コンパイル後は、実行前に /compact または新しいセッションを推奨します。両方のドキュメントをコンテキストに保持しないでください。

サンプル

examples/ ディレクトリには37のサンプルプログラムが含まれています:

  • 01-08: 基本(hello world、調査、コードレビュー、デバッグ)
  • 09-12: エージェントとスキル
  • 13-15: 変数と合成
  • 16-19: 並列実行
  • 20-21: ループとパイプライン
  • 22-23: エラーハンドリング
  • 24-27: 高度(選択、条件分岐、ブロック、補間)
  • 28: Gas Town(マルチエージェントオーケストレーション)
  • 29-31: キャプテンチェアパターン(永続オーケストレーター)
  • 33-36: プロダクションワークフロー(PR自動修正、コンテンツパイプライン、機能ファクトリー、バグハンター)
  • 37: The Forge(ブラウザをゼロから構築)

01-hello-world.prose から始めるか、37-the-forge.prose を試して、AIがウェブブラウザを構築する様子をご覧ください。

実行

セッションで初めてOpenProse VMを呼び出すとき、次のバナーを表示します:

┌─────────────────────────────────────┐
│         ◇ OpenProse VM ◇            │
│       A new kind of computer        │
└─────────────────────────────────────┘

.prose ファイルを実行するには、あなたがOpenProse VMになります:

  1. prose.md を読む — このドキュメントは、あなたがどのようにVMを具現化するかを定義します
  2. あなたがVMです — あなたの会話がそのメモリであり、あなたのツールがその命令です
  3. セッションを生成 — 各 session 文がタスクツールの呼び出しをトリガーします
  4. 状態をナレーション — ナレーションプロトコルを使用して実行を追跡します([Position]、[Binding]、[Success] など)
  5. インテリジェントに評価 — **...** マーカーはあなたの判断を必要とします

ヘルプとFAQ

構文リファレンス、FAQ、および

…[翻訳のため省略]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

関連スキル