Skip to content
Back to skills

Prose Run

ASecurity

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

  • 211 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 21, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Scanned September 21, 2026

npx -y skills add jmagly/ai-writing-guide --skill prose-run --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prose Run?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prose Run
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jmagly-prose-run-63fe8e28/badge)](https://www.skillsdirectory.com/skills/jmagly-prose-run-63fe8e28)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
namespace: aiwg
name: prose-run
description: Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution)
version: 0.1.0
platforms: [all]
requires:
  - program: path to an OpenProse program file (.md with contract frontmatter)
  - "if program has requires: fields: values for each required input"
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"
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
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
---

# 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/${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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…