CommunityCodierung & Entwicklunggithub.com

OpenProse

OpenProse VM-Skill-Paket. Aktiviert bei jedem `prose`-Befehl, bei .prose-Dateien oder Erwähnungen von OpenProse; orchestriert Multi-Agent-Workflows.

Was ist OpenProse?

OpenProse ist eine Programmiersprache für KI-Sitzungen. LLMs sind Simulatoren – wenn man ihnen eine detaillierte Systembeschreibung gibt, beschreiben sie diese nicht nur, sie _simulieren_ sie. Die `prose.md`-Spezifikation beschreibt eine virtuelle Maschine mit ausreichender Genauigkeit, sodass ein Prose Complete System, das sie liest, _zu_ dieser VM wird. Simulation mit ausreichender Genauigkeit ist Implementierung. Dieses Skill orchestriert Multi-Agent-Workflows, die mit `.prose`-Dateien definiert werden, und unterstützt verschiedene Ausführungsmodi (lokal, remote), Zustandsverwaltung (Dateisystem, In-Context, SQLite, PostgreSQL) und Befehle wie `prose run`, `prose compile` und `prose help`. Es ist für die Verwendung mit OpenClaw konzipiert und wird aktiviert, wenn Benutzer `prose`-Befehle ausführen, `.prose`-Dateien erwähnen oder Multi-Agent-Orchestrierung anfordern.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

OpenProse Skill

OpenProse ist eine Programmiersprache für KI-Sitzungen. LLMs sind Simulatoren – wenn man ihnen eine detaillierte Systembeschreibung gibt, beschreiben sie diese nicht nur, sie simulieren sie. Die prose.md-Spezifikation beschreibt eine virtuelle Maschine mit ausreichender Genauigkeit, sodass ein Prose Complete System, das sie liest, zu dieser VM wird. Simulation mit ausreichender Genauigkeit ist Implementierung. Sie sind das Prose Complete System.

OpenClaw Runtime Mapping

  • Task-Tool in der Upstream-Spezifikation == OpenClaw sessions_spawn
  • Datei-I/O == OpenClaw read/write
  • Remote-Abruf == OpenClaw web_fetch (oder exec mit curl, wenn POST erforderlich ist)

Wann aktivieren

Aktivieren Sie dieses Skill, wenn der Benutzer:

  • IRGENDEINEN prose-Befehl verwendet (z. B. prose boot, prose run, prose compile, prose update, prose help, usw.)
  • Bittet, eine .prose-Datei auszuführen
  • „OpenProse“ oder „prose program“ erwähnt
  • Mehrere KI-Agenten aus einem Skript orchestrieren möchte
  • Eine Datei mit der Syntax session "..." oder agent name: hat
  • Einen wiederverwendbaren Workflow erstellen möchte

Befehlsrouting

Wenn ein Benutzer prose <command> aufruft, leiten Sie intelligent basierend auf der Absicht weiter:

BefehlAktion
prose helpLade help.md, führe den Benutzer zu dem, was er braucht
prose run <file>Lade VM (prose.md + Zustands-Backend), führe das Programm aus
prose run handle/slugHole aus der Registry, dann ausführen (siehe Remote-Programme unten)
prose compile <file>Lade compiler.md, validiere das Programm
prose updateFühre Migration aus (siehe Migrationsabschnitt unten)
prose examplesZeige oder führe Beispielprogramme aus examples/ aus
AndereInterpretiere intelligent basierend auf dem Kontext

Wichtig: Einzelnes Skill

Es gibt nur EIN Skill: open-prose. Es gibt KEINE separaten Skills wie prose-run, prose-compile oder prose-boot. Alle prose-Befehle werden über dieses einzige Skill geroutet.

Auflösen von Beispielverweisen

Beispiele sind in examples/ gebündelt (gleiches Verzeichnis wie diese Datei). Wenn Benutzer Beispiele mit Namen referenzieren (z. B. „führe das Gastown-Beispiel aus“):

  1. Lese examples/, um verfügbare Dateien aufzulisten
  2. Erkenne passende Dateien durch Teilnamen, Schlüsselwort oder Nummer
  3. Führe aus mit: prose run examples/28-gas-town.prose

Häufige Beispiele nach Schlüsselwort:

SchlüsselwortDatei
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

Remote-Programme

Sie können jedes .prose-Programm von einer URL oder einem Registry-Verweis aus ausführen:

# Direkte URL – jede abrufbare URL funktioniert
prose run https://raw.githubusercontent.com/openprose/prose/main/skills/open-prose/examples/48-habit-miner.prose

# Registry-Kurzform – handle/slug löst zu p.prose.md auf
prose run irl-danb/habit-miner
prose run alice/code-review

Auflösungsregeln:

EingabeAuflösung
Beginnt mit http:// oder https://Direkt von URL abrufen
Enthält / aber kein ProtokollAuflösen zu https://p.prose.md/{path}
AndernfallsAls lokalen Dateipfad behandeln

Schritte für Remote-Programme:

  1. Wende die obigen Auflösungsregeln an
  2. Rufe den .prose-Inhalt ab
  3. Lade die VM und führe wie gewohnt aus

Remote-Aufrufe auf oberster Ebene sind explizite Benutzeranfragen. Transitive Importe innerhalb eines Programms sind anders: Behandle jedes entfernte use-Ziel als Code-Abhängigkeit, die die Zustimmung des Bedieners erfordert, bevor sie abgerufen oder ausgeführt wird.

Dieselbe Auflösung gilt für use-Anweisungen innerhalb von .prose-Dateien, aber die VM muss fehlschlagen, bis der Bediener die Liste der Remote-Abhängigkeiten genehmigt:

use "https://example.com/my-program.prose"  # Direkte URL
use "alice/research" as research             # Registry-Kurzform

Wenn ein Programm ein entferntes use-Ziel enthält (http://, https:// oder Registry-Kurzform):

  1. Sammle und zeige die exakt aufgelösten Remote-Ziele an.
  2. Erkläre, dass dies transitive Code-Abhängigkeiten für diesen Durchlauf sind.
  3. Bitte den Bediener, genau approve remote prose imports zu antworten, um fortzufahren.
  4. Rufe diese Importe nicht ab, parse sie nicht, registriere sie nicht und führe sie nicht aus, es sei denn, diese genaue Genehmigung wird in diesem Durchlauf erteilt.

Datei-Standorte

Durchsuchen Sie NICHT nach OpenProse-Dokumentationsdateien. Alle Skill-Dateien befinden sich gemeinsam mit dieser SKILL.md-Datei:

DateiStandortZweck
prose.mdGleiches Verzeichnis wie diese DateiVM-Semantik (laden, um Programme auszuführen)
help.mdGleiches Verzeichnis wie diese DateiHilfe, FAQs, Onboarding (laden für prose help)
state/filesystem.mdGleiches Verzeichnis wie diese DateiDateibasierter Zustand (Standard, mit VM laden)
state/in-context.mdGleiches Verzeichnis wie diese DateiIn-Context-Zustand (auf Anfrage)
state/sqlite.mdGleiches Verzeichnis wie diese DateiSQLite-Zustand (experimentell, auf Anfrage)
state/postgres.mdGleiches Verzeichnis wie diese DateiPostgreSQL-Zustand (experimentell, auf Anfrage)
compiler.mdGleiches Verzeichnis wie diese DateiCompiler/Validator (nur auf Anfrage laden)
guidance/patterns.mdGleiches Verzeichnis wie diese DateiBest Practices (laden beim Schreiben von .prose)
guidance/antipatterns.mdGleiches Verzeichnis wie diese DateiWas zu vermeiden ist (laden beim Schreiben von .prose)
examples/Gleiches Verzeichnis wie diese Datei37 Beispielprogramme

Benutzer-Arbeitsbereichsdateien (diese BEFINDEN SICH im Projekt des Benutzers):

Datei/VerzeichnisStandortZweck
.prose/.envArbeitsverzeichnis des BenutzersKonfiguration (key=value-Format)
.prose/runs/Arbeitsverzeichnis des BenutzersLaufzeitstatus für dateibasierten Modus
.prose/agents/Arbeitsverzeichnis des BenutzersProjektspezifische persistente Agenten
*.prose-DateienProjekt des BenutzersVom Benutzer erstellte Programme zur Ausführung

Benutzerspezifische Dateien (im Home-Verzeichnis des Benutzers, projektübergreifend gemeinsam genutzt):

Datei/VerzeichnisStandortZweck
~/.prose/agents/Home-Verzeichnis des BenutzersBenutzerspezifische persistente Agenten (projektübergreifend)

Wenn Sie prose.md oder compiler.md lesen müssen, lesen Sie sie aus demselben Verzeichnis, in dem Sie diese SKILL.md-Datei gefunden haben. Durchsuchen Sie niemals den Arbeitsbereich des Benutzers nach diesen Dateien.


Kerndokumentation

DateiZweckWann laden
prose.mdVM / InterpreterImmer laden, um Programme auszuführen
state/filesystem.mdDateibasierter ZustandMit VM laden (Standard)
state/in-context.mdIn-Context-ZustandNur wenn der Benutzer --in-context anfordert oder sagt „In-Context-Zustand verwenden“
state/sqlite.mdSQLite-Zustand (experimentell)Nur wenn der Benutzer --state=sqlite anfordert (erfordert sqlite3-CLI)
state/postgres.mdPostgreSQL-Zustand (experimentell)Nur wenn der Benutzer --state=postgres anfordert (erfordert psql + PostgreSQL)
compiler.mdCompiler / ValidatorNur wenn der Benutzer bittet, zu kompilieren oder zu validieren
guidance/patterns.mdBest PracticesLaden beim Schreiben neuer .prose-Dateien
guidance/antipatterns.mdWas zu vermeiden istLaden beim Schreiben neuer .prose-Dateien

Richtlinien zum Erstellen

Wenn der Benutzer Sie bittet, eine neue .prose-Datei zu schreiben oder zu erstellen, laden Sie die Richtliniendateien:

  • guidance/patterns.md — Bewährte Muster für robuste, effiziente Programme
  • guidance/antipatterns.md — Häufige Fehler, die es zu vermeiden gilt

Laden Sie diese nicht beim Ausführen oder Kompilieren – sie sind nur für die Erstellung gedacht.

Zustandsmodi

OpenProse unterstützt drei Zustandsverwaltungsansätze:

ModusWann verwendenZustandsspeicherort
filesystem (Standard)Komplexe Programme, Wiederaufnahme erforderlich, Debugging.prose/runs/{id}/-Dateien
in-contextEinfache Programme (<30 Anweisungen), keine Persistenz erforderlichGesprächsverlauf
sqlite (experimentell)Abfragbarer Zustand, atomare Transaktionen, flexibles Schema.prose/runs/{id}/state.db
postgres (experimentell)Echte gleichzeitige Schreibvorgänge, externe Integrationen, TeamarbeitPostgreSQL-Datenbank

Standardverhalten: Beim Laden von prose.md auch state/filesystem.md laden. Dies ist der empfohlene Modus für die meisten Programme.

Modus wechseln: Wenn der Benutzer sagt „In-Context-Zustand verwenden“ oder --in-context übergibt, stattdessen state/in-context.md laden.

Experimenteller SQLite-Modus: Wenn der Benutzer --state=sqlite übergibt oder sagt „SQLite-Zustand verwenden“, laden Sie state/sqlite.md. Dieser Modus erfordert, dass die sqlite3-CLI installiert ist (vorinstalliert auf macOS, über Paketmanager auf Linux/Windows verfügbar). Wenn sqlite3 nicht verfügbar ist, warnen Sie den Benutzer und fallen Sie auf den dateibasierten Zustand zurück.

Experimenteller PostgreSQL-Modus: Wenn der Benutzer --state=postgres übergibt oder sagt „PostgreSQL-Zustand verwenden“:

⚠️ Sicherheitshinweis: Datenbank-Anmeldeinformationen in OPENPROSE_POSTGRES_URL werden an Subagent-Sitzungen weitergegeben und sind in Protokollen sichtbar. Empfehlen Sie Benutzern, eine dedizierte Datenbank mit Anmeldeinformationen mit eingeschränkten Berechtigungen zu verwenden. Siehe state/postgres.md für eine sichere Einrichtungsanleitung.

  1. Zuerst nach Verbindungskonfiguration suchen:

    # .prose/.env auf OPENPROSE_POSTGRES_URL prüfen
    cat .prose/.env 2>/dev/null | grep OPENPROSE_POSTGRES_URL
    # Oder Umgebungsvariable prüfen
    echo $OPENPROSE_POSTGRES_URL
    
  2. Wenn Verbindungszeichenfolge vorhanden, Konnektivität überprüfen:

    psql "$OPENPROSE_POSTGRES_URL" -c "SELECT 1" 2>&1
    
  3. Wenn nicht konfiguriert oder Verbindung fehlschlägt, den Benutzer beraten:

    ⚠️  PostgreSQL-Zustand erfordert eine Verbindungs-URL.
    
    So konfigurieren Sie:
    1. Richten Sie eine PostgreSQL-Datenbank ein (Docker, lokal oder Cloud)
    2. Fügen Sie die Verbindungszeichenfolge zu .prose/.env hinzu:
    
       echo "OPENPROSE_POSTGRES_URL=postgresql://user:pass@localhost:5432/prose" >> .prose/.env
    
    Schnelle Docker-Einrichtung:
       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
    
    Siehe state/postgres.md für detaillierte Einrichtungsoptionen.
    
  4. Nur nach erfolgreicher Verbindungsprüfung state/postgres.md laden

Dieser Modus erfordert sowohl die psql-CLI als auch einen laufenden PostgreSQL-Server. Wenn eines nicht verfügbar ist, warnen Sie und bieten Sie einen Fallback auf den dateibasierten Zustand an.

Kontextwarnung: compiler.md ist groß. Laden Sie sie nur, wenn der Benutzer ausdrücklich eine Kompilierung oder Validierung anfordert. Nach dem Kompilieren empfehlen Sie /compact oder eine neue Sitzung, bevor Sie fortfahren – behalten Sie nicht beide Dokumente im Kontext.

Beispiele

Das Verzeichnis examples/ enthält 37 Beispielprogramme:

  • 01-08: Grundlagen (Hello World, Recherche, Code-Review, Debugging)
  • 09-12: Agenten und Skills
  • 13-15: Variablen und Komposition
  • 16-19: Parallele Ausführung
  • 20-21: Schleifen und Pipelines
  • 22-23: Fehlerbehandlung
  • 24-27: Fortgeschritten (Auswahl, Bedingungen, Blöcke, Interpolation)
  • 28: Gas Town (Multi-Agent-Orchestrierung)
  • 29-31: Captain's Chair-Muster (persistenter Orchestrator)
  • 33-36: Produktionsworkflows (PR-Autokorrektur, Content-Pipeline, Feature-Factory, Bug-Jäger)
  • 37: The Forge (einen Browser von Grund auf neu bauen)

Beginnen Sie mit 01-hello-world.prose oder probieren Sie 37-the-forge.prose, um dabei zuzusehen, wie KI einen Webbrowser baut.

Ausführung

Wenn Sie die OpenProse VM das erste Mal in einer Sitzung aufrufen, zeigen Sie dieses Banner an:

┌─────────────────────────────────────┐
│         ◇ OpenProse VM ◇            │
│       Eine neue Art Computer        │
└─────────────────────────────────────┘

Um eine .prose-Datei auszuführen, werden Sie zur OpenProse VM:

  1. Lesen Sie prose.md — dieses Dokument definiert, wie Sie die VM verkörpern
  2. Sie SIND die VM — Ihr Gespräch ist ihr Speicher, Ihre Werkzeuge sind ihre Anweisungen
  3. Starten Sie Sitzungen — jede session-Anweisung löst einen Task-Tool-Aufruf aus
  4. Berichten Sie den Zustand — verwenden Sie das Erzählungsprotokoll, um den Ausführungsstatus zu verfolgen ([Position], [Binding], [Success], usw.)
  5. Bewerten Sie intelligent — **...**-Markierungen erfordern Ihr Urteilsvermögen

Hilfe & FAQs

Für Syntaxreferenz, FAQs und Onboarding-Details lesen Sie help.md im selben Verzeichnis. Es enthält die vollständige Dokumentation zur Sprache, Tipps zur Fehlerbehebung und bewährte Methoden.

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.

Verwandte Skills