Codex

prose-run

Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)

104 stars

Best use case

prose-run is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)

Teams using prose-run should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/prose-run/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/prose-run/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/prose-run/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How prose-run Compares

Feature / Agentprose-runStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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`:

1. Prose VM spec: `$PROSE_ROOT/prose.md`
2. Forme Container spec: `$PROSE_ROOT/forme.md`
3. 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: service` or no `services:` list) → skip to Step 4
- **Multi-component** (`kind: program` with `services:` list) → proceed to Step 3

### Step 3: Phase 1 — Forme Wiring (Multi-Component Only)

Load `forme.md` into context and execute wiring:

1. Read the program entry point
2. Read all service `.md` files listed in `services:`
3. For each service, extract `requires:` and `ensures:`
4. Match outputs to inputs by semantic understanding
5. Build a dependency graph
6. Determine execution order (topological sort)
7. 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:
1. Spawn a sub-agent session via the Task tool
2. Pass required inputs (from user input or previous component outputs)
3. The sub-agent executes the component's contract
4. Capture the `ensures:` outputs
5. 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

```markdown
## 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.md` and `forme.md` must 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/agentic/code/addons/prose-integration/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

Related Skills

prose-validate

104
from jmagly/aiwg

Validate an OpenProse program file against Prose contract grammar without executing it — checks frontmatter, contract structure, service references, and strategy syntax

Codex

prose-setup

104
from jmagly/aiwg

Clone or update the OpenProse repository to ensure AIWG prose tools hook into the latest version of the specification and examples

Codex

prose-reader

104
from jmagly/aiwg

Read and parse an OpenProse program file, extracting its contract (requires, ensures, strategies, errors, invariants) and services into a structured representation

Codex

prose-install

104
from jmagly/aiwg

Install OpenProse for AIWG use when no existing installation is found. Tries npx skills add first, falls back to git clone, then saves the resolved path to .aiwg/config.json.

Codex

prose-detect

104
from jmagly/aiwg

Locate an existing OpenProse installation using a prioritized signal chain — env var, AIWG config, AIWG-local install, project plugin manifest, user home directory, or global CLI. Returns the resolved PROSE_ROOT path. Does not install OpenProse; triggers prose-setup if no installation is found.

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.

pr-reviewer

104
from jmagly/aiwg

Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows.