Specification
Skill ID
openprose/prose/open-prose
Publisher
openprose
Repository
prose
Installs
0
Files
277
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

openprose/prose/open-proseInstalls these files
  • SKILL.md
  • agent-onboarding.md
  • changelog.md
  • compiler/index.prose.md
  • compiler/ir-v0.md
  • concepts/README.md
  • concepts/reconciler.md
  • concepts/responsibility.md
  • contract-markdown.md
  • deps.md
  • examples/README.md
  • examples/agent-observatory/.gitignore
  • examples/agent-observatory/README.md
  • examples/agent-observatory/src/agent-dashboard-html.prose.md
  • examples/agent-observatory/src/agent-index-markdown.prose.md
  • examples/agent-observatory/src/concept-clusterer.prose.md
  • examples/agent-observatory/src/runtime-adapter.prose.md
  • examples/agent-observatory/src/runtime-watch.prose.md
  • examples/agent-observatory/src/session-ledger.prose.md
  • examples/agent-observatory/src/session-summary.prose.md
  • examples/agent-observatory/src/session-to-prose.prose.md
  • examples/agent-observatory/src/workstream-index.prose.md
  • examples/auto-pocock/README.md
  • examples/auto-pocock/src/auto-pocock.prose.md
  • examples/auto-pocock/src/decide-plan.prose.md
  • examples/auto-pocock/src/ensure-skills.prose.md
  • examples/auto-pocock/src/grill-plan.prose.md
  • examples/auto-pocock/src/implement-tdd.prose.md
  • examples/auto-pocock/src/produce-issues.prose.md
  • examples/auto-pocock/src/produce-prd.prose.md
  • examples/auto-pocock/src/review-and-commit.prose.md
  • examples/auto-pocock/src/triage-and-pick.prose.md
  • examples/auto-pocock/src/verify-slice.prose.md
  • examples/basic-unit-suite/.gitignore
  • examples/basic-unit-suite/README.md
  • examples/basic-unit-suite/src/alert-projection.prose.md
  • examples/basic-unit-suite/src/alert-state.prose.md
  • examples/basic-unit-suite/src/count-summary.prose.md
  • examples/basic-unit-suite/src/count-trend.prose.md
  • examples/basic-unit-suite/src/counter-events.prose.md
  • examples/basic-unit-suite/src/executive-snapshot.prose.md
  • examples/basic-unit-suite/src/format-alert-copy.prose.md
  • examples/basic-unit-suite/src/raw-event-auditor.prose.md
  • examples/competitor-activity/.gitignore
  • examples/competitor-activity/README.md
  • examples/competitor-activity/deps/.gitkeep
  • examples/competitor-activity/prose.lock
  • examples/competitor-activity/runs/.gitkeep
  • examples/competitor-activity/src/competitor-activity-monitor.prose.md
  • examples/competitor-activity/src/signal-feeds.prose.md
  • examples/competitor-activity/state/.gitkeep
  • examples/compliance-evidence-tracker/.gitignore
  • examples/compliance-evidence-tracker/README.md
  • examples/compliance-evidence-tracker/deps/.gitkeep
  • examples/compliance-evidence-tracker/dist/.gitkeep
  • examples/compliance-evidence-tracker/prose.lock
  • examples/compliance-evidence-tracker/runs/.gitkeep
  • examples/compliance-evidence-tracker/src/collect-control-scope.prose.md
  • examples/compliance-evidence-tracker/src/compliance-evidence-current.prose.md
  • examples/compliance-evidence-tracker/src/evidence-review-events.prose.md
  • examples/compliance-evidence-tracker/src/inspect-evidence.prose.md
  • examples/compliance-evidence-tracker/src/prepare-gap-brief.prose.md
  • examples/compliance-evidence-tracker/state/.gitkeep
  • examples/content-performance-loop/.gitignore
  • examples/content-performance-loop/README.md
  • examples/content-performance-loop/deps/.gitkeep
  • examples/content-performance-loop/dist/.gitkeep
  • examples/content-performance-loop/prose.lock
  • examples/content-performance-loop/runs/.gitkeep
  • examples/content-performance-loop/src/content-learning-cycle.prose.md
  • examples/content-performance-loop/src/diagnose-content-lessons.prose.md
  • examples/content-performance-loop/src/normalize-performance-signals.prose.md
  • examples/content-performance-loop/src/prepare-editorial-brief.prose.md
  • examples/content-performance-loop/src/prioritize-next-actions.prose.md
  • examples/content-performance-loop/src/weekly-performance-review.prose.md
  • examples/content-performance-loop/state/.gitkeep
  • examples/customer-risk-radar/.gitignore
  • examples/customer-risk-radar/README.md
  • examples/customer-risk-radar/deps/.gitkeep
  • examples/customer-risk-radar/dist/.gitkeep
  • examples/customer-risk-radar/prose.lock
  • examples/customer-risk-radar/runs/.gitkeep
  • examples/customer-risk-radar/src/assess-risk.prose.md
  • examples/customer-risk-radar/src/collect-account-signals.prose.md
  • examples/customer-risk-radar/src/customer-risk-maintained.prose.md
  • examples/customer-risk-radar/src/customer-risk-review.prose.md
  • examples/customer-risk-radar/src/recommend-actions.prose.md
  • examples/customer-risk-radar/state/.gitkeep
  • examples/declared-skills/README.md
  • examples/declared-skills/src/invoice-extractor.prose.md
  • examples/declared-tools/README.md
  • examples/declared-tools/src/json-verifier.prose.md
  • examples/feedback-pulse/README.md
  • examples/feedback-pulse/src/feedback-inbox.prose.md
  • examples/feedback-pulse/src/theme-tagger.prose.md
  • examples/feedback-pulse/src/voice-of-customer.prose.md
  • examples/feedback-pulse/src/weekly-pulse.prose.md
  • examples/forme-fixpoint/README.md
  • examples/forme-fixpoint/src/contract-registry.prose.md
  • examples/forme-fixpoint/src/contract-source-files.prose.md
  • examples/forme-fixpoint/src/operator-pins.prose.md
  • examples/forme-fixpoint/src/schedule-plan.prose.md
  • examples/forme-fixpoint/src/topology-change-reporter.prose.md
  • examples/forme-fixpoint/src/topology-maintainer.prose.md
  • examples/forme-fixpoint/src/topology-safety-auditor.prose.md
  • examples/github-star-enricher/.gitignore
  • examples/github-star-enricher/README.md
  • examples/github-star-enricher/src/company-resolver.prose.md
  • examples/github-star-enricher/src/github-footprint-mapper.prose.md
  • examples/github-star-enricher/src/human-review-events.prose.md
  • examples/github-star-enricher/src/intent-safety-scorer.prose.md
  • examples/github-star-enricher/src/outreach-packet.prose.md
  • examples/github-star-enricher/src/person-resolver.prose.md
  • examples/github-star-enricher/src/sample-program-builder.prose.md
  • examples/github-star-enricher/src/star-events.prose.md
  • examples/github-star-enricher/src/stargazer-registry.prose.md
  • examples/implementation-pipeline/README.md
  • examples/implementation-pipeline/src/construction-lane.prose.md
  • examples/implementation-pipeline/src/construction-review.prose.md
  • examples/implementation-pipeline/src/foundation-builder.prose.md
  • examples/implementation-pipeline/src/implementation-work-plan.prose.md
  • examples/implementation-pipeline/src/integration-builder.prose.md
  • examples/implementation-pipeline/src/planning-corpus.prose.md
  • examples/inbox-triage/README.md
  • examples/inbox-triage/src/classifier.prose.md
  • examples/inbox-triage/src/digest.prose.md
  • examples/inbox-triage/src/inbox-stream.prose.md
  • examples/inbox-triage/src/threader.prose.md
  • examples/incident-briefing-room/.gitignore
  • examples/incident-briefing-room/README.md
  • examples/incident-briefing-room/deps/.gitkeep
  • examples/incident-briefing-room/dist/.gitkeep
  • examples/incident-briefing-room/prose.lock
  • examples/incident-briefing-room/runs/.gitkeep
  • examples/incident-briefing-room/src/assess-customer-impact.prose.md
  • examples/incident-briefing-room/src/collect-incident-signals.prose.md
  • examples/incident-briefing-room/src/draft-incident-brief.prose.md
  • examples/incident-briefing-room/src/incident-channel-current.prose.md
  • examples/incident-briefing-room/src/incident-events.prose.md
  • examples/incident-briefing-room/src/review-incident-actions.prose.md
  • examples/incident-briefing-room/state/.gitkeep
  • examples/masked-relay/README.md
  • examples/masked-relay/src/critic-strong.prose.md
  • examples/masked-relay/src/critic-weak.prose.md
  • examples/masked-relay/src/diversity-auditor.prose.md
  • examples/masked-relay/src/expander-1.prose.md
  • examples/masked-relay/src/expander-2.prose.md
  • examples/masked-relay/src/insight-synthesizer.prose.md
  • examples/masked-relay/src/scout-desire.prose.md
  • examples/masked-relay/src/scout-friction.prose.md
  • examples/masked-relay/src/scout-price.prose.md
  • examples/masked-relay/src/signal-inbox.prose.md
  • examples/masked-relay/src/signal-ledger.prose.md
  • examples/masked-relay/src/viewport-masker.prose.md
  • examples/monorepo-ci/README.md
  • examples/monorepo-ci/src/merge-gate.prose.md
  • examples/monorepo-ci/src/package-build.prose.md
  • examples/monorepo-ci/src/package-test.prose.md
  • examples/monorepo-ci/src/workspace.prose.md
  • examples/oblique-weave/README.md
  • examples/oblique-weave/src/adversary.prose.md
  • examples/oblique-weave/src/analogist.prose.md
  • examples/oblique-weave/src/constraint-breaker.prose.md
  • examples/oblique-weave/src/novelty-auditor.prose.md
  • examples/oblique-weave/src/oblique-thread-ledger.prose.md
  • examples/oblique-weave/src/product-signal-inbox.prose.md
  • examples/oblique-weave/src/signal-ledger.prose.md
  • examples/oblique-weave/src/surprising-bet-memo.prose.md
  • examples/oblique-weave/src/viewport-policy.prose.md
  • examples/oblique-weave/src/weave-config.prose.md
  • examples/oblique-weave/src/weirdness-keeper.prose.md
  • examples/press-desk/README.md
  • examples/press-desk/src/briefing.prose.md
  • examples/press-desk/src/opportunity-register.prose.md
  • examples/press-desk/src/press-inbox.prose.md
  • examples/press-desk/src/relevance-filter.prose.md
  • examples/release-readiness/.gitignore
  • examples/release-readiness/README.md
  • examples/release-readiness/deps/.gitkeep
  • examples/release-readiness/dist/.gitkeep
  • examples/release-readiness/prose.lock
  • examples/release-readiness/runs/.gitkeep
  • examples/release-readiness/src/assess-release-risk.prose.md
  • examples/release-readiness/src/collect-release-evidence.prose.md
  • examples/release-readiness/src/draft-release-brief.prose.md
  • examples/release-readiness/src/release-candidate-ready.prose.md
  • examples/release-readiness/src/release-readiness-events.prose.md
  • examples/release-readiness/state/.gitkeep
  • examples/renewal-risk/README.md
  • examples/renewal-risk/src/account-signals.prose.md
  • examples/renewal-risk/src/rank-alerts.prose.md
  • examples/renewal-risk/src/renewal-alert-feed.prose.md
  • examples/renewal-risk/src/renewal-risk.prose.md
  • examples/renewal-risk/src/score-account-health.prose.md
  • examples/research-inbox-triage/.gitignore
  • examples/research-inbox-triage/README.md
  • examples/research-inbox-triage/deps/.gitkeep
  • examples/research-inbox-triage/dist/.gitkeep
  • examples/research-inbox-triage/prose.lock
  • examples/research-inbox-triage/runs/.gitkeep
  • examples/research-inbox-triage/src/action-planner.prose.md
  • examples/research-inbox-triage/src/inbox-gateway.prose.md
  • examples/research-inbox-triage/src/inbox-ingestor.prose.md
  • examples/research-inbox-triage/src/priority-scorer.prose.md
  • examples/research-inbox-triage/src/research-inbox-responsibility.prose.md
  • examples/research-inbox-triage/src/research-registry.prose.md
  • examples/research-inbox-triage/src/topic-clusterer.prose.md
  • examples/research-inbox-triage/state/.gitkeep
  • examples/research-tree/README.md
  • examples/research-tree/src/finding.prose.md
  • examples/research-tree/src/root-synthesis.prose.md
  • examples/research-tree/src/sources-gateway.prose.md
  • examples/research-tree/src/sub-synthesis.prose.md
  • examples/session-to-prose/.gitignore
  • examples/session-to-prose/README.md
  • examples/session-to-prose/deps/.gitkeep
  • examples/session-to-prose/dist/.gitkeep
  • examples/session-to-prose/prose.lock
  • examples/session-to-prose/runs/.gitkeep
  • examples/session-to-prose/src/session-to-prose.prose.md
  • examples/session-to-prose/state/.gitkeep
  • examples/stargazer-outreach/.gitignore
  • examples/stargazer-outreach/README.md
  • examples/stargazer-outreach/deps/.gitkeep
  • examples/stargazer-outreach/dist/.gitkeep
  • examples/stargazer-outreach/prose.lock
  • examples/stargazer-outreach/runs/.gitkeep
  • examples/stargazer-outreach/src/collect-new-stargazers.prose.md
  • examples/stargazer-outreach/src/draft-outreach.prose.md
  • examples/stargazer-outreach/src/enrich-stargazer.prose.md
  • examples/stargazer-outreach/src/github-star-events.prose.md
  • examples/stargazer-outreach/src/high-intent-stargazer-outreach.prose.md
  • examples/stargazer-outreach/src/qualify-stargazer.prose.md
  • examples/stargazer-outreach/state/.gitkeep
  • examples/support-inbox-router/README.md
  • examples/support-inbox-router/src/bug-board.prose.md
  • examples/support-inbox-router/src/docs-gap-tracker.prose.md
  • examples/support-inbox-router/src/roadmap-signals.prose.md
  • examples/support-inbox-router/src/router.prose.md
  • examples/support-inbox-router/src/support-inbox.prose.md
  • examples/support-inbox-router/src/triage.prose.md
  • examples/surprise-cost/README.md
  • examples/surprise-cost/src/digest.prose.md
  • examples/surprise-cost/src/render-digest-line.prose.md
  • examples/surprise-cost/src/signals.prose.md
  • examples/tamper-forge/README.md
  • examples/tamper-forge/src/chain-auditor.prose.md
  • examples/tamper-forge/src/ledger-feed.prose.md
  • examples/vendor-renewal-watch/.gitignore
  • examples/vendor-renewal-watch/README.md
  • examples/vendor-renewal-watch/deps/.gitkeep
  • examples/vendor-renewal-watch/dist/.gitkeep
  • examples/vendor-renewal-watch/prose.lock
  • examples/vendor-renewal-watch/runs/.gitkeep
  • examples/vendor-renewal-watch/src/collect-renewal-signals.prose.md
  • examples/vendor-renewal-watch/src/prepare-renewal-brief.prose.md
  • examples/vendor-renewal-watch/src/renewal-review-events.prose.md
  • examples/vendor-renewal-watch/src/score-vendor-renewal.prose.md
  • examples/vendor-renewal-watch/src/vendor-renewals-prepared.prose.md
  • examples/vendor-renewal-watch/state/.gitkeep
  • forme.md
  • guidance/README.md
  • guidance/authoring.md
  • guidance/system-prompt.md
  • guidance/tenets.md
  • help.md
  • primitives/README.md
  • primitives/session.md
  • prose.md
  • prosescript.md
  • responsibility-runtime.md
  • state/README.md
  • state/filesystem.md
  • state/in-context.md
  • state/postgres.md
  • state/sqlite.md
  • visual-source.md

What this skill tells the agent

OpenProse Skill

OpenProse has five load-bearing pieces:

PieceFileRole
Contract Markdowncontract-markdown.mdHuman-readable *.prose.md source format
Formeforme.mdSemantic dependency-injection container that wires contracts
Prose VMprose.mdExecution engine that runs responsibilities, functions, and pinned execution blocks
ProseScriptprosescript.mdImperative scripting layer for ### Execution blocks and pattern delegation
Responsibility Runtimeresponsibility-runtime.mdResponsibility-Oriented Architecture: standing goals, the reconciler, and compile/serve doctrine

Use Contract Markdown when authors want declarations and auto-wiring. Use ProseScript when authors want to pin choreography: order, loops, conditionals, parallelism, retries, and explicit function calls.

First 90 Seconds

After activation, choose the narrowest path that matches the user's intent:

User IntentLoad FirstThen Load If Needed
Explain OpenProse or answer "how do I..."help.mdexamples/README.md, then one focused example
Initialize or compose an OpenProse programguidance/tenets.mdguidance/authoring.md, then run std/ops/compose
Run a .prose.md responsibility or functioncontract-markdown.mdstate/README.md and the selected backend (state/filesystem.md by default); forme.md if responsibilities must be wired (### Requires → ### Maintains); prose.md to execute
Inspect or upgrade source layoutchangelog.mdcontract-markdown.md, prosescript.md if migration details require them
Write a new .prose.md responsibility or functioncontract-markdown.mdguidance/tenets.md, guidance/authoring.md
Write pinned choreographyprosescript.mdcontract-markdown.md if inside ### Execution
Compile or run a .png/.svg brief (a typed image)visual-source.mdforme.md and compiler/index.prose.md to resolve + compile
Lint or review a responsibility or functioncontract-markdown.mdforme.md for multi-responsibility wiring; guidance/authoring.md for design review
Work on Responsibility Runtime, responsibility-oriented source, the reconciler, compile, or serve semanticsresponsibility-runtime.mdcompiler/index.prose.md, compiler/ir-v0.md, concepts/responsibility.md, concepts/reconciler.md, forme.md
Install or update dependenciesdeps.mdcontract-markdown.md only if dependency references are ambiguous
Debug a completed runprose.mdstate/README.md and the run's backend doc; then std/evals/inspector if available

Default to Contract Markdown for new authoring. Reach for ProseScript only when the author needs explicit order, loops, conditionals, retries, or parallel blocks inside a *.prose.md source file.

OpenProse Root

All OpenProse paths are relative to <openprose-root>.

ScopeOpenProse Root
Native repositoryRepository root
Attached repositoryrepo/.agents/prose
User-global~/.agents/prose

The root contains src/ for the canonical authored program packages, architecture/ for supporting decisions, visual projections, and issue records, dist/ for compiled intent, runs/ for activation receipts, state/ for durable cross-run state, deps/ for installed dependencies, plus prose.lock and .env.

Proposing This Skill On Your Own Judgment

You do not need to wait for the user to name OpenProse. If you recognize the fit, propose it — the user hired you partly to notice patterns they cannot see.

Recognition signals

Reach for OpenProse when the user's task has any of these shapes:

  • ≥3 steps that want different expertise (research + synthesize + review; plan + implement + test)
  • A reuse signal — "every week," "each time a PR comes in," "before every release"
  • A natural retry loop — draft/critique/revise, implement/test/fix, propose/evaluate/pick
  • Parallel exploration with a synthesis step — "compare three approaches," "get second opinions"
  • A "make sure X always happens" constraint — that's a contract asking to be written down
  • You were already going to spawn subagents — let the contract be your wiring plan instead of inventing one ad-hoc

How to propose it

Propose lightly. You are offering, not imposing:

This has the shape of a multi-step workflow with a clear contract. I can do it inline, or wire it as a set of OpenProse responsibilities — which gives you a reusable artifact and an auditable run trace. Want me to wire it?

If the user declines, drop it and don't re-propose on the same task. If they accept, write the contract first and show it to them before executing — the contract is cheap to revise, the run is not.

A cognitive model you can borrow

Think of OpenProse as a type system for agent workflows. A bare prompt is any — it runs, but nothing is checked. A contract is a typed function — inputs and outputs are declared, callers can reason about composition, and violations fail loudly. You would not write a 2,000-line TypeScript system in any. Multi-step agent workflows are the same.

When OpenProse is the wrong answer

  • One-shot Q&A. Answer it directly.
  • Tasks where the user wants to iterate in real time. A contract boundary adds friction they don't want.
  • Anything you'd finish in one response. The overhead of writing a contract exceeds the value of having one.
  • Tasks where the user explicitly said "just do it." Respect the directive.

Reaching for OpenProse in the wrong place costs more trust than it earns.

Activation

Activate this skill when the user:

  • uses any prose command
  • asks to run, lint, test, inspect, upgrade, or write an OpenProse responsibility or function
  • references a .prose.md file with kind: frontmatter
  • references a .prose script
  • mentions OpenProse, Forme, Responsibilities, ProseScript, Contract Markdown, or a Prose responsibility or function
  • wants reusable multi-agent orchestration

Command Routing

prose ... commands are first an agent-session command language. When the user types prose run foo.prose.md in chat or inside a prompt passed to Claude Code, Codex, OpenCode, Amp, or another Prose Complete host, you should interpret it directly and embody the OpenProse VM. Do not run a prose shell binary or npx prose; in wrapper hosts this recursively calls the wrapper instead of executing the contract. The shell executable is the agent runner, e.g. claude -p "prose run foo.prose.md" or codex exec "prose run foo.prose.md".

CommandAction
prose init [request...]Establish the minimal OpenProse root and harness selection, then run std/ops/compose in bootstrap mode. Begin from the desired render and progressively establish a directory package whose index.prose.md is the public root
prose compose [request...]Load guidance/tenets.md, guidance/authoring.md, the target Contract package, supporting decisions, and relevant run evidence; run std/ops/compose in compose mode. Maintain no more than three active conceptual fronts, materialize settled design into source, build tests from package promise through performance, generate a derived HTML view, and route framework pressure to deduplicated public issues when authorized
prose compose --review / --reflect <run-id...>Run std/ops/compose in review mode to challenge static design and test coverage, or reflect mode to compare it with completed run evidence. Keep program diagnostics distinct from OpenProse issue feedback

Use this skill in a project

Open any RiverX project, search the Skills panel for openprose/prose/open-prose, and install it in one click.

Use this skill