[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EVEN3MXHR2M8EWE9AYGX2":3,"skill-same:01M71EVEN3MXHR2M8EWE9AYGX2":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":69},"01M71EVEN3MXHR2M8EWE9AYGX2","ralph-loop",null,"Autonomous Ralph Wiggum Loop — iterative task execution with fresh context, filesystem memory, and git versioning","shyamsridhar123\u002Fkevin-copilot","shyamsridhar123","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F117464342?v=4","01M71ESN8NA3Z6Z47CJS9WBT0B","Shyam Sridhar","01M71ESNA9HE4YA6ZZSCNYCGJR",8,"MIT","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fralph-loop\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"loop","ralph","ralph loop","autonomous","path","true","with","fresh","promise","ralph wiggum","task","memory","context","filesystem","versioning","execution","prd","git","2026-11-10 10:12:30",false,"---\nname: ralph-loop\ndescription: Autonomous Ralph Wiggum Loop — iterative task execution with fresh context, filesystem memory, and git versioning\nargument-hint: \"[task description or PRD path] [--completion-promise KEYWORD]\"\ndisable-model-invocation: true\n---\n\n## Arguments\n[task description or PRD path] [--completion-promise KEYWORD]\n\n# Ralph Wiggum Loop\n\nAn autonomous coding loop that executes tasks iteratively with **fresh context per iteration**, using the filesystem as memory and `git` for version control. Inspired by the [Ralph Wiggum pattern](https:\u002F\u002Fghuntley.com\u002Fralph\u002F) — persistent trial-and-error with external state tracking.\n\n## Core Principle\n\n**Ralph loop = Fresh context + Filesystem memory + Git versioning**\n\nEach iteration starts with a clean context window. Progress is tracked in `PROGRESS.md`, requirements live in `PRD.md`, and every completed task is committed to git. This avoids context pollution and produces reliable results for multi-step work.\n\n## Usage\n\n```bash\n\u002Fralph-loop \"Build the authentication module\"\n\u002Fralph-loop docs\u002Fplans\u002Fmy-plan.md\n\u002Fralph-loop \"finish all slash commands\" --completion-promise \"DONE\"\n```\n\n## Execution Flow\n\n### Phase 0: Planning (if no PRD exists)\n\nIf the argument is a task description (not a path to an existing PRD or plan file):\n\n1. **Read existing plan files** — Check `docs\u002Fplans\u002F` for a relevant plan. If one exists and matches the task, use it as the PRD.\n2. **Generate PRD** — If no plan exists, create `PRD.md` in the project root with:\n   - **Goal**: One-sentence summary of what success looks like\n   - **Tasks**: Numbered list of atomic, independently-executable tasks\n   - **Acceptance Criteria**: Testable criteria for each task\n   - **Completion Promise**: The keyword to output when all tasks are done (default: `DONE`)\n\n3. **Generate PROGRESS.md** — Create `PROGRESS.md` in the project root with:\n   ```markdown\n   # Progress\n\n   ## Status: IN_PROGRESS\n\n   | # | Task | Status | Notes |\n   |---|------|--------|-------|\n   | 1 | [task name] | PENDING | |\n   | 2 | [task name] | PENDING | |\n   ```\n\n4. **Commit initial state**:\n   ```bash\n   git add PRD.md PROGRESS.md\n   git commit -m \"ralph-loop: initialize PRD and progress tracking\"\n   ```\n\nIf the argument is a path to a plan file (e.g., `docs\u002Fplans\u002Ffeature.md`), use that as the PRD and generate only `PROGRESS.md` from its tasks.\n\n### Phase 1: Coordination Loop\n\nRead `PRD.md` and `PROGRESS.md` to determine the next PENDING task, then execute iterations until all tasks are complete.\n\nFor **each iteration**:\n\n#### Step 1 — Pick Next Task\n\nRead `PROGRESS.md` and select the first task with status `PENDING`. If no PENDING tasks remain, go to Phase 2 (Completion).\n\n#### Step 2 — Execute Task\n\nSpawn a **fresh sub-agent** (via the Task tool) for the selected task. The sub-agent prompt MUST include:\n\n```\nYou are a Ralph Executor. Complete this single task with fresh context.\n\n**Task:** [task description from PRD]\n**Acceptance Criteria:** [criteria from PRD]\n\nInstructions:\n1. Read PRD.md and PROGRESS.md for full context\n2. Implement the task — write code, create files, run tests\n3. Verify your work meets the acceptance criteria\n4. Update PROGRESS.md: set this task's status to DONE with brief notes\n5. Stage and commit your changes:\n   git add -A\n   git commit -m \"ralph-loop: complete task [N] — [brief description]\"\n\nDo NOT modify other tasks. Do NOT skip testing. One task only.\n```\n\n\u003Ccritical_requirement>\nEach executor sub-agent runs with **fresh context** — it has no memory of previous iterations. All state comes from the filesystem (PRD.md, PROGRESS.md, existing code, git history).\n\u003C\u002Fcritical_requirement>\n\n#### Step 3 — Verify Completion\n\nAfter the executor sub-agent completes:\n\n1. **Read PROGRESS.md** — Confirm the task status was updated to `DONE`\n2. **Quick review** — Spawn a brief reviewer sub-agent to check:\n   - Does the code compile\u002Fpass linting?\n   - Were tests added or do existing tests still pass?\n   - Does the change match the acceptance criteria?\n3. **If review fails** — Update task status to `FAILED` with notes, then re-attempt. Each task gets up to 3 total attempts (1 initial + 2 retries). After the third failed attempt, mark the task as `BLOCKED` and continue to the next task.\n4. **If review passes** — Continue to next iteration (back to Step 1)\n\n### Phase 2: Completion\n\nWhen all tasks in `PROGRESS.md` are `DONE` (or `BLOCKED`):\n\n1. **Update PROGRESS.md** — Set top-level status:\n   - `COMPLETE` if all tasks are DONE\n   - `PARTIAL` if any tasks are BLOCKED\n\n2. **Final commit**:\n   ```bash\n   git add PROGRESS.md\n   git commit -m \"ralph-loop: all tasks complete\"\n   ```\n\n3. **Output completion promise** — If `--completion-promise` was provided:\n   ```\n   \u003Cpromise>[KEYWORD]\u003C\u002Fpromise>\n   ```\n   Default keyword is `DONE`.\n\n4. **Summary**:\n   ```\n   ✓ Ralph Loop Complete\n\n   Tasks: [N] total, [X] done, [Y] blocked\n   Commits: [Z] commits made\n   PRD: PRD.md\n   Progress: PROGRESS.md\n\n   Blocked tasks (if any):\n   - Task [N]: [reason]\n   ```\n\n## Integration with Compound Engineering\n\nThe ralph-loop skill works with existing CE skills:\n\n- **As orchestrator**: Called by `\u002Flfg` and `\u002Fslfg` as an optional first step to autonomously execute all workflow commands\n- **With `\u002Fce-plan`**: Can use plan files from `docs\u002Fplans\u002F` as the PRD input\n- **With `\u002Fce-work`**: Each executor iteration is similar to a focused `\u002Fce-work` session\n- **With `\u002Fce-review`**: The verification step performs lightweight review; for thorough review use `\u002Fce-review` after the loop completes\n- **With `\u002Fce-compound`**: After loop completion, run `\u002Fce-compound` to document learnings\n\n## State Files\n\n| File | Purpose | Created By |\n|------|---------|------------|\n| `PRD.md` | Requirements and task list | Phase 0 (Planning) |\n| `PROGRESS.md` | Task status tracking | Phase 0, updated each iteration |\n\nThese files are committed to git and serve as the **filesystem memory** that enables fresh-context execution.\n\n## Design Decisions\n\n- **One task per iteration**: Keeps each sub-agent focused and prevents context pollution\n- **Git commits per task**: Enables rollback of individual tasks and provides audit trail\n- **3 total attempts per task**: 1 initial attempt + up to 2 retries prevents infinite loops on genuinely broken tasks\n- **Reviewer sub-agent**: Catches issues before they compound across iterations\n- **BLOCKED status**: Allows the loop to continue past stuck tasks rather than halting entirely\n\n## Common Mistakes to Avoid\n\n| ❌ Wrong | ✅ Correct |\n|----------|-----------|\n| Execute multiple tasks in one sub-agent | One task per sub-agent with fresh context |\n| Skip git commits between tasks | Commit after every completed task |\n| Carry conversation context across iterations | Each iteration reads state from filesystem |\n| Retry failed tasks indefinitely | 3 total attempts (1 initial + 2 retries), then mark BLOCKED and continue |\n| Modify PRD.md during execution | PRD.md is read-only after planning phase |\n","## Arguments\n[task description or PRD path] [--completion-promise KEYWORD]\n\n# Ralph Wiggum Loop\n\nAn autonomous coding loop that executes tasks iteratively with **fresh context per iteration**, using the filesystem as memory and `git` for version control. Inspired by the [Ralph Wiggum pattern](https:\u002F\u002Fghuntley.com\u002Fralph\u002F) — persistent trial-and-error with external state tracking.\n\n## Core Principle\n\n**Ralph loop = Fresh context + Filesystem memory + Git versioning**\n\nEach iteration starts with a clean context window. Progress is tracked in `PROGRESS.md`, requirements live in `PRD.md`, and every completed task is committed to git. This avoids context pollution and produces reliable results for multi-step work.\n\n## Usage\n\n```bash\n\u002Fralph-loop \"Build the authentication module\"\n\u002Fralph-loop docs\u002Fplans\u002Fmy-plan.md\n\u002Fralph-loop \"finish all slash commands\" --completion-promise \"DONE\"\n```\n\n## Execution Flow\n\n### Phase 0: Planning (if no PRD exists)\n\nIf the argument is a task description (not a path to an existing PRD or plan file):\n\n1. **Read existing plan files** — Check `docs\u002Fplans\u002F` for a relevant plan. If one exists and matches the task, use it as the PRD.\n2. **Generate PRD** — If no plan exists, create `PRD.md` in the project root with:\n   - **Goal**: One-sentence summary of what success looks like\n   - **Tasks**: Numbered list of atomic, independently-executable tasks\n   - **Acceptance Criteria**: Testable criteria for each task\n   - **Completion Promise**: The keyword to output when all tasks are done (default: `DONE`)\n\n3. **Generate PROGRESS.md** — Create `PROGRESS.md` in the project root with:\n   ```markdown\n   # Progress\n\n   ## Status: IN_PROGRESS\n\n   | # | Task | Status | Notes |\n   |---|------|--------|-------|\n   | 1 | [task name] | PENDING | |\n   | 2 | [task name] | PENDING | |\n   ```\n\n4. **Commit initial state**:\n   ```bash\n   git add PRD.md PROGRESS.md\n   git commit -m \"ralph-loop: initialize PRD and progress tracking\"\n   ```\n\nIf the argument is a path to a plan file (e.g., `docs\u002Fplans\u002Ffeature.md`), use that as the PRD and generate only `PROGRESS.md` from its tasks.\n\n### Phase 1: Coordination Loop\n\nRead `PRD.md` and `PROGRESS.md` to determine the next PENDING task, then execute iterations until all tasks are complete.\n\nFor **each iteration**:\n\n#### Step 1 — Pick Next Task\n\nRead `PROGRESS.md` and select the first task with status `PENDING`. If no PENDING tasks remain, go to Phase 2 (Completion).\n\n#### Step 2 — Execute Task\n\nSpawn a **fresh sub-agent** (via the Task tool) for the selected task. The sub-agent prompt MUST include:\n\n```\nYou are a Ralph Executor. Complete this single task with fresh context.\n\n**Task:** [task description from PRD]\n**Acceptance Criteria:** [criteria from PRD]\n\nInstructions:\n1. Read PRD.md and PROGRESS.md for full context\n2. Implement the task — write code, create files, run tests\n3. Verify your work meets the acceptance criteria\n4. Update PROGRESS.md: set this task's status to DONE with brief notes\n5. Stage and commit your changes:\n   git add -A\n   git commit -m \"ralph-loop: complete task [N] — [brief description]\"\n\nDo NOT modify other tasks. Do NOT skip testing. One task only.\n```\n\n\u003Ccritical_requirement>\nEach executor sub-agent runs with **fresh context** — it has no memory of previous iterations. All state comes from the filesystem (PRD.md, PROGRESS.md, existing code, git history).\n\u003C\u002Fcritical_requirement>\n\n#### Step 3 — Verify Completion\n\nAfter the executor sub-agent completes:\n\n1. **Read PROGRESS.md** — Confirm the task status was updated to `DONE`\n2. **Quick review** — Spawn a brief reviewer sub-agent to check:\n   - Does the code compile\u002Fpass linting?\n   - Were tests added or do existing tests still pass?\n   - Does the change match the acceptance criteria?\n3. **If review fails** — Update task status to `FAILED` with notes, then re-attempt. Each task gets up to 3 total attempts (1 initial + 2 retries). After the third failed attempt, mark the task as `BLOCKED` and continue to the next task.\n4. **If review passes** — Continue to next iteration (back to Step 1)\n\n### Phase 2: Completion\n\nWhen all tasks in `PROGRESS.md` are `DONE` (or `BLOCKED`):\n\n1. **Update PROGRESS.md** — Set top-level status:\n   - `COMPLETE` if all tasks are DONE\n   - `PARTIAL` if any tasks are BLOCKED\n\n2. **Final commit**:\n   ```bash\n   git add PROGRESS.md\n   git commit -m \"ralph-loop: all tasks complete\"\n   ```\n\n3. **Output completion promise** — If `--completion-promise` was provided:\n   ```\n   \u003Cpromise>[KEYWORD]\u003C\u002Fpromise>\n   ```\n   Default keyword is `DONE`.\n\n4. **Summary**:\n   ```\n   ✓ Ralph Loop Complete\n\n   Tasks: [N] total, [X] done, [Y] blocked\n   Commits: [Z] commits made\n   PRD: PRD.md\n   Progress: PROGRESS.md\n\n   Blocked tasks (if any):\n   - Task [N]: [reason]\n   ```\n\n## Integration with Compound Engineering\n\nThe ralph-loop skill works with existing CE skills:\n\n- **As orchestrator**: Called by `\u002Flfg` and `\u002Fslfg` as an optional first step to autonomously execute all workflow commands\n- **With `\u002Fce-plan`**: Can use plan files from `docs\u002Fplans\u002F` as the PRD input\n- **With `\u002Fce-work`**: Each executor iteration is similar to a focused `\u002Fce-work` session\n- **With `\u002Fce-review`**: The verification step performs lightweight review; for thorough review use `\u002Fce-review` after the loop completes\n- **With `\u002Fce-compound`**: After loop completion, run `\u002Fce-compound` to document learnings\n\n## State Files\n\n| File | Purpose | Created By |\n|------|---------|------------|\n| `PRD.md` | Requirements and task list | Phase 0 (Planning) |\n| `PROGRESS.md` | Task status tracking | Phase 0, updated each iteration |\n\nThese files are committed to git and serve as the **filesystem memory** that enables fresh-context execution.\n\n## Design Decisions\n\n- **One task per iteration**: Keeps each sub-agent focused and prevents context pollution\n- **Git commits per task**: Enables rollback of individual tasks and provides audit trail\n- **3 total attempts per task**: 1 initial attempt + up to 2 retries prevents infinite loops on genuinely broken tasks\n- **Reviewer sub-agent**: Catches issues before they compound across iterations\n- **BLOCKED status**: Allows the loop to continue past stuck tasks rather than halting entirely\n\n## Common Mistakes to Avoid\n\n| ❌ Wrong | ✅ Correct |\n|----------|-----------|\n| Execute multiple tasks in one sub-agent | One task per sub-agent with fresh context |\n| Skip git commits between tasks | Commit after every completed task |\n| Carry conversation context across iterations | Each iteration reads state from filesystem |\n| Retry failed tasks indefinitely | 3 total attempts (1 initial + 2 retries), then mark BLOCKED and continue |\n| Modify PRD.md during execution | PRD.md is read-only after planning phase |\n",{"name":5,"description":7,"argument-hint":47,"disable-model-invocation":48},"[task description or PRD path] [--completion-promise KEYWORD]",true,"main","0256fccfa68825bb93a1b37467a7377bd34280af",".github\u002Fskills\u002Fralph-loop",1,"https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123","Engineer, Printf Debugger, Vibe Coder, AI Enthusiast","2026-08-25 22:42:12",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":48},[59,62,65],{"tool":60,"command":61},"npx","npx skills add shyamsridhar123\u002Fkevin-copilot --skill ralph-loop",{"tool":63,"command":64},"bunx","bunx skills add shyamsridhar123\u002Fkevin-copilot --skill ralph-loop",{"tool":66,"command":67},"pnpm","pnpm dlx skills add shyamsridhar123\u002Fkevin-copilot --skill ralph-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fralph-loop\u002FSKILL.md",[],[71,87,106,120,136,149],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":42},"01M71EW4N5RQ70SERKYZB2GBDM","kevin-review","Review a diff and emit concise, evidence-backed findings.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-review\u002FSKILL.md",[],[78,79,80,81,82,83,84,85,86],"kevin review","review","request","concise","evidence","diff","branch","pull","pull request",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":42},"01M71EW36CP1KVDES6KGB8APZZ","kevin-merit","Audit a diff for over-engineering and report it as a corporate merit cycle. Satire; the subject is the code, never a person.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-merit\u002FSKILL.md",[],[94,83,86,95,96,85,97,98,84,99,100,101,102,103,104,105,80],"kevin merit","code","report","audit","engineering","never","cycle","as","it","corporate","for","person",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":42},"01M71EW0YHNR57136MENKW4YSD","kevin-help","Show Kevin modes, commands, and runtime controls.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-help\u002FSKILL.md",[],[113,114,115,116,117,118,119],"kevin help","help","commands","modes","show","runtime","controls",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":42},"01M71EVYYH5QASNZ1KB6C3GMDJ","kevin-enlighten","Explain a topic to someone with no background as a self-contained HTML picture explainer.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-enlighten\u002FSKILL.md",[],[127,128,129,130,131,132,133,101,30,28,134,135],"kevin enlighten","enlighten","repository","explainer","explain","html","self","self-contained","background",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":42},"01M71EVX29VAGHZJZKAKQ97M7X","kevin-compress","Compress an answer without losing required information or safety warnings.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-compress\u002FSKILL.md",[],[143,144,145,146,147,148],"kevin compress","compress","Safety","text","information","answer",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":42},"01M71EVVDWF888W10KA0D3N4W5","kevin-commit","Generate a terse Conventional Commits message from the staged diff.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-commit\u002FSKILL.md",[],[156,157,158,159,83,160,161,162,163,164],"commit","kevin commit","generate","commits","conventional commits","message","focus","staged","terse"]