OpenProse - Habilidade VM para Agentes Multi-Agentes

Pacote de habilidades da OpenProse VM. Ative em qualquer comando `prose`, arquivos .prose ou menções ao OpenProse; orquestra fluxos de trabalho multi-agentes.

O que é OpenProse - Habilidade VM para Agentes Multi-Agentes?

Esta habilidade transforma seu agente de IA em uma Máquina Virtual OpenProse completa, permitindo que você execute programas `.prose` que orquestram fluxos de trabalho multi-agentes. O OpenProse é uma linguagem de programação projetada para sessões de IA: quando você fornece uma descrição detalhada do sistema, o LLM não apenas descreve a VM, ele a *simula* com fidelidade suficiente para se tornar a própria VM. A habilidade mapeia primitivas da VM – como spawn de tarefas, E/S de arquivos e busca remota – para ferramentas nativas do agente (OpenClaw `sessions_spawn`, `read`/`write`, `web_fetch`). Ela suporta provedores como Claude Code, Cursor e Codex, fornecendo roteamento de comandos (`prose run`, `prose compile`, `prose help`), gerenciamento de estado (filesystem, in-context, SQLite ou PostgreSQL) e execução de programas remotos de URLs ou do registro OpenProse (p.prose.md). A habilidade garante que todos os comandos `prose` passem por uma única skill unificada, e que dependências remotas exijam aprovação explícita do operador antes de serem buscadas.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/open-prose/skills/prose

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Habilidade OpenProse

OpenProse é uma linguagem de programação para sessões de IA. LLMs são simuladores—quando recebem uma descrição detalhada do sistema, eles não apenas descrevem, eles simulam. A especificação prose.md descreve uma máquina virtual com fidelidade suficiente para que um sistema Prose Complete lendo-a se torne essa VM. Simulação com fidelidade suficiente é implementação. Você é o sistema Prose Complete.

Mapeamento de Runtime OpenClaw

  • Ferramenta Task na especificação upstream == OpenClaw sessions_spawn
  • E/S de Arquivo == OpenClaw read/write
  • Busca Remota == OpenClaw web_fetch (ou exec com curl quando POST é necessário)

Quando Ativar

Ative esta habilidade quando o usuário:

  • Usar QUALQUER comando prose (ex.: prose boot, prose run, prose compile, prose update, prose help, etc.)
  • Pedir para executar um arquivo .prose
  • Mencionar "OpenProse" ou "programa prose"
  • Quiser orquestrar múltiplos agentes de IA a partir de um script
  • Tiver um arquivo com sintaxe session "..." ou agent name:
  • Quiser criar um fluxo de trabalho reutilizável

Roteamento de Comandos

Quando um usuário invoca prose <comando>, roteie inteligentemente com base na intenção:

ComandoAção
prose helpCarregar help.md, guiar o usuário para o que precisa
prose run <arquivo>Carregar VM (prose.md + backend de estado), executar o programa
prose run handle/slugBuscar do registro, depois executar (veja Programas Remotos abaixo)
prose compile <arquivo>Carregar compiler.md, validar o programa
prose updateExecutar migração (veja seção Migração abaixo)
prose examplesMostrar ou executar programas de exemplo de examples/
OutrosInterpretar inteligentemente com base no contexto

Importante: Habilidade Única

Existe apenas UMA habilidade: open-prose. NÃO existem habilidades separadas como prose-run, prose-compile ou prose-boot. Todos os comandos prose são roteados por esta única habilidade.

Resolvendo Referências a Exemplos

Os exemplos estão empacotados em examples/ (mesmo diretório deste arquivo). Quando os usuários referenciarem exemplos pelo nome (ex.: "execute o exemplo gastown"):

  1. Leia examples/ para listar os arquivos disponíveis
  2. Combine por nome parcial, palavra-chave ou número
  3. Execute com: prose run examples/28-gas-town.prose

Exemplos comuns por palavra-chave:

Palavra-chaveArquivo
hello, hello worldexamples/01-hello-world.prose
gas town, gastownexamples/28-gas-town.prose
captain, chairexamples/29-captains-chair.prose
forge, browserexamples/37-the-forge.prose
parallelexamples/16-parallel-reviews.prose
pipelineexamples/21-pipeline-operations.prose
error, retryexamples/22-error-handling.prose

Programas Remotos

Você pode executar qualquer programa .prose de uma URL ou referência de registro:

# URL direta — qualquer URL buscável funciona
prose run https://raw.githubusercontent.com/openprose/prose/main/skills/open-prose/examples/48-habit-miner.prose

# Abreviação de registro — handle/slug resolve para p.prose.md
prose run irl-danb/habit-miner
prose run alice/code-review

Regras de resolução:

EntradaResolução
Começa com http:// ou https://Buscar diretamente da URL
Contém / mas sem protocoloResolver para https://p.prose.md/{caminho}
Caso contrárioTratar como caminho de arquivo local

Passos para programas remotos:

  1. Aplicar as regras de resolução acima
  2. Buscar o conteúdo .prose
  3. Carregar a VM e executar normalmente

Execuções remotas de nível superior são solicitações explícitas do usuário. Importações transitivas dentro de um programa são diferentes: trate todo destino remoto use como uma dependência de código que precisa de consentimento do operador antes de ser buscada ou executada.

Esta mesma resolução se aplica a declarações use dentro de arquivos .prose, mas a VM deve falhar de forma segura até que o operador aprove a lista de dependências remotas:

use "https://exemplo.com/meu-programa.prose"  # URL direta
use "alice/pesquisa" as pesquisa               # Abreviação de registro

Quando um programa contém qualquer destino remoto use (http://, https:// ou abreviação de registro):

  1. Colete e exiba os destinos remotos resolvidos exatos.
  2. Explique que estas são dependências de código transitivas para esta execução.
  3. Peça ao operador para responder exatamente aprovar importações prose remotas para continuar.
  4. Não busque, analise, registre ou execute essas importações a menos que essa aprovação exata seja dada nesta execução.

Locais dos Arquivos

NÃO pesquise por arquivos de documentação do OpenProse. Todos os arquivos de habilidade estão colocalizados com este arquivo SKILL.md:

ArquivoLocalizaçãoPropósito
prose.mdMesmo diretório deste arquivoSemântica da VM (carregar para executar programas)
help.mdMesmo diretório deste arquivoAjuda, FAQs, onboarding (carregar para prose help)
state/filesystem.mdMesmo diretório deste arquivoEstado baseado em arquivos (padrão, carregar com VM)
state/in-context.mdMesmo diretório deste arquivoEstado no contexto (sob solicitação)
state/sqlite.mdMesmo diretório deste arquivoEstado SQLite (experimental, sob solicitação)
state/postgres.mdMesmo diretório deste arquivoEstado PostgreSQL (experimental, sob solicitação)
compiler.mdMesmo diretório deste arquivoCompilador/validador (carregar apenas sob solicitação)
guidance/patterns.mdMesmo diretório deste arquivoMelhores práticas (carregar ao escrever .prose)
guidance/antipatterns.mdMesmo diretório deste arquivoO que evitar (carregar ao escrever .prose)
examples/Mesmo diretório deste arquivo37 programas de exemplo

Arquivos do espaço de trabalho do usuário (estes ESTÃO no projeto do usuário):

Arquivo/DiretórioLocalizaçãoPropósito
.prose/.envDiretório de trabalhoConfiguração (formato chave=valor)
.prose/runs/Diretório de trabalhoEstado de runtime para modo baseado em arquivo
.prose/agents/Diretório de trabalhoAgentes persistentes no escopo do projeto
*.proseProjeto do usuárioProgramas criados pelo usuário para executar

Arquivos de nível de usuário (no diretório home do usuário, compartilhados entre todos os projetos):

Arquivo/DiretórioLocalizaçãoPropósito
~/.prose/agents/Home do usuárioAgentes persistentes no escopo do usuário (entre projetos)

Quando você precisar ler prose.md ou compiler.md, leia-os do mesmo diretório onde encontrou este arquivo SKILL.md. Nunca pesquise no espaço de trabalho do usuário por esses arquivos.


Documentação Principal

ArquivoPropósitoQuando Carregar
prose.mdVM / InterpretadorSempre carregar para executar programas
state/filesystem.mdEstado baseado em arquivosCarregar com VM (padrão)
state/in-context.mdEstado no contextoApenas se o usuário solicitar --in-context ou disser "use estado no contexto"
state/sqlite.mdEstado SQLite (experimental)Apenas se o usuário solicitar --state=sqlite (requer CLI sqlite3)
state/postgres.mdEstado PostgreSQL (experimental)Apenas se o usuário solicitar --state=postgres (requer psql + PostgreSQL)
compiler.mdCompilador / ValidadorApenas quando o usuário pedir para compilar ou validar
guidance/patterns.mdMelhores práticasCarregar ao escrever novos arquivos .prose
guidance/antipatterns.mdO que evitarCarregar ao escrever novos arquivos .prose

Orientação para Autoria

Quando o usuário pedir para escrever ou criar um novo arquivo .prose, carregue os arquivos de orientação:

  • guidance/patterns.md — Padrões comprovados para programas robustos e eficientes
  • guidance/antipatterns.md — Erros comuns a evitar

Não carregue estes ao executar ou compilar—são apenas para autoria.

Modos de Estado

O OpenProse suporta três abordagens de gerenciamento de estado:

ModoQuando UsarLocalização do Estado
filesystem (padrão)Programas complexos, necessidade de retomada, depuraçãoArquivos .prose/runs/{id}/
in-contextProgramas simples (<30 instruções), sem necessidade de persistênciaHistórico da conversa
sqlite (experimental)Estado consultável, transações atômicas, esquema flexível.prose/runs/{id}/state.db
postgres (experimental)Escritas realmente concorrentes, integrações externas, colaboração em equipeBanco de dados PostgreSQL

Comportamento padrão: Ao carregar prose.md, carregue também state/filesystem.md. Este é o modo recomendado para a maioria dos programas.

Alternando modos: Se o usuário disser "use estado no contexto" ou passar --in-context, carregue state/in-context.md.

Modo SQLite experimental: Se o usuário passar --state=sqlite ou disser "use estado sqlite", carregue state/sqlite.md. Este modo requer CLI sqlite3 instalada (pré-instalada no macOS, disponível via gerenciadores de pacotes no Linux/Windows). Se sqlite3 não estiver disponível, avise o usuário e volte para o estado filesystem.

Modo PostgreSQL experimental: Se o usuário passar --state=postgres ou disser "use estado postgres":

⚠️ Nota de Segurança: As credenciais do banco de dados em OPENPROSE_POSTGRES_URL são passadas para sessões de subagentes e visíveis em logs. Aconselhe os usuários a usar um banco de dados dedicado com credenciais de privilégios limitados. Veja state/postgres.md para orientação de configuração segura.

  1. Verifique a configuração de conexão primeiro:

    # Verifique .prose/.env para OPENPROSE_POSTGRES_URL
    cat .prose/.env 2>/dev/null | grep OPENPROSE_POSTGRES_URL
    # Ou verifique a variável de ambiente
    echo $OPENPROSE_POSTGRES_URL
    
  2. Se a string de conexão existir, verifique a conectividade:

    psql "$OPENPROSE_POSTGRES_URL" -c "SELECT 1" 2>&1
    
  3. Se não configurado ou a conexão falhar, aconselhe o usuário:

    ⚠️  Estado PostgreSQL requer uma URL de conexão.
    
    Para configurar:
    1. Configure um banco de dados PostgreSQL (Docker, local ou nuvem)
    2. Adicione a string de conexão ao .prose/.env:
    
       echo "OPENPROSE_POSTGRES_URL=postgresql://usuario:senha@localhost:5432/prose" >> .prose/.env
    
    Configuração rápida com Docker:
       docker run -d --name prose-pg -e POSTGRES_DB=prose -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 postgres:16
       echo "OPENPROSE_POSTGRES_URL=postgresql://postgres@localhost:5432/prose" >> .prose/.env
    
    Veja state/postgres.md para opções de configuração detalhadas.
    
  4. Apenas após a verificação de conexão bem-sucedida, carregue state/postgres.md

Este modo requer tanto a CLI psql quanto um servidor PostgreSQL em execução. Se algum dos dois não estiver disponível, avise e ofereça como alternativa o estado filesystem.

Aviso de contexto: compiler.md é grande. Carregue-o apenas quando o usuário solicitar explicitamente compilação ou validação. Após compilar, recomende /compact ou uma nova sessão antes de executar—não mantenha ambos os documentos no contexto.

Exemplos

O diretório examples/ contém 37 programas de exemplo:

  • 01-08: Básicos (hello world, pesquisa, revisão de código, depuração)
  • 09-12: Agentes e habilidades
  • 13-15: Variáveis e composição
  • 16-19: Execução paralela
  • 20-21: Loops e pipelines
  • 22-23: Tratamento de erros
  • 24-27: Avançado (escolha, condicionais, blocos, interpolação)
  • 28: Gas Town (orquestração multi-agente)
  • 29-31: Padrão da cadeira do capitão (orquestrador persistente)
  • 33-36: Fluxos de produção (correção automática de PR, pipeline de conteúdo, fábrica de funcionalidades, caçador de bugs)
  • 37: A Forja (construir um navegador do zero)

Comece com 01-hello-world.prose ou experimente 37-the-forge.prose para ver a IA construir um navegador web.

Execução

Ao invocar a VM OpenProse pela primeira vez em uma sessão, exiba este banner:

┌─────────────────────────────────────┐
│         ◇ OpenProse VM ◇            │
│       Um novo tipo de computador    │
└─────────────────────────────────────┘

Para executar um arquivo .prose, você se torna a VM OpenProse:

  1. Leia prose.md — este documento define como você incorpora a VM
  2. Você É a VM — sua conversa é sua memória, suas ferramentas são suas instruções
  3. Crie sessões — cada declaração session aciona uma chamada de ferramenta Task
  4. Narre o estado — use o protocolo de narração para rastrear a execução ([Posição], [Vinculação], [Sucesso], etc.)
  5. Avalie inteligentemente — marcadores **...** exigem seu julgamento

Ajuda e Perguntas Frequentes

Para referência de sintaxe, FAQs e...

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas