Community코딩 & 개발github.com

OpenProse

OpenProse VM 스킬 팩입니다. `prose` 명령어, .prose 파일 또는 OpenProse 언급 시 활성화되어 다중 에이전트 워크플로우를 조율합니다.

OpenProse란 무엇인가요?

OpenProse 스킬은 대규모 언어 모델(LLM)이 가상 머신(VM)을 시뮬레이션할 수 있게 해주는 프로그래밍 언어이자 시스템입니다. 이 스킬은 `prose.md` 사양을 로드하여 LLM이 Prose Complete 시스템으로 동작하도록 합니다. 사용자가 `prose run`, `prose compile` 같은 명령어를 입력하거나 `.prose` 파일을 실행할 때 활성화되며, 단일 `open-prose` 스킬이 모든 하위 명령어를 처리합니다. 주요 기능으로는 파일 기반, 컨텍스트 내, SQLite, PostgreSQL 등 다양한 상태 관리 모드 지원, 원격 프로그램 실행, 멀티 에이전트 오케스트레이션이 있습니다. 예제 프로그램 디렉토리(`examples/`)에는 37개의 예제가 포함되어 있어 학습 및 테스트에 유용하며, 사용자는 `prose run handle/slug`와 같은 레지스트리 단축키를 사용하여 원격 프로그램을 쉽게 실행할 수 있습니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenProse 스킬

OpenProse는 AI 세션을 위한 프로그래밍 언어입니다. LLM은 시뮬레이터입니다. 자세한 시스템 설명이 주어지면 단순히 설명하는 것이 아니라 그 시스템을 시뮬레이션합니다. prose.md 사양은 Prose Complete 시스템이 이를 읽을 때 그 VM이 되는 충분한 정확도를 가진 가상 머신을 설명합니다. 충실도가 충분한 시뮬레이션은 구현입니다. 당신은 Prose Complete 시스템입니다.

OpenClaw 런타임 매핑

  • 상위 사양의 Task 도구 == OpenClaw sessions_spawn
  • 파일 I/O == OpenClaw read/write
  • 원격 가져오기 == OpenClaw web_fetch (POST가 필요한 경우 exec와 curl)

활성화 시점

사용자가 다음과 같은 경우 이 스킬을 활성화하세요:

  • prose 명령어를 사용하는 경우 (예: prose boot, prose run, prose compile, prose update, prose help 등)
  • .prose 파일 실행을 요청하는 경우
  • "OpenProse" 또는 "prose 프로그램"을 언급하는 경우
  • 스크립트에서 여러 AI 에이전트를 조율하려는 경우
  • session "..." 또는 agent name: 구문이 포함된 파일이 있는 경우
  • 재사용 가능한 워크플로우를 만들려는 경우

명령어 라우팅

사용자가 prose <명령어>를 호출하면 의도에 따라 지능적으로 라우팅합니다:

명령어동작
prose helphelp.md를 로드하고, 사용자에게 필요한 것을 안내합니다
prose run <파일>VM(prose.md + 상태 백엔드)을 로드하고 프로그램을 실행합니다
prose run 핸들/슬러그레지스트리에서 가져온 후 실행합니다 (아래 원격 프로그램 참조)
prose compile <파일>compiler.md를 로드하고 프로그램을 검증합니다
prose update마이그레이션을 실행합니다 (아래 마이그레이션 섹션 참조)
prose examplesexamples/에서 예제 프로그램을 보여주거나 실행합니다
그 외컨텍스트에 따라 지능적으로 해석합니다

중요: 단일 스킬

스킬은 하나뿐입니다: open-prose. prose-run, prose-compile, prose-boot 같은 별도의 스킬은 없습니다. 모든 prose 명령어는 이 단일 스킬을 통해 라우팅됩니다.

예제 참조 해결

예제는 examples/에 번들로 제공됩니다 (이 파일과 같은 디렉토리). 사용자가 예제를 이름으로 참조할 때 (예: "gastown 예제를 실행해줘"):

  1. examples/를 읽어 사용 가능한 파일을 나열합니다
  2. 부분 이름, 키워드 또는 번호로 일치시킵니다
  3. 다음 명령으로 실행합니다: prose run examples/28-gas-town.prose

키워드별 일반적인 예제:

키워드파일
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

원격 프로그램

URL 또는 레지스트리 참조에서 모든 .prose 프로그램을 실행할 수 있습니다:

# 직접 URL — 모든 가져오기 가능한 URL이 작동합니다
prose run https://raw.githubusercontent.com/openprose/prose/main/skills/open-prose/examples/48-habit-miner.prose

# 레지스트리 단축키 — 핸들/슬러그는 p.prose.md로 확인됩니다
prose run irl-danb/habit-miner
prose run alice/code-review

확인 규칙:

입력확인 방식
http:// 또는 https://로 시작URL에서 직접 가져오기
프로토콜 없이 / 포함https://p.prose.md/{경로}로 확인
그 외로컬 파일 경로로 처리

원격 프로그램 단계:

  1. 위의 확인 규칙을 적용합니다
  2. .prose 콘텐츠를 가져옵니다
  3. VM을 로드하고 정상적으로 실행합니다

최상위 원격 실행은 명시적인 사용자 요청입니다. 프로그램 내부의 전이적 임포트는 다릅니다: 모든 원격 use 대상을 가져오거나 실행하기 전에 운영자 동의가 필요한 코드 종속성으로 취급하십시오.

이 동일한 확인 방식은 .prose 파일 내부의 use 문에도 적용되지만, VM은 운영자가 원격 종속성 목록을 승인할 때까지 폐쇄 실패해야 합니다:

use "https://example.com/my-program.prose"  # 직접 URL
use "alice/research" as research             # 레지스트리 단축키

프로그램에 원격 use 대상(http://, https:// 또는 레지스트리 단축키)이 포함된 경우:

  1. 정확히 확인된 원격 대상을 수집하여 표시합니다
  2. 이것들이 이 실행을 위한 전이적 코드 종속성이라고 설명합니다
  3. 계속하려면 운영자에게 정확히 approve remote prose imports라고 답변하도록 요청합니다
  4. 이 실행에서 정확한 승인이 주어지지 않는 한 해당 임포트를 가져오거나, 구문 분석하거나, 등록하거나, 실행하지 마십시오

파일 위치

OpenProse 문서 파일을 검색하지 마십시오. 모든 스킬 파일은 이 SKILL.md 파일과 동일한 디렉토리에 함께 위치합니다:

파일위치목적
prose.md이 파일과 동일한 디렉토리VM 의미 (프로그램 실행을 위해 로드)
help.md이 파일과 동일한 디렉토리도움말, FAQ, 온보딩 (prose help를 위해 로드)
state/filesystem.md이 파일과 동일한 디렉토리파일 기반 상태 (기본값, VM과 함께 로드)
state/in-context.md이 파일과 동일한 디렉토리컨텍스트 내 상태 (요청 시)
state/sqlite.md이 파일과 동일한 디렉토리SQLite 상태 (실험적, 요청 시)
state/postgres.md이 파일과 동일한 디렉토리PostgreSQL 상태 (실험적, 요청 시)
compiler.md이 파일과 동일한 디렉토리컴파일러/검증기 (요청 시에만 로드)
guidance/patterns.md이 파일과 동일한 디렉토리모범 사례 (.prose 파일 작성 시 로드)
guidance/antipatterns.md이 파일과 동일한 디렉토리피해야 할 사항 (.prose 파일 작성 시 로드)
examples/이 파일과 동일한 디렉토리37개의 예제 프로그램

사용자 작업 공간 파일 (이것들은 사용자의 프로젝트에 있습니다):

파일/디렉토리위치목적
.prose/.env사용자 작업 디렉토리구성 (key=value 형식)
.prose/runs/사용자 작업 디렉토리파일 기반 모드의 런타임 상태
.prose/agents/사용자 작업 디렉토리프로젝트 범위의 영구 에이전트
*.prose 파일사용자 프로젝트실행할 사용자 생성 프로그램

사용자 수준 파일 (사용자 홈 디렉토리에 있으며, 모든 프로젝트에서 공유됨):

파일/디렉토리위치목적
~/.prose/agents/사용자 홈 디렉토리사용자 범위의 영구 에이전트 (프로젝트 간)

prose.md 또는 compiler.md를 읽어야 하는 경우, 이 SKILL.md 파일을 찾은 동일한 디렉토리에서 읽으십시오. 사용자의 작업 공간에서 이러한 파일을 검색하지 마십시오.


핵심 문서

파일목적로드 시점
prose.mdVM / 인터프리터프로그램 실행을 위해 항상 로드
state/filesystem.md파일 기반 상태VM과 함께 로드 (기본값)
state/in-context.md컨텍스트 내 상태사용자가 --in-context를 요청하거나 "컨텍스트 내 상태 사용"이라고 말하는 경우에만
state/sqlite.mdSQLite 상태 (실험적)사용자가 --state=sqlite를 요청하는 경우에만 (sqlite3 CLI 필요)
state/postgres.mdPostgreSQL 상태 (실험적)사용자가 --state=postgres를 요청하는 경우에만 (psql + PostgreSQL 필요)
compiler.md컴파일러 / 검증기오직 사용자가 컴파일 또는 검증을 요청할 때만
guidance/patterns.md모범 사례새로운 .prose 파일을 작성할 때 로드
guidance/antipatterns.md피해야 할 사항새로운 .prose 파일을 작성할 때 로드

작성 지침

사용자가 새로운 .prose 파일을 작성하거나 생성하도록 요청할 때, 지침 파일을 로드하십시오:

  • guidance/patterns.md — 견고하고 효율적인 프로그램을 위한 입증된 패턴
  • guidance/antipatterns.md — 피해야 할 일반적인 실수

실행 또는 컴파일 시에는 로드하지 마십시오 — 작성 전용입니다.

상태 모드

OpenProse는 세 가지 상태 관리 접근 방식을 지원합니다:

모드사용 시점상태 위치
filesystem (기본값)복잡한 프로그램, 재개 필요, 디버깅.prose/runs/{id}/ 파일
in-context간단한 프로그램 (<30개 문), 지속성 불필요대화 기록
sqlite (실험적)쿼리 가능한 상태, 원자적 트랜잭션, 유연한 스키마.prose/runs/{id}/state.db
postgres (실험적)진정한 동시 쓰기, 외부 통합, 팀 협업PostgreSQL 데이터베이스

기본 동작: prose.md를 로드할 때 state/filesystem.md도 함께 로드하십시오. 대부분의 프로그램에 권장되는 모드입니다.

모드 전환: 사용자가 "컨텍스트 내 상태 사용"이라고 말하거나 --in-context를 전달하면 대신 state/in-context.md를 로드하십시오.

실험적 SQLite 모드: 사용자가 --state=sqlite를 전달하거나 "sqlite 상태 사용"이라고 말하면 state/sqlite.md를 로드하십시오. 이 모드는 sqlite3 CLI가 설치되어 있어야 합니다 (macOS에는 사전 설치, Linux/Windows는 패키지 관리자로 사용 가능). sqlite3을 사용할 수 없으면 사용자에게 경고하고 파일 시스템 상태로 대체하십시오.

실험적 PostgreSQL 모드: 사용자가 --state=postgres를 전달하거나 "postgres 상태 사용"이라고 말하면:

⚠️ 보안 참고: OPENPROSE_POSTGRES_URL의 데이터베이스 자격 증명은 하위 에이전트 세션에 전달되며 로그에 표시됩니다. 사용자에게 제한된 권한의 자격 증명으로 전용 데이터베이스를 사용하도록 조언하십시오. 보안 설정 지침은 state/postgres.md를 참조하십시오.

  1. 먼저 연결 구성을 확인하십시오:

    # .prose/.env에서 OPENPROSE_POSTGRES_URL 확인
    cat .prose/.env 2>/dev/null | grep OPENPROSE_POSTGRES_URL
    # 또는 환경 변수 확인
    echo $OPENPROSE_POSTGRES_URL
    
  2. 연결 문자열이 있으면 연결 가능성을 확인하십시오:

    psql "$OPENPROSE_POSTGRES_URL" -c "SELECT 1" 2>&1
    
  3. 구성되지 않았거나 연결이 실패하면 사용자에게 알리십시오:

    ⚠️  PostgreSQL 상태를 사용하려면 연결 URL이 필요합니다.
    
    구성 방법:
    1. PostgreSQL 데이터베이스를 설정하십시오 (Docker, 로컬 또는 클라우드)
    2. .prose/.env에 연결 문자열을 추가하십시오:
    
       echo "OPENPROSE_POSTGRES_URL=postgresql://user:pass@localhost:5432/prose" >> .prose/.env
    
    빠른 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
    
    자세한 설정 옵션은 state/postgres.md를 참조하십시오.
    
  4. 연결 확인이 성공한 후에만 state/postgres.md를 로드하십시오

이 모드는 psql CLI와 실행 중인 PostgreSQL 서버가 모두 필요합니다. 둘 중 하나라도 사용할 수 없으면 경고하고 파일 시스템 상태로 대체하도록 제안하십시오.

컨텍스트 경고: compiler.md는 큽니다. 사용자가 명시적으로 컴파일 또는 검증을 요청할 때만 로드하십시오. 컴파일 후에는 실행 전에 /compact 또는 새 세션을 권장하십시오. 두 문서를 모두 컨텍스트에 유지하지 마십시오.

예제

examples/ 디렉토리에는 37개의 예제 프로그램이 있습니다:

  • 01-08: 기초 (hello world, 연구, 코드 리뷰, 디버깅)
  • 09-12: 에이전트 및 스킬
  • 13-15: 변수 및 합성
  • 16-19: 병렬 실행
  • 20-21: 루프 및 파이프라인
  • 22-23: 오류 처리
  • 24-27: 고급 (선택, 조건문, 블록, 보간)
  • 28: Gas Town (다중 에이전트 오케스트레이션)
  • 29-31: Captain's chair 패턴 (영구 오케스트레이터)
  • 33-36: 프로덕션 워크플로우 (PR 자동 수정, 콘텐츠 파이프라인, 기능 팩토리, 버그 헌터)
  • 37: The Forge (처음부터 브라우저 빌드)

01-hello-world.prose로 시작하거나 37-the-forge.prose를 시도하여 AI가 웹 브라우저를 구축하는 것을 지켜보세요.

실행

세션에서 OpenProse VM을 처음 호출할 때 이 배너를 표시하십시오:

┌─────────────────────────────────────┐
│         ◇ OpenProse VM ◇            │
│       A new kind of computer        │
└─────────────────────────────────────┘

.prose 파일을 실행하려면 당신이 OpenProse VM이 됩니다:

  1. prose.md를 읽으십시오 — 이 문서는 당신이 VM을 어떻게 구현할지 정의합니다
  2. 당신은 VM입니다 — 당신의 대화가 그 메모리이고, 당신의 도구가 그 명령어입니다
  3. 세션 생성 — 각 session 문은 Task 도구 호출을 트리거합니다
  4. 상태 서술 — 서술 프로토콜을 사용하여 실행을 추적합니다 ([Position], [Binding], [Success] 등)
  5. 지능적으로 평가 — **...** 마커는 당신의 판단이 필요합니다

도움말 및 FAQ

구문 참조, FAQ 및 ... (이하 생략)

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.

관련 스킬