aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
173 lines (122 loc) • 5.41 kB
Markdown
# OpenProse Integration Guide
Practical guide for using OpenProse programs within AIWG workflows. For conceptual overview, see `overview.md`.
## Quick Start
```bash
# 1. Check if OpenProse is available
/prose-detect
# 2. If not found, install it
/prose-install
# 3. Validate a program before running
/prose-validate path/to/program.md
# 4. Run a program
/prose-run path/to/program.md
```
## Installation
The `prose-detect` skill finds OpenProse if you already have it installed (via `npx skills add openprose/prose`, git clone, or prior usage). If not found, `prose-install` handles it:
```bash
/prose-install
# → Prompts for confirmation, then installs to ~/.aiwg/prose/
# → Saves path to .aiwg/config.json for future sessions
```
Once installed, all prose skills find it automatically — you don't need to run install again.
## Providing a Custom Install Path
If you have OpenProse installed somewhere specific:
```bash
# Option 1: Environment variable (per-session)
export PROSE_ROOT=/path/to/prose/skills/open-prose
# Option 2: AIWG config (persists across sessions)
# .aiwg/config.json
{
"prose": {
"path": "/path/to/prose/skills/open-prose"
}
}
# Option 3: Project plugin manifest (auto-detected)
# .claude-plugin/plugin.json
{
"name": "open-prose",
"path": "./prose"
}
```
## Running Programs
### Single-Component Program
A single `.md` file with `requires:`, `ensures:`, and the program body:
```bash
/prose-run my-analysis.md
# → Loads prose.md spec, executes program, returns ensures: outputs
```
### Multi-Component Program
A directory with `index.md` (`kind: program`) and service files:
```bash
# Preview the wiring before running
/forme-manifest my-program/
# → Shows service contracts, dependency graph, execution order, Mermaid diagram
# Run the full program
/prose-run my-program/index.md
# → Phase 1: Forme wiring → Phase 2: Prose VM execution
```
### Reading a Program's Contract
Before running, understand what a program needs and what it delivers:
```bash
/prose-reader my-analysis.md
# → Extracts requires:, ensures:, errors:, invariants: into structured summary
```
## Model Requirements
`prose-run` requires **Opus**. The Prose VM specification requires a model capable of reliably simulating the VM across the full program execution. Sonnet may produce partial or incorrect results for complex programs.
All other prose skills (detect, reader, validate, forme-manifest, install) run on **Haiku** or **Sonnet**.
## Using Prose from AIWG Flows
The integration surface is the contract — Prose `requires:` maps to AIWG outputs; Prose `ensures:` maps to AIWG artifact inputs.
```
AIWG agent produces output → Prose program requires:
Prose program ensures: → AIWG agent or artifact receives
```
### Example: Research Analysis via Prose Self-Refine
An SDLC flow that needs high-quality analysis can delegate to a Prose program:
```
Flow: flow-test-strategy-execution
Step 1: Gather test results (AIWG agent)
Step 2: Run Prose self-refine analysis
/prose-run examples/40-rlm-self-refine/index.md
Input → requires: { artifact: test-results.md, criteria: "coverage, flaky tests" }
Output ← ensures: { result: analysis scoring 85+ }
Step 3: Create test plan from analysis (AIWG agent)
```
### When to Use Prose vs. AIWG Agents
**Use Prose when:**
- Task has clear `requires:`/`ensures:` contract that can be stated as obligations
- One of the 50+ bundled Prose examples matches the pattern
- Reproducibility matters — declarative spec can be re-run identically
- Quality must be formally committed to (not just described)
**Use AIWG agents when:**
- Workflow is interactive (requires human-in-the-loop mid-execution)
- Task produces AIWG-specific artifacts (SAD, ADRs, test plans) — use SDLC agents
- Task is simple enough that a single agent call suffices
- Platform-specific features are needed that Prose can't access
## Execution State
Prose run artifacts are stored at `.aiwg/working/prose-runs/{run-id}/`. This is ephemeral — it does not persist across sessions. To preserve outputs as formal AIWG artifacts, copy them to the appropriate `.aiwg/` subdirectory.
## Debugging
```bash
# Check detection chain
/prose-detect
# → Reports which signal resolved PROSE_ROOT
# Validate before running (catches contract authoring errors)
/prose-validate program.md
# Preview wiring for multi-service programs
/forme-manifest program-dir/
# → Shows dependency graph without executing
```
## Configuration Reference
| Config Key | Env Var | Default | Description |
|------------|---------|---------|-------------|
| `prose.path` | `PROSE_ROOT` | auto-detect | Path to `skills/open-prose/` |
| `prose.stateDir` | — | `.aiwg/working/prose-runs` | Execution state directory |
| `prose.defaultModel` | — | `opus` | Model for prose-run |
Set in `.aiwg/config.json` or `aiwg.yml` under `addons.prose-integration`.
## Troubleshooting
| Problem | Solution |
|---------|----------|
| `prose-detect` reports not found | Run `/prose-install` |
| prose-run gives wrong results | Verify model is Opus; Sonnet is insufficient |
| Stale path in config | Delete `.aiwg/config.json prose.path` and re-run `/prose-detect` |
| Multi-service wiring fails | Run `/forme-manifest` first to check for unwired dependencies |
| Program runs but output is wrong | Run `/prose-validate` to check contract structure |