OpenProse — скилл

Скилл и язык контрактов: вы описываете в Markdown, что агент обязан выполнить, а сессия агента сама играет роль виртуальной машины и запускает контракты

  • 1 848 ★ репозитория
  • Последний коммит
  • MIT
СкиллОфициальный

Широкий доступ

Почему такой уровень

  • Исполняет контракты инструментами хоста: агент запускает вспомогательных агентов, читает и пишет файлы и выполняет команды из исходников
  • Библиотека доставки может отправлять почту, сообщения в Slack и вебхуки, а `prose serve` поднимает локальные расписания и HTTP-триггеры
  • Состояние, записи запусков и зависимости пишутся в корень OpenProse, где `.env` может хранить ключи
Все причины и проверки

openprose/prose

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/openprose

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Исполняет контракты инструментами хоста: агент запускает вспомогательных агентов, читает и пишет файлы и выполняет команды из исходников
  • Библиотека доставки может отправлять почту, сообщения в Slack и вебхуки, а `prose serve` поднимает локальные расписания и HTTP-триггеры
  • Состояние, записи запусков и зависимости пишутся в корень OpenProse, где `.env` может хранить ключи

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

OpenProse — формат Contract Markdown и скилл open-prose для совместимых с ним агентов. Программа состоит из файлов `*.prose.md` с заголовком `kind:`. Вид `responsibility` описывает цель, которая должна оставаться верной со временем: раздел `### Maintains` задает схему поддерживаемых данных, `### Requires` подписывает ее на данные других контрактов, `### Continuity` определяет, что будит работу. Вид `function` — разовый вызов с параметрами и результатом, `gateway` принимает внешние события, `pattern` описывает повторно используемую схему координации, `test` хранит проверки. Если важны порядок шагов, циклы, повторы или параллельность, их фиксируют на ProseScript внутри блока `### Execution`. Скилл просыпается на команды `prose ...` и на файлы `.prose.md`. Команда `prose run файл` заставляет саму сессию агента вести себя как виртуальная машина: отдельного бинарного файла нет. Агент читает контракт, выбирает хранилище состояния (по умолчанию файлы, также SQLite, PostgreSQL и контекст сессии), связывает контракты по паре Requires и Maintains и исполняет их инструментами хоста. Затем он оценивает результат по требованиям контракта: сама по себе завершенная работа успехом не считается. Повторная работа запускается детерминированным механизмом сверки без участия модели только когда изменились отпечатки входов или самого контракта. Команды `prose init` и `prose compose` проектируют программу, `prose write` пишет один контракт, `prose compile` собирает исходники в `dist/manifest.next.json`, `prose serve` поднимает локальные расписания и HTTP-триггеры, `prose upgrade` переносит исходники на новый словарь. Рядом лежат библиотеки в packages/std: доставка в почту, Slack и вебхуки, оценки и сверка запусков, память, диагностика и шаблоны вроде веера и map-reduce.

Для кого. Для разработчиков и тех, кто собирает многошаговые процессы из нескольких агентов и хочет записать требования к результату один раз, чтобы не переписывать длинный промпт при каждой доработке.

Подходит, если

  • В задаче три и больше шагов, которым нужна разная экспертиза: исследование, синтез, проверка или план, реализация, тесты
  • Процесс повторяется каждую неделю или на каждый запрос на слияние, и вам нужен многоразовый контракт
  • Есть естественный цикл «черновик, критика, правка» или «реализация, тест, исправление», который агент должен пройти по правилам
  • Нужны параллельные варианты и итоговая сводка: сравнить три подхода или получить несколько мнений с последующим синтезом
  • Нужно записать «всегда должно выполняться X» как проверяемое требование и после запуска получить запись о запуске с доказательствами

Не подходит, если

  • Нужен ответ на одиночный вопрос или задача на один шаг: сам скилл советует отвечать напрямую, без контракта
  • Вы хотите работать с агентом в живом диалоге и править на лету: граница контракта добавит лишнего трения
  • Ваш агент не относится к совместимым (Prose-Complete): скилл исполняется силами самой сессии и опирается на инструменты хоста
  • Нужен постоянный сервис с гарантиями непрерывной работы: постоянные обязанности требуют хоста, который это поддерживает, а эталонный хост Reactor экспериментальный
  • Вы пользуетесь старым словарем OpenProse 0.14 и ждете переноса данных: старые журналы автор не переносит

Пример запроса к агенту

prose init Раз в неделю собирай обзор новых запросов на слияние в репозитории, проверяй каждый обзор вторым агентом и присылай итог в Slack

Ограничения

Лицензия MIT. Автор называет язык молодым и просит применять его осторожно. Версия скилла 0.18.1, `runtime_contract` 2. Переход со словаря 0.14 и старше ломает совместимость: цикл, где модель-судья выносила вердикт, убран, `kind: service` переименован в `kind: function`, `kind: system` удален, старые журналы запусков не переносятся. Исходники обновляет команда `prose upgrade`, начинать нужно с `--dry-run`.

Оценки скорости работы автор пока не публикует: сначала выложен язык, цифры позже. Автоматическое разбиение данных на независимые части и сжатие журналов автор относит к планам. Эталонный хост Reactor вынесен в отдельный репозиторий openprose/reactor и помечен как альфа без гарантий стабильности.

Переносимость контрактов не гарантирует одинакового результата у разных моделей и не добавляет недостающие инструменты. Состояние и записи о запусках хранятся в корне OpenProse: в корне репозитория, в `repo/.agents/prose` или в `~/.agents/prose`.

В документации автор просит агентов самим заводить задачи в репозитории при сбоях. Агенту стоит делать это только с ведома пользователя.

Как отключить. Удалите скилл open-prose из каталога скиллов агента или отключите плагин в его менеджере плагинов. Ваши контракты `*.prose.md`, а также каталоги `runs/`, `state/`, `dist/` и `deps/` в корне OpenProse останутся: удалите их вручную. Если вы запускали `prose serve`, остановите локальные расписания и HTTP-триггеры.

Частые вопросы

Чем responsibility отличается от function?

Responsibility описывает цель, которая должна оставаться верной со временем: она поддерживает данные, подписывается на данные других контрактов и просыпается по входам, расписанию или внешнему событию. Function вызывается один раз, берет параметры и возвращает результат, состояния между вызовами у нее нет.

Нужен ли отдельный бинарный файл `prose`?

Нет. Команда `prose run файл` — инструкция для сессии агента: сам агент играет виртуальную машину и использует инструменты хоста. Отдельный эталонный хост Reactor с бинарным файлом `reactor` существует в другом репозитории и помечен как экспериментальный.

Что такое отпечаток и почему повторного запуска может не быть?

Отпечаток — хэш существенных полей данных узла и его контракта. Детерминированный механизм сверки запускает работу заново, только если сдвинулись отпечатки подписанных входов или собственного контракта. Языковая модель не решает, когда запускать работу и когда принимать результат.

Где хранится состояние запусков?

В корне OpenProse: в корне репозитория, в `repo/.agents/prose` для подключенного репозитория или в `~/.agents/prose` для личных контрактов. Там лежат исходники в `src/`, собранное в `dist/`, записи запусков в `runs/`, долговременное состояние в `state/`, зависимости в `deps/`, а также `prose.lock` и `.env`.

Что входит в библиотеку packages/std?

Контракты доставки в почту, Slack и вебхуки, запись файлов, рендер HTML и шлюз согласования с человеком, оценки и сравнение запусков, память проекта и пользователя, операции compose, lint, wire, status и diagnose, а также шаблоны: веер, map-reduce, слепая рецензия, диалектика, страж и цепочка отката.

Как перейти со старой версии OpenProse?

Версия 0.14 и старше использует другой словарь, и перенос данных запусков не предусмотрен. Исходники обновляют в сессии агента командой `prose upgrade --dry-run`, она показывает план без правок. Рабочее состояние начинают с чистого каталога.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл с 25 командами для разбора и доработки промптов, инструментов и схем агентов в Cursor, Claude Code, Gemini CLI и Codex

СкиллРасширенный доступ592Звезды репозитория

Многоагентная обвязка с проверкой результата по артефактам: стоп-хуки, независимый судья и журнал событий для Claude Code, Codex, Cursor и других

CLIШирокий доступ1,4 тыс.Звезды репозитория

Небольшой маркетплейс плагинов Нуммана Али: оркестрация агентов, сопровождение open-source, Gas Town и Z.AI CLI

ПлагинРасширенный доступ1,1 тыс.Звезды репозитория

Команда ИИ-агентов по одному запросу: планирует задачу, пишет код в параллельных ветках, тестирует, проверяет и открывает пull request

ВоркфлоуШирокий доступ1,1 тыс.Звезды репозитория

oah раскладывает более 80 скиллов, пять ролей и команды /commit, /review, /test-tdd по папкам Claude Code, Cursor, Codex и других

CLIРасширенный доступ984Звезды репозитория

Открытый кодовый агент для терминала, браузера и десктопа, который работает с моделями от OpenAI и Claude до Ollama

CLIШирокий доступ359Звезды репозитория

Коротко о README

Описание на английском объясняет идею: требования записываются и составляются из готовых контрактов, агент исполняет, оценщик проверяет. Затем идут команда установки, способ запуска `prose run`, виды контрактов, предупреждение о несовместимости с версией 0.14, раздел о переносимости, описание хостов, сводка о состоянии проекта и просьба присылать случаи, которые язык пока не покрывает. В репозитории есть спецификация в spec/, скилл с руководствами и примерами, библиотеки в packages/std и packages/co, манифесты для Claude Code и Codex, политика конфиденциальности и условия использования.

Бейдж для README

Исходный SKILL.md

---
name: open-prose
version: 0.18.1
runtime_contract: 2
description: |
  Activate when the user types `prose ...`, opens a `.prose.md` file with
  `kind:` frontmatter, opens a `.prose` file, or asks for reusable multi-agent
  orchestration. Treat `prose run ...` as an in-session instruction: embody
  the OpenProse VM yourself; do not shell out to a `prose` binary. On
  activation read the Markdown contract, select a state backend, wire responsibilities,
  execute with host primitives, and persist run state under the selected
  OpenProse root.
  Decline for one-shot questions — a plain prompt is often the right answer.
---

# OpenProse Skill

Contract authoring is expressing intent by composing requirements. An agent
performs the work, and an evaluator assesses whether the contract’s requirements
are satisfied. Reuse and combine contracts through the interfaces in this skill; see [requirements and composition](guidance/authoring.md#requirements-and-composition).

OpenProse has five load-bearing pieces:

| Piece | File | Role |
|-------|------|------|
| **Contract Markdown** | `contract-markdown.md` | Human-readable `*.prose.md` source format |
| **Forme** | `forme.md` | Semantic dependency-injection container that wires contracts |
| **Prose VM** | `prose.md` | Execution engine that runs responsibilities, functions, and pinned execution blocks |
| **ProseScript** | `prosescript.md` | Imperative scripting layer for `### Execution` blocks and pattern delegation |
| **Responsibility Runtime** | `responsibility-runtime.md` | Responsibility-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 Intent | Load First | Then Load If Needed |
|-------------|------------|---------------------|
| Explain OpenProse or answer "how do I..." | `help.md` | `examples/README.md`, then one focused example |
| Initialize or compose an OpenProse program | `guidance/tenets.md` | `guidance/authoring.md`, then run `std/ops/compose` |
| Run a `.prose.md` responsibility or function | `contract-markdown.md` | `state/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 layout | `changelog.md` | `contract-markdown.md`, `prosescript.md` if migration details require them |

Сообщить о проблеме

Foxx AIOpenProse
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.