prose-run
Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)
- License 许可
- MIT
- 所属仓库
- jmagly/aiwg
- 最近更新
- 2026-11-12
- Stars
- ★ 229
- Forks
- 36
01 前言 Front Matter
- name
- prose-run
- errors
- [ { "prose-not-found": "OpenProse installation not detected; run /prose-detect for guidance" }, { "invalid-program": "program file fails prose-validate checks; fix contract before running" }, { "context-exceeded": "multi-service program exceeds available context budget; split into smaller programs" } ]
- ensures
- [ "output: the program's ensures: outputs, delivered per contract obligation", "run-state: execution artifacts saved to .aiwg/working/prose-runs/{run-id}/", "if multi-service (kind: program + services:): wiring manifest generated before execution" ]
- version
- 0.1.0
- requires
- [ { "program": "path to an OpenProse program file (.md with contract frontmatter)" }, "if program has requires: fields: values for each required input" ]
- namespace
- aiwg
- platforms
- [ "all" ]
- invariants
- [ "Opus-class model required; Sonnet is insufficient for reliable Prose VM simulation", "execution state written to .aiwg/working/prose-runs/ only; no writes outside that path" ]
- description
- Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)
03 SKILL.md 正文
Prose Run Skill
You execute OpenProse programs by loading the Prose VM specification into context and running the program according to its two-phase execution model.
Triggers
- "run prose program" / "execute prose program"
- "execute [file].md as prose"
- "prose run [path]"
- "run this as a prose program"
Input
- A path to an OpenProse program file (
.md) - Optional: input values for the program's
requires:contract
Behavior
Step 0: Detect OpenProse Installation
Run /prose-detect to locate the OpenProse installation and resolve PROSE_ROOT. If not found, stop and report:
OpenProse not found. Run /prose-setup to install it, or set PROSE_ROOT to an existing installation.
Step 1: Locate Prose Specs
Using the PROSE_ROOT resolved by /prose-detect:
- Prose VM spec:
$PROSE_ROOT/prose.md - Forme Container spec:
$PROSE_ROOT/forme.md - If files are missing at resolved path: report error (path is stale — re-run
/prose-detect)
Step 2: Read the Program
Read the target program file. Parse frontmatter to determine:
- Single-component (
kind: serviceor noservices:list) → skip to Step 4 - Multi-component (
kind: programwithservices:list) → proceed to Step 3
Step 3: Phase 1 — Forme Wiring (Multi-Component Only)
Load forme.md into context and execute wiring:
- Read the program entry point
- Read all service
.mdfiles listed inservices: - For each service, extract
requires:andensures: - Match outputs to inputs by semantic understanding
- Build a dependency graph
- Determine execution order (topological sort)
- Produce a manifest describing the wiring
Step 4: Phase 2 — Prose VM Execution
Load prose.md into context. This causes the LLM to simulate the Prose VM.
For each component in execution order:
- Spawn a sub-agent session via the Task tool
- Pass required inputs (from user input or previous component outputs)
- The sub-agent executes the component's contract
- Capture the
ensures:outputs - Store outputs in
.aiwg/working/prose-runs/{run-id}/
Step 5: Return Results
Collect the final program outputs (the root program's ensures: values) and present them to the user.
Step 6: Report Execution Summary
## Prose Execution Complete
**Program**: {name}
**Components executed**: {count}
**Execution order**: {component1} → {component2} → ...
**Duration**: {time}
### Outputs
| Name | Value Summary |
|------|---------------|
| {ensures name} | {brief output summary} |
### State
Run artifacts saved to: `.aiwg/working/prose-runs/{run-id}/`
Requirements
- Model: Opus-class model required for reliable Prose VM simulation ("Prose Complete" definition)
- Prose installation:
prose.mdandforme.mdmust be accessible - Context budget: Multi-service programs consume significant context — monitor carefully
Safety
- Programs are executed in the current session's sandbox
- File writes are limited to
.aiwg/working/prose-runs/ - Sub-agent sessions inherit the parent's tool permissions
- No network access beyond what the parent session allows
Limitations
- Requires Opus for reliable execution; Sonnet may produce partial or incorrect results
- Large multi-service programs may exceed context budget
- No persistent state across sessions (state lives in
.aiwg/working/)
References
- @$AIWG_ROOT/${CLAUDE_PLUGIN_ROOT}/README.md — prose-integration addon overview
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/subagent-scoping.md — Sub-agent spawning via Task tool for multi-component execution
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/context-budget.md — Monitor context budget for large multi-service programs
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/research-before-decision.md — Run prose-detect and prose-validate before execution
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference for AIWG integration commands
04 同仓库更多 Skills
host-hardening
Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.
exposure-analysis
Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.
host-hardening
Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.
exposure-analysis
Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.
fixture-skill
Exercise rule delivery.
pi-local
Pi-local duplicate-precedence fixture.