[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FN29296ZDC91456K10ZKFE":3,"skill-same:01M6FN29296ZDC91456K10ZKFE":97},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6FN29296ZDC91456K10ZKFE","ralph-loop",null,"Generate copy-paste bash scripts for Ralph Wiggum\u002FAI agent loops (Codex, Claude Code, OpenCode, Goose). Use when asked for a \"Ralph loop\", \"Ralph Wiggum loop\", or an AI loop to plan\u002Fbuild code via PROMPT.md + AGENTS.md, SPECS, and IMPLEMENTATION_PLAN.md, including PLANNING vs BUILDING modes, backpressure, sandboxing, and completion conditions.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"loop","ralph loop","ralph","prompt","loops","via","scripts","goose","ralph wiggum","ai loop","opencode","use","codex","plan","Bash","sandboxing","planning","code","generate","ai agent","2026-11-10 10:12:30",false,"---\nname: ralph-loop\ndescription: Generate copy-paste bash scripts for Ralph Wiggum\u002FAI agent loops (Codex, Claude Code, OpenCode, Goose). Use when asked for a \"Ralph loop\", \"Ralph Wiggum loop\", or an AI loop to plan\u002Fbuild code via PROMPT.md + AGENTS.md, SPECS, and IMPLEMENTATION_PLAN.md, including PLANNING vs BUILDING modes, backpressure, sandboxing, and completion conditions.\n---\n\n# Ralph Loop (Event-Driven)\n\nEnhanced Ralph pattern with **event-driven notifications** — Codex\u002FClaude calls OpenClaw when it needs attention instead of polling.\n\n## Key Concepts\n\n### Clean Sessions\nEach iteration spawns a **fresh agent session** with clean context. This is intentional:\n- Avoids context window limits\n- Each `codex exec` is a new process with no memory of previous runs\n- Memory persists via files: `IMPLEMENTATION_PLAN.md`, `AGENTS.md`, git history\n\n### File-Based Notification Fallback\nIf OpenClaw is rate-limited when Codex sends a wake notification:\n1. The notification is written to `.ralph\u002Fpending-notification.txt`\n2. Wake is attempted (may fail)\n3. When OpenClaw recovers, it checks for pending notifications\n4. Work is never lost — it's all in git\u002Ffiles\n\n## File Structure\n\n```\nproject\u002F\n├── PROMPT.md                      # Loaded each iteration (mode-specific)\n├── AGENTS.md                      # Project context, test commands, learnings\n├── IMPLEMENTATION_PLAN.md         # Task list with status\n├── specs\u002F                         # Requirements specs\n│   ├── overview.md\n│   └── \u003Cfeature>.md\n└── .ralph\u002F\n    ├── ralph.log                  # Execution log\n    ├── pending-notification.txt   # Current pending notification (if any)\n    └── last-notification.txt      # Previous notification (for reference)\n```\n\n## Notification Format\n\n`.ralph\u002Fpending-notification.txt`:\n```json\n{\n  \"timestamp\": \"2026-02-07T02:30:00+01:00\",\n  \"project\": \"\u002Fhome\u002Fuser\u002Fmy-project\",\n  \"message\": \"DONE: All tasks complete.\",\n  \"iteration\": 15,\n  \"max_iterations\": 20,\n  \"cli\": \"codex\",\n  \"status\": \"pending\"\n}\n```\n\nStatus values:\n- `pending` — Wake failed or not attempted\n- `delivered` — Wake succeeded\n\n---\n\n## OpenClaw Recovery Procedure\n\nWhen coming back online after rate limit or downtime, **check for pending notifications**:\n\n```bash\n# Find all pending notifications across projects\nfind ~\u002Fprojects -name \"pending-notification.txt\" -path \"*\u002F.ralph\u002F*\" 2>\u002Fdev\u002Fnull\n\n# Or check a specific project\ncat \u002Fpath\u002Fto\u002Fproject\u002F.ralph\u002Fpending-notification.txt\n```\n\n### Recovery Actions by Message Prefix\n\n| Prefix | Action |\n|--------|--------|\n| `DONE:` | Report completion to user, summarize what was built |\n| `PLANNING_COMPLETE:` | Inform user, ask if ready for BUILDING mode |\n| `PROGRESS:` | Log it, update user if significant |\n| `DECISION:` | Present options to user, wait for answer, inject into AGENTS.md |\n| `ERROR:` | Check logs (`.ralph\u002Fralph.log`), analyze, help or escalate |\n| `BLOCKED:` | Escalate to user immediately with full context |\n| `QUESTION:` | Present to user, get clarification, inject into AGENTS.md |\n\n### Injecting Responses\n\nTo answer a decision\u002Fquestion for the next iteration:\n```bash\necho \"## Human Decisions\n- [$(date '+%Y-%m-%d %H:%M')] Q: \u003Cquestion>? A: \u003Canswer>\" >> AGENTS.md\n```\n\nThe next Codex session will read AGENTS.md and see the answer.\n\n### Clearing Notifications\n\nAfter processing a notification, clear it:\n```bash\nmv .ralph\u002Fpending-notification.txt .ralph\u002Flast-notification.txt\n```\n\n---\n\n## Workflow\n\n### 1. Collect Requirements\n\nAsk for (if not provided):\n- **Goal\u002FJTBD**: What outcome is needed?\n- **CLI**: `codex`, `claude`, `opencode`, `goose`\n- **Mode**: `PLANNING`, `BUILDING`, or `BOTH`\n- **Tech stack**: Language, framework, database\n- **Test command**: How to verify correctness\n- **Max iterations**: Default 20\n\n### 2. Generate Specs\n\nBreak the goal into **topics of concern** → `specs\u002F*.md`:\n\n```markdown\n# specs\u002Foverview.md\n## Goal\n\u003Cone-sentence JTBD>\n\n## Tech Stack\n- Language: Python 3.11\n- Framework: FastAPI\n- Database: SQLite\n- Frontend: HTMX + Tailwind\n\n## Success Criteria\n- [ ] Criterion 1\n- [ ] Criterion 2\n```\n\n### 3. Generate AGENTS.md\n\n```markdown\n# AGENTS.md\n\n## Project\n\u003Cbrief description>\n\n## Commands\n- **Install**: `pip install -e .`\n- **Test**: `pytest`\n- **Lint**: `ruff check .`\n- **Run**: `python -m app`\n\n## Backpressure\nRun after each implementation:\n1. `ruff check . --fix`\n2. `pytest`\n\n## Human Decisions\n\u003C!-- Decisions made by humans are recorded here -->\n\n## Learnings\n\u003C!-- Agent appends operational notes here -->\n```\n\n### 4. Generate PROMPT.md (Mode-Specific)\n\n#### PLANNING Mode\n\n```markdown\n# Ralph PLANNING Loop\n\n## Goal\n\u003CJTBD>\n\n## Context\n- Read: specs\u002F*.md\n- Read: Current codebase structure\n- Update: IMPLEMENTATION_PLAN.md\n\n## Rules\n1. Do NOT implement code\n2. Do NOT commit\n3. Analyze gaps between specs and current state\n4. Create\u002Fupdate IMPLEMENTATION_PLAN.md with prioritized tasks\n5. Each task should be small (\u003C 1 hour of work)\n6. If requirements are unclear, list questions\n\n## Notifications\nWhen you need input or finish planning:\n```bash\nopenclaw gateway wake --text \"PLANNING: \u003Cyour message>\" --mode now\n```\n\nUse prefixes:\n- `DECISION:` — Need human input on a choice\n- `QUESTION:` — Requirements unclear\n- `DONE:` — Planning complete\n\n## Completion\nWhen plan is complete and ready for building, add to IMPLEMENTATION_PLAN.md:\n```\nSTATUS: PLANNING_COMPLETE\n```\nThen notify:\n```bash\nopenclaw gateway wake --text \"DONE: Planning complete. X tasks identified.\" --mode now\n```\n```\n\n#### BUILDING Mode\n\n```markdown\n# Ralph BUILDING Loop\n\n## Goal\n\u003CJTBD>\n\n## Context\n- Read: specs\u002F*.md, IMPLEMENTATION_PLAN.md, AGENTS.md\n- Implement: One task per iteration\n- Test: Run backpressure commands from AGENTS.md\n\n## Rules\n1. Pick the highest priority incomplete task from IMPLEMENTATION_PLAN.md\n2. Investigate relevant code before changing\n3. Implement the task\n4. Run backpressure commands (lint, test)\n5. If tests pass: commit with clear message, mark task done\n6. If tests fail: try to fix (max 3 attempts), then notify\n7. Update AGENTS.md with any operational learnings\n8. Update IMPLEMENTATION_PLAN.md with progress\n\n## Notifications\nCall OpenClaw when needed:\n```bash\nopenclaw gateway wake --text \"\u003CPREFIX>: \u003Cmessage>\" --mode now\n```\n\nPrefixes:\n- `DECISION:` — Need human input (e.g., \"SQLite vs PostgreSQL?\")\n- `ERROR:` — Tests failing after 3 attempts\n- `BLOCKED:` — Missing dependency, credentials, or unclear spec\n- `PROGRESS:` — Major milestone complete (optional)\n- `DONE:` — All tasks complete\n\n## Completion\nWhen all tasks are done:\n1. Add to IMPLEMENTATION_PLAN.md: `STATUS: COMPLETE`\n2. Notify:\n```bash\nopenclaw gateway wake --text \"DONE: All tasks complete. Summary: \u003Cwhat was built>\" --mode now\n```\n```\n\n### 5. Run the Loop\n\nUse the provided `scripts\u002Fralph.sh`:\n\n```bash\n# Default: 20 iterations with Codex\n.\u002Fscripts\u002Fralph.sh 20\n\n# With Claude Code\nRALPH_CLI=claude .\u002Fscripts\u002Fralph.sh 10\n\n# With tests\nRALPH_TEST=\"pytest\" .\u002Fscripts\u002Fralph.sh\n```\n\n---\n\n## Parallel Execution\n\nFor independent tasks, use git worktrees:\n\n```bash\n# Create worktrees for parallel work\ngit worktree add \u002Ftmp\u002Ftask-auth main\ngit worktree add \u002Ftmp\u002Ftask-upload main\n\n# Spawn parallel sessions (each is clean\u002Ffresh)\nexec pty:true background:true workdir:\u002Ftmp\u002Ftask-auth command:\"codex exec --full-auto 'Implement user authentication...'\"\nexec pty:true background:true workdir:\u002Ftmp\u002Ftask-upload command:\"codex exec --full-auto 'Implement image upload...'\"\n```\n\nTrack sessions:\n\n| Session ID | Worktree | Task | Status |\n|------------|----------|------|--------|\n| abc123 | \u002Ftmp\u002Ftask-auth | Auth module | running |\n| def456 | \u002Ftmp\u002Ftask-upload | Image upload | running |\n\nEach Codex notifies independently. Check `.ralph\u002Fpending-notification.txt` in each worktree.\n\n---\n\n## CLI-Specific Notes\n\n### Codex\n- Requires git repository\n- **Each `codex exec` is a fresh session** — no memory between calls\n- `--full-auto`: Auto-approve in workspace (sandboxed)\n- `--yolo`: No sandbox, no approvals (dangerous but fast)\n- Default model: gpt-5.2-codex\n\n### Claude Code\n- `--dangerously-skip-permissions`: Auto-approve (use in sandbox)\n- No git requirement\n- Each invocation is fresh\n\n### OpenCode\n- `opencode run \"$(cat PROMPT.md)\"`\n\n### Goose\n- `goose run \"$(cat PROMPT.md)\"`\n\n---\n\n## Safety\n\n⚠️ **Auto-approve flags are dangerous.** Always:\n1. Run in a dedicated directory\u002Fbranch\n2. Use a sandbox (Docker\u002FVM) for untrusted projects\n3. Have `git reset --hard` ready as escape hatch\n4. Review commits before pushing\n\n---\n\n## Quick Start\n\n```bash\n# 1. Create project directory\nmkdir my-project && cd my-project && git init\n\n# 2. Copy templates from skill\ncp \u002Fpath\u002Fto\u002Fralph-loop\u002Ftemplates\u002F* .\nmv PROMPT-PLANNING.md PROMPT.md\n\n# 3. Create specs\nmkdir specs\ncat > specs\u002Foverview.md \u003C\u003C 'EOF'\n## Goal\nBuild a web app that...\n\n## Tech Stack\n- Python 3.11 + FastAPI\n- SQLite\n- HTMX + Tailwind\n\n## Features\n1. Feature one\n2. Feature two\nEOF\n\n# 4. Edit PROMPT.md with your goal\n\n# 5. Run the loop\n.\u002Fralph.sh 20\n```\n\n---\n\n## Example: Antique Catalogue\n\n```markdown\n# specs\u002Foverview.md\n## Goal\nWeb app for cataloguing antique items with metadata, images, and categories.\n\n## Tech Stack\n- Python 3.11 + FastAPI\n- SQLite + SQLAlchemy\n- HTMX + Tailwind CSS\n- Local file storage for images\n\n## Features\n1. CRUD for items (name, description, age, purchase info, dimensions)\n2. Image upload (multiple per item)\n3. Tags and categories\n4. Search and filter\n5. Multiple view modes (grid, list, detail)\n```\n\nThe agent will:\n1. (PLANNING) Break this into 10-15 tasks\n2. (BUILDING) Implement each task, one per iteration\n3. Commit after each successful implementation\n4. Notify on completion or if blocked\n","# Ralph Loop (Event-Driven)\n\nEnhanced Ralph pattern with **event-driven notifications** — Codex\u002FClaude calls OpenClaw when it needs attention instead of polling.\n\n## Key Concepts\n\n### Clean Sessions\nEach iteration spawns a **fresh agent session** with clean context. This is intentional:\n- Avoids context window limits\n- Each `codex exec` is a new process with no memory of previous runs\n- Memory persists via files: `IMPLEMENTATION_PLAN.md`, `AGENTS.md`, git history\n\n### File-Based Notification Fallback\nIf OpenClaw is rate-limited when Codex sends a wake notification:\n1. The notification is written to `.ralph\u002Fpending-notification.txt`\n2. Wake is attempted (may fail)\n3. When OpenClaw recovers, it checks for pending notifications\n4. Work is never lost — it's all in git\u002Ffiles\n\n## File Structure\n\n```\nproject\u002F\n├── PROMPT.md                      # Loaded each iteration (mode-specific)\n├── AGENTS.md                      # Project context, test commands, learnings\n├── IMPLEMENTATION_PLAN.md         # Task list with status\n├── specs\u002F                         # Requirements specs\n│   ├── overview.md\n│   └── \u003Cfeature>.md\n└── .ralph\u002F\n    ├── ralph.log                  # Execution log\n    ├── pending-notification.txt   # Current pending notification (if any)\n    └── last-notification.txt      # Previous notification (for reference)\n```\n\n## Notification Format\n\n`.ralph\u002Fpending-notification.txt`:\n```json\n{\n  \"timestamp\": \"2026-02-07T02:30:00+01:00\",\n  \"project\": \"\u002Fhome\u002Fuser\u002Fmy-project\",\n  \"message\": \"DONE: All tasks complete.\",\n  \"iteration\": 15,\n  \"max_iterations\": 20,\n  \"cli\": \"codex\",\n  \"status\": \"pending\"\n}\n```\n\nStatus values:\n- `pending` — Wake failed or not attempted\n- `delivered` — Wake succeeded\n\n---\n\n## OpenClaw Recovery Procedure\n\nWhen coming back online after rate limit or downtime, **check for pending notifications**:\n\n```bash\n# Find all pending notifications across projects\nfind ~\u002Fprojects -name \"pending-notification.txt\" -path \"*\u002F.ralph\u002F*\" 2>\u002Fdev\u002Fnull\n\n# Or check a specific project\ncat \u002Fpath\u002Fto\u002Fproject\u002F.ralph\u002Fpending-notification.txt\n```\n\n### Recovery Actions by Message Prefix\n\n| Prefix | Action |\n|--------|--------|\n| `DONE:` | Report completion to user, summarize what was built |\n| `PLANNING_COMPLETE:` | Inform user, ask if ready for BUILDING mode |\n| `PROGRESS:` | Log it, update user if significant |\n| `DECISION:` | Present options to user, wait for answer, inject into AGENTS.md |\n| `ERROR:` | Check logs (`.ralph\u002Fralph.log`), analyze, help or escalate |\n| `BLOCKED:` | Escalate to user immediately with full context |\n| `QUESTION:` | Present to user, get clarification, inject into AGENTS.md |\n\n### Injecting Responses\n\nTo answer a decision\u002Fquestion for the next iteration:\n```bash\necho \"## Human Decisions\n- [$(date '+%Y-%m-%d %H:%M')] Q: \u003Cquestion>? A: \u003Canswer>\" >> AGENTS.md\n```\n\nThe next Codex session will read AGENTS.md and see the answer.\n\n### Clearing Notifications\n\nAfter processing a notification, clear it:\n```bash\nmv .ralph\u002Fpending-notification.txt .ralph\u002Flast-notification.txt\n```\n\n---\n\n## Workflow\n\n### 1. Collect Requirements\n\nAsk for (if not provided):\n- **Goal\u002FJTBD**: What outcome is needed?\n- **CLI**: `codex`, `claude`, `opencode`, `goose`\n- **Mode**: `PLANNING`, `BUILDING`, or `BOTH`\n- **Tech stack**: Language, framework, database\n- **Test command**: How to verify correctness\n- **Max iterations**: Default 20\n\n### 2. Generate Specs\n\nBreak the goal into **topics of concern** → `specs\u002F*.md`:\n\n```markdown\n# specs\u002Foverview.md\n## Goal\n\u003Cone-sentence JTBD>\n\n## Tech Stack\n- Language: Python 3.11\n- Framework: FastAPI\n- Database: SQLite\n- Frontend: HTMX + Tailwind\n\n## Success Criteria\n- [ ] Criterion 1\n- [ ] Criterion 2\n```\n\n### 3. Generate AGENTS.md\n\n```markdown\n# AGENTS.md\n\n## Project\n\u003Cbrief description>\n\n## Commands\n- **Install**: `pip install -e .`\n- **Test**: `pytest`\n- **Lint**: `ruff check .`\n- **Run**: `python -m app`\n\n## Backpressure\nRun after each implementation:\n1. `ruff check . --fix`\n2. `pytest`\n\n## Human Decisions\n\u003C!-- Decisions made by humans are recorded here -->\n\n## Learnings\n\u003C!-- Agent appends operational notes here -->\n```\n\n### 4. Generate PROMPT.md (Mode-Specific)\n\n#### PLANNING Mode\n\n```markdown\n# Ralph PLANNING Loop\n\n## Goal\n\u003CJTBD>\n\n## Context\n- Read: specs\u002F*.md\n- Read: Current codebase structure\n- Update: IMPLEMENTATION_PLAN.md\n\n## Rules\n1. Do NOT implement code\n2. Do NOT commit\n3. Analyze gaps between specs and current state\n4. Create\u002Fupdate IMPLEMENTATION_PLAN.md with prioritized tasks\n5. Each task should be small (\u003C 1 hour of work)\n6. If requirements are unclear, list questions\n\n## Notifications\nWhen you need input or finish planning:\n```bash\nopenclaw gateway wake --text \"PLANNING: \u003Cyour message>\" --mode now\n```\n\nUse prefixes:\n- `DECISION:` — Need human input on a choice\n- `QUESTION:` — Requirements unclear\n- `DONE:` — Planning complete\n\n## Completion\nWhen plan is complete and ready for building, add to IMPLEMENTATION_PLAN.md:\n```\nSTATUS: PLANNING_COMPLETE\n```\nThen notify:\n```bash\nopenclaw gateway wake --text \"DONE: Planning complete. X tasks identified.\" --mode now\n```\n```\n\n#### BUILDING Mode\n\n```markdown\n# Ralph BUILDING Loop\n\n## Goal\n\u003CJTBD>\n\n## Context\n- Read: specs\u002F*.md, IMPLEMENTATION_PLAN.md, AGENTS.md\n- Implement: One task per iteration\n- Test: Run backpressure commands from AGENTS.md\n\n## Rules\n1. Pick the highest priority incomplete task from IMPLEMENTATION_PLAN.md\n2. Investigate relevant code before changing\n3. Implement the task\n4. Run backpressure commands (lint, test)\n5. If tests pass: commit with clear message, mark task done\n6. If tests fail: try to fix (max 3 attempts), then notify\n7. Update AGENTS.md with any operational learnings\n8. Update IMPLEMENTATION_PLAN.md with progress\n\n## Notifications\nCall OpenClaw when needed:\n```bash\nopenclaw gateway wake --text \"\u003CPREFIX>: \u003Cmessage>\" --mode now\n```\n\nPrefixes:\n- `DECISION:` — Need human input (e.g., \"SQLite vs PostgreSQL?\")\n- `ERROR:` — Tests failing after 3 attempts\n- `BLOCKED:` — Missing dependency, credentials, or unclear spec\n- `PROGRESS:` — Major milestone complete (optional)\n- `DONE:` — All tasks complete\n\n## Completion\nWhen all tasks are done:\n1. Add to IMPLEMENTATION_PLAN.md: `STATUS: COMPLETE`\n2. Notify:\n```bash\nopenclaw gateway wake --text \"DONE: All tasks complete. Summary: \u003Cwhat was built>\" --mode now\n```\n```\n\n### 5. Run the Loop\n\nUse the provided `scripts\u002Fralph.sh`:\n\n```bash\n# Default: 20 iterations with Codex\n.\u002Fscripts\u002Fralph.sh 20\n\n# With Claude Code\nRALPH_CLI=claude .\u002Fscripts\u002Fralph.sh 10\n\n# With tests\nRALPH_TEST=\"pytest\" .\u002Fscripts\u002Fralph.sh\n```\n\n---\n\n## Parallel Execution\n\nFor independent tasks, use git worktrees:\n\n```bash\n# Create worktrees for parallel work\ngit worktree add \u002Ftmp\u002Ftask-auth main\ngit worktree add \u002Ftmp\u002Ftask-upload main\n\n# Spawn parallel sessions (each is clean\u002Ffresh)\nexec pty:true background:true workdir:\u002Ftmp\u002Ftask-auth command:\"codex exec --full-auto 'Implement user authentication...'\"\nexec pty:true background:true workdir:\u002Ftmp\u002Ftask-upload command:\"codex exec --full-auto 'Implement image upload...'\"\n```\n\nTrack sessions:\n\n| Session ID | Worktree | Task | Status |\n|------------|----------|------|--------|\n| abc123 | \u002Ftmp\u002Ftask-auth | Auth module | running |\n| def456 | \u002Ftmp\u002Ftask-upload | Image upload | running |\n\nEach Codex notifies independently. Check `.ralph\u002Fpending-notification.txt` in each worktree.\n\n---\n\n## CLI-Specific Notes\n\n### Codex\n- Requires git repository\n- **Each `codex exec` is a fresh session** — no memory between calls\n- `--full-auto`: Auto-approve in workspace (sandboxed)\n- `--yolo`: No sandbox, no approvals (dangerous but fast)\n- Default model: gpt-5.2-codex\n\n### Claude Code\n- `--dangerously-skip-permissions`: Auto-approve (use in sandbox)\n- No git requirement\n- Each invocation is fresh\n\n### OpenCode\n- `opencode run \"$(cat PROMPT.md)\"`\n\n### Goose\n- `goose run \"$(cat PROMPT.md)\"`\n\n---\n\n## Safety\n\n⚠️ **Auto-approve flags are dangerous.** Always:\n1. Run in a dedicated directory\u002Fbranch\n2. Use a sandbox (Docker\u002FVM) for untrusted projects\n3. Have `git reset --hard` ready as escape hatch\n4. Review commits before pushing\n\n---\n\n## Quick Start\n\n```bash\n# 1. Create project directory\nmkdir my-project && cd my-project && git init\n\n# 2. Copy templates from skill\ncp \u002Fpath\u002Fto\u002Fralph-loop\u002Ftemplates\u002F* .\nmv PROMPT-PLANNING.md PROMPT.md\n\n# 3. Create specs\nmkdir specs\ncat > specs\u002Foverview.md \u003C\u003C 'EOF'\n## Goal\nBuild a web app that...\n\n## Tech Stack\n- Python 3.11 + FastAPI\n- SQLite\n- HTMX + Tailwind\n\n## Features\n1. Feature one\n2. Feature two\nEOF\n\n# 4. Edit PROMPT.md with your goal\n\n# 5. Run the loop\n.\u002Fralph.sh 20\n```\n\n---\n\n## Example: Antique Catalogue\n\n```markdown\n# specs\u002Foverview.md\n## Goal\nWeb app for cataloguing antique items with metadata, images, and categories.\n\n## Tech Stack\n- Python 3.11 + FastAPI\n- SQLite + SQLAlchemy\n- HTMX + Tailwind CSS\n- Local file storage for images\n\n## Features\n1. CRUD for items (name, description, age, purchase info, dimensions)\n2. Image upload (multiple per item)\n3. Tags and categories\n4. Search and filter\n5. Multiple view modes (grid, list, detail)\n```\n\nThe agent will:\n1. (PLANNING) Break this into 10-15 tasks\n2. (BUILDING) Implement each task, one per iteration\n3. Commit after each successful implementation\n4. Notify on completion or if blocked\n",{"name":5,"description":7},"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fendogen\u002Fmonitored-ralph-loop",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add kbarbel640-del\u002Fskills --skill ralph-loop",{"tool":61,"command":62},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill ralph-loop",{"tool":64,"command":65},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill ralph-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002FSKILL.md",true,[69,75,79,85,89,93],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"_meta.json","REFERENCE","参考文档",293,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002F_meta.json",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"README.md",5056,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002FREADME.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fralph.sh","SCRIPT","脚本",6037,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002Fscripts\u002Fralph.sh",{"path":86,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":87,"sourceHtmlUrl":88},"templates\u002FAGENTS.md",896,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002Ftemplates\u002FAGENTS.md",{"path":90,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":91,"sourceHtmlUrl":92},"templates\u002FPROMPT-BUILDING.md",2368,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002Ftemplates\u002FPROMPT-BUILDING.md",{"path":94,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":95,"sourceHtmlUrl":96},"templates\u002FPROMPT-PLANNING.md",1860,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fendogen\u002Fmonitored-ralph-loop\u002Ftemplates\u002FPROMPT-PLANNING.md",[98,129,153,173,179,199],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":43},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":43},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[135],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[137,112,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,117,34],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":43},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[163,164,165,166,167,168,169,113,170,151,34,171,112,172,28],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http",{"skillNo":174,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":43},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[177],{"categoryNo":160,"categoryName":161,"taxonomyType":20,"taxonomyTypeDesc":21},[166,165,164,163,28,168,169,113,167,151,34,170,171,112,172],{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":43},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[186,187,188,189,190,191,192,193,194,195,196,197,198],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":209,"publishedAt":43},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[205,206],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":207,"categoryName":208,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000037","律师与法务",[210,211,212,213,113,214,215,48,216,171,217,218,219,220,221,126,222,223,224],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]