Skip to content
OpenProse

Public skill guide

Express intent by composing requirements.

Contract authoring is expressing intent by composing requirements. Reusable contracts let you express common requirements consistently and combine them for the task.

This guide covers public skill 0.18.1, a separate implementation from the Markdown kernel. The kernel and library entry for agents identifies that release.

MIT License
$ npx skills add openprose/prose

The command may install a newer skill version. Check the installed version and your agent’s capabilities.

Concepts

Authoring requirements

Clear requirements guide action and make completion assessable. Use plain English where it is specific enough; introduce technical terms when they clarify a distinction.

1

Requirements

Contract authoring is expressing intent by composing requirements. Compose contracts for required work, evidence, review and authorization; distinguish requirements from optional preferences.

2

Discretion

Make clear which choices remain open. The executor can change its approach within the requirements. If a particular procedure is required, that procedure remains part of the contract.

3

Composition

Reuse contracts that express common requirements and make their adoption explicit. Supply the relevant inputs and identify how the requirements apply together. Report conflicting requirements rather than inventing precedence.

4

Scope and revision

State when requirements apply and how they may be revised or withdrawn. Preserve the requirements currently in force, rather than treating every past instruction as permanently applicable.

5

Execution and evaluation

The executor returns a result that includes evidence. The evaluator assesses that result against the contract. An assessment can identify satisfied requirements, unmet requirements or insufficient evidence.

The stack

The public skill implementation.

The retained examples below describe the public skill implementation. Its named kinds, compiler, and runtime are version-specific. Check the selected release before using its syntax or commands.

ProseSource

The public skill uses Markdown contracts with named kinds, including function and responsibility. Its ProseScript layer expresses explicit execution steps.

These are version-specific source conventions. Read the selected skill reference before using *.prose.md examples.

FormeCompile

Forme connects Requires and Maintains declarations and produces a topology for this implementation.

prose compile and prose run belong to the public skill toolchain. Successful compilation does not establish fulfillment.

HarnessExecute

The harness supplies runtime capabilities. The retained responsibility runtime describes fingerprint comparisons, scheduled work, and execution receipts.

Those mechanisms depend on the selected release and environment. A receipt records an execution decision; its existence alone does not verify every requirement.

Execution and compatibility

Prose Complete

Prose Complete names an ideal of faithful interpretation and execution. A model and its environment must understand the selected agreement and supply the capabilities it requires. Access to files and delegation alone does not establish that qualification.

Evaluate a specific model, harness, language version, and workload. A successful example does not establish that every contract will work, or that programs transfer unchanged between releases and environments.

The earlier reports below are retained for context. They are informal observations, not current test results or compatibility guarantees.

Prose Complete

ideal · faithfully execute the selected .prose.md

Earlier qualitative reports

Retained observations, not current compatibility certification.
  • Claude Code+Opus 4.8
    Long-running programs.informal
  • Claude Code+Sonnet 4.6
    Long-running programs.informal
  • Codex CLI+GPT-5.5
    Earlier anecdotal report.anecdotal
  • Deterministic harness+Opus 4.8
    Earlier runtime preview.preview

Earlier investigation list

Current qualification has not been established here.
  • OpenCode+Sonnet 4.6
    Earlier investigation note.anecdotal
  • Pi
    With the sub-agents extension.
  • Claude Code+Haiku 4.5
    No qualification established.preview
  • Amp+Opus 4.8 / Sonnet 4.6

Composition in practice

Reuse requirements across tasks.

Reusable contracts provide the building blocks; composition determines how their requirements apply together. For example, an author can combine requirements for a report with a review requirement and a spending limit. Those requirements guide the work without fixing every step.

The two retained experiments below used the public responsibility, function, and workflow conventions. They illustrate reuse in that implementation, not a required structure for every contract.

Daily to Slack

intelligence-daily

  1. mention-intelligence and competitor-intelligence run in parallel, each calling platform-scanner across the monitored platforms.
  2. Results are merged into a 2-minute briefing. No human gate, just a read-only digest.
  3. std/delivery/slack-notifier posts it to the team channel. An out-of-band std/evals run grades the briefing against the contract after the fact.

On demand, human-gated

gtm-pipeline

  1. lead-enrichment takes a name or company and composes person-enrichment + company-enrichment, then adds qualification and a Save/Grow framing.
  2. program-designer drafts two Prose programs (one Save, one Grow) tailored to the lead. The output is demo-ready contract files, not bullet points.
  3. std/delivery/human-gate holds the design for review before the irreversible step: customer-repo-scaffolder writing the customers/prose-{slug}/ directory.

The same shape (responsibilities calling functions, delivery workflows, out-of-band evals) repeats across the experiments. Reuse is the point: a function written for one responsibility tends to become the primitive for three others. The experiments, with their contracts, are on Field Notes.

FAQ

Common questions

What is OpenProse?
Contract authoring is expressing intent by composing requirements. An agent performs the work, and an evaluator assesses whether the contract’s requirements are satisfied. Authors compose reusable contracts in Markdown.
What is a contract?
A contract states requirements and the context needed to interpret them. Authors compose contracts for required work, evidence, review and authorization. A contract can specify one-time work or an ongoing condition.
How do contracts compose?
Reusable contracts provide the building blocks; composition determines how their requirements apply together. For example, combine requirements for a report with a review requirement and a spending limit. Select the contracts that apply and supply their inputs. A link alone does not adopt instructions or resolve conflicting requirements.
How much of the approach should I specify?
Specify a particular step when it is required, such as obtaining review before publication. Leave other choices open when different approaches are acceptable. An agent may change its approach within the requirements; it must not silently change the requirements themselves.
How are requirements evaluated?
The executor performs the work and returns a result that includes evidence. The evaluator uses that result to assess whether the contract’s requirements are satisfied. An assessment can identify unmet requirements or missing evidence. Execution and evaluation repeat as needed.
What does the execution environment provide?
The environment supplies capabilities such as tools, file access, credentials, and delegation. Writing a requirement does not make those capabilities available. Check the selected language version, model, tools, permissions, and evidence before relying on a particular execution path.
Which version do the installation and examples use?
This site retains an installation path for the public openprose/prose skill and examples from that implementation. Its Forme compiler, ProseScript, and named contract kinds are version-specific features. The agent resource index identifies pinned references; the installation command may fetch a newer revision. Review the installed version before using an example.
How do I install the public skill?
Run npx skills add openprose/prose in a compatible agent environment. The skill provides instructions; it does not install every tool, grant permissions, or establish that a model can fulfill every contract.
What is Forme?
Forme is the compiler described by the public skill references retained on this site. It connects Requires and Maintains declarations and emits a topology for that runtime. Those sections and the compile phase belong to that implementation; they are not a universal definition of contract composition.
Can I use plain English?
Yes. Use direct sentences and specific terms. Compose contracts for requirements such as evidence, review and authorization. Distinguish those requirements from optional preferences and identify when they apply. Reusable contracts can express common rules without requiring every author to reproduce them.
How is this different from SKILL.md or AGENTS.md?
Skills package instructions and resources, while repository guidance directs contributors. Contract authoring focuses on the requirements for requested work and how reusable contracts apply together. A skill can deliver a language implementation. A file becomes part of an agreement through the applicable adoption rules, not simply because the agent reads it.
How do I share contracts?
Keep authored contracts under version control, review their changes, and identify the versions and inputs used for execution. Installation, dependency resolution, and lockfile formats depend on the selected tooling. The public skill has its own documented package and version conventions.
What happens when work fails?
Report which requirements remain unmet, what evidence is available, and any actions or partial effects that occurred. Preserve the distinction between an attempted action and a successful result. Recovery must follow the agreement and the capabilities of the execution environment.
What does the hosted service provide?
The hosted runner is a separate product at run.prose.md. Consult its current interface and documentation for supported authoring, execution, evaluation, and billing features. Language concepts alone do not establish service availability, automatic monitoring, or compatibility across versions.

Go deeper

For the public skill specification, examples corpus, and reference docs, go to the source.