Handoff
anombyte93/prd-taskmaster
Phase 3 of the prd-taskmaster pipeline: smart mode selection and user handoff.
Transform approved plans into ralph loop infrastructure. An agent skill from TechDufus/oh-my-claude.
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TechDufus/oh-my-claude ralph-loop-init --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .claude/skills/ralph-loop-init && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .claude/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-initType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TechDufus/oh-my-claude ralph-loop-init --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .agents/skills/ralph-loop-init && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .agents/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TechDufus/oh-my-claude ralph-loop-init --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .cursor/skills/ralph-loop-init && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .cursor/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/TechDufus/oh-my-claude.git --path plugins/oh-my-claude/skills/ralph-loop-init--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TechDufus/oh-my-claude ralph-loop-init --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .gemini/skills/ralph-loop-init && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .gemini/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install TechDufus/oh-my-claude ralph-loop-initInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .github/skills/ralph-loop-init && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .github/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TechDufus/oh-my-claude ralph-loop-init --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TechDufus/oh-my-claude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/oh-my-claude/skills/ralph-loop-init .opencode/skills/ralph-loop-init && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ralph-loop-init" agent skill from https://github.com/TechDufus/oh-my-claude/tree/main/plugins/oh-my-claude/skills/ralph-loop-init into .opencode/skills/ralph-loop-init/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ralph-loop-init", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ralph-loop-initTransform approved plans into ralph loop infrastructure. An agent skill from TechDufus/oh-my-claude.
Ralph Loop Init is an agent skill from TechDufus/oh-my-claude. Transform approved plans into ralph loop infrastructure. Triggers on: '/ralph-loop-init', '/ralph-init', 'setup ralph loop', 'generate ralph loop'. Creates .ralph/ directory with prd.json, loop.py, CLAUDE.md, and supporting files.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Autonomous loops and PRD writing. The repository describes itself as: Add ultrawork to any prompt for maximum parallel execution. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ede75db. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashAgentAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmnpxmakegitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, npx and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ralph Loop Init loads about 4.6k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 887 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from TechDufus/oh-my-claude at commit ede75db, republished under its MIT licence (© TechDufus). 887 words, ~4,605 tokens.
.claude/skills/ralph-loop-init/SKILL.md (or your agent's skills folder).Transform approved plans into executable ralph loop infrastructure.
Ralph Loop is an autonomous execution system that runs Claude (or compatible tools) in a loop to complete multi-step implementation work. It transforms a PRD into:
Each iteration: read one story, implement it, run quality gates, commit, update progress, exit. The loop script handles the next iteration.
| Category | Trigger Phrases |
|---|---|
| Initialize | /ralph-loop-init <plan-path>, /ralph-init <plan-path> |
| Setup | setup ralph loop, generate ralph loop |
| From plan | create ralph loop from .claude/plans/... |
Identify the approved plan to transform.
If path provided:
/ralph-loop-init .claude/plans/user-authentication.mdRead the plan at the specified path.
If no path provided:
/ralph-loop-initList available plans in .claude/plans/ (excluding drafts/) and ask user to select one.
Validation:
.claude/plans/ (not drafts/)Before generating files, check for existing ralph loop infrastructure.
if [ -d ".ralph" ]; then
# Existing ralph loop detected
fiIf .ralph/ exists:
Present options to user:
Existing ralph loop detected at .ralph/
Options:
1. "overwrite" - Delete existing .ralph/ and create fresh
2. "resume" - Keep existing, show current progress
3. "cancel" - Abort initialization
Which would you like?Handle response:
| User Says | Action |
|---|---|
| "overwrite", "fresh", "start over" | Delete .ralph/, proceed with generation |
| "resume", "continue", "keep" | Show progress from existing prd.json, do not regenerate |
| "cancel", "abort", "stop" | Exit skill |
Parse the plan's "## Implementation Steps" section into structured stories.
Input format (from plan):
## Implementation Steps
1. Create the auth middleware in src/middleware/auth.ts with JWT validation logic
2. Add login endpoint to src/routes/auth.ts that validates credentials and returns tokens
3. Add logout endpoint that invalidates the current token
4. Create token refresh endpoint for extending sessions
5. Update User model with password hashing using bcryptExtraction rules:
story-{N} where N is the step numberfalse (all stories start incomplete)Output structure:
{
"stories": [
{
"id": "story-1",
"title": "Create auth middleware with JWT validation",
"description": "Create the auth middleware in src/middleware/auth.ts with JWT validation logic",
"priority": 1,
"passes": false
}
]
}Detect project quality gates by scanning for common configuration files.
Detection Logic:
| File/Pattern | Quality Gate Command |
|---|---|
package.json with scripts.test | npm test |
package.json with scripts.lint | npm run lint |
tsconfig.json | npx tsc --noEmit |
.eslintrc* or eslint.config.* | npx eslint . |
pytest.ini or pyproject.toml with pytest | pytest |
Makefile with test target | make test |
Makefile with lint target | make lint |
.github/workflows/*.yml | Note: "CI will run on push" |
Detection process:
Check for package.json:
if [ -f "package.json" ]; then
# Check for test/lint scripts
fiCheck for TypeScript:
if [ -f "tsconfig.json" ]; then
# Add tsc --noEmit
fiCheck for ESLint:
if ls .eslintrc* eslint.config.* 2>/dev/null; then
# Add eslint
fiCheck for Python testing:
if [ -f "pytest.ini" ] || grep -q "pytest" pyproject.toml 2>/dev/null; then
# Add pytest
fiCheck for Makefile targets:
if [ -f "Makefile" ]; then
grep -q "^test:" Makefile && # Add make test
grep -q "^lint:" Makefile && # Add make lint
fiOutput: List of quality gate commands for CLAUDE.md template.
Generate all ralph loop files in .ralph/ directory.
mkdir -p .ralph{
"plan_source": ".claude/plans/{topic-slug}.md",
"created_at": "{ISO-8601-timestamp}",
"stories": [
{
"id": "story-1",
"title": "{extracted title}",
"description": "{full step description}",
"priority": 1,
"passes": false
},
{
"id": "story-2",
"title": "{extracted title}",
"description": "{full step description}",
"priority": 2,
"passes": false
}
]
}Ralph Loop Progress
===================
Plan: {plan title}
Source: {plan path}
Started: {timestamp}
Stories: 0/{total} complete
---
[Execution log will appear below]# Ralph Loop Task
You are executing ONE iteration of a ralph loop. Complete ONE story, then exit.
## Your Task
1. Read `.ralph/prd.json` to find the next incomplete story (passes: false, lowest priority)
2. Implement ONLY that story
3. Run quality gates
4. Commit your changes
5. Update progress
6. Exit
## Quality Gates
Run these commands before committing. ALL must pass:
{detected quality gate commands, one per line with backticks}
If any gate fails, fix the issue before committing.
## Story Completion Protocol
When you complete a story:
1. **Check for changes and commit if needed:**
```bash
git status --porcelainIf there ARE changes:
git add -Acommit_quality_enforcer hook validates format automaticallyIf there are NO changes, proceed directly to step 2.
Update prd.json:
passes: true for the completed storyAppend to progress.txt:
[{timestamp}] Completed: {story-id} - {story-title}Exit immediately - Do not start another story
See .ralph/guardrails.md for constraints and boundaries.
#### File 4: loop.py
```python
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.11"
# dependencies = ["rich"]
# ///
"""
Ralph Loop Runner
Executes AI iterations until all stories complete.
Uses rich for beautiful terminal output with progress tracking.
"""
import json
import os
import subprocess
import sys
from pathlib import Path
from rich.console import Console
from rich.panel import Panel
console = Console()
RALPH_DIR = Path(".ralph")
PRD_FILE = RALPH_DIR / "prd.json"
PROGRESS_FILE = RALPH_DIR / "progress.txt"
def load_prd() -> dict:
"""Load and return the PRD JSON."""
with open(PRD_FILE) as f:
return json.load(f)
def count_stories(prd: dict) -> tuple[int, int]:
"""Return (complete, total) story counts."""
stories = prd["stories"]
complete = sum(1 for s in stories if s["passes"])
return complete, len(stories)
def get_next_story(prd: dict) -> dict | None:
"""Get the next incomplete story by priority."""
incomplete = [s for s in prd["stories"] if not s["passes"]]
return min(incomplete, key=lambda s: s["priority"]) if incomplete else None
def run_claude() -> int:
"""Run claude and return exit code."""
result = subprocess.run([
"claude",
"--dangerously-skip-permissions",
"--print",
"Execute ralph loop iteration per .ralph/CLAUDE.md"
])
return result.returncode
def show_header(max_iterations: int, complete: int, total: int):
"""Display the header panel with autonomous mode warning."""
console.print(Panel.fit(
f"[bold cyan]Ralph Loop Runner[/]\n\n"
f"[bold yellow]⚠️ AUTONOMOUS MODE ENABLED[/]\n"
f"[dim]Commands execute without approval[/]\n\n"
f"[dim]Max:[/] [yellow]{max_iterations}[/] "
f"[dim]Progress:[/] [green]{complete}[/]/[cyan]{total}[/]",
border_style="blue",
title="🔄 ralph",
title_align="left"
))
def show_iteration(iteration: int, max_iterations: int, story: dict, remaining: int):
"""Display iteration info."""
console.print()
console.rule(f"[bold]Iteration {iteration}/{max_iterations}[/]", style="dim")
console.print(f"[cyan]Next:[/] {story['id']} - {story['title']}")
console.print(f"[dim]Remaining:[/] {remaining} stories")
console.print()
def show_progress_bar(complete: int, total: int):
"""Display a simple progress indicator."""
pct = (complete / total * 100) if total > 0 else 0
filled = int(pct / 5)
bar = "█" * filled + "░" * (20 - filled)
console.print(f"[cyan]Progress:[/] [{bar}] {complete}/{total} ({pct:.0f}%)")
def show_completion():
"""Display completion panel."""
console.print()
console.print(Panel.fit(
"[bold green]✓ All stories complete![/]",
border_style="green"
))
def show_max_reached(max_iterations: int, incomplete: int):
"""Display max iterations panel."""
console.print()
console.print(Panel.fit(
f"[bold yellow]Max iterations reached ({max_iterations})[/]\n"
f"[red]{incomplete} stories still incomplete[/]",
border_style="yellow"
))
def main():
max_iterations = int(os.environ.get("MAX_ITERATIONS", "10"))
# Verify ralph directory
if not RALPH_DIR.exists():
console.print("[red]Error:[/] .ralph directory not found")
console.print("[dim]Run /ralph-loop-init first[/]")
sys.exit(1)
if not PRD_FILE.exists():
console.print(f"[red]Error:[/] {PRD_FILE} not found")
sys.exit(1)
# Load PRD and show header
prd = load_prd()
complete, total = count_stories(prd)
show_header(max_iterations, complete, total)
# Main loop
for iteration in range(1, max_iterations + 1):
prd = load_prd() # Reload each iteration
complete, total = count_stories(prd)
incomplete = total - complete
if incomplete == 0:
show_completion()
sys.exit(0)
next_story = get_next_story(prd)
show_iteration(iteration, max_iterations, next_story, incomplete)
# Run claude with visible output
with console.status("[bold green]Starting claude...[/]", spinner="dots"):
pass # Brief status then let subprocess take over
exit_code = run_claude()
if exit_code != 0:
console.print(f"[yellow]Warning:[/] claude exited with code {exit_code}")
# Show updated progress
prd = load_prd()
complete, total = count_stories(prd)
show_progress_bar(complete, total)
# Max iterations reached
prd = load_prd()
complete, total = count_stories(prd)
incomplete = total - complete
show_max_reached(max_iterations, incomplete)
sys.exit(1 if incomplete > 0 else 0)
if __name__ == "__main__":
main()# Ralph Loop Guardrails
Constraints and boundaries for this ralph loop execution.
## Scope Boundaries
This loop implements the plan at: `{plan_source}`
### In Scope
- Stories defined in prd.json
- Files mentioned in the original plan
- Quality gates listed in CLAUDE.md
### Out of Scope
- Features not in the plan
- Refactoring unrelated code
- Dependency upgrades (unless specified)
- Documentation beyond code comments
## Quality Requirements
All changes must:
1. Pass defined quality gates
2. Include appropriate tests (if test infrastructure exists)
3. Follow existing code patterns
4. Not break existing functionality
## Commit Standards
- One commit per story
- Conventional commit format: `feat(ralph): {description}`
- Include `Story-Id: {story-id}` in commit body
- No unrelated changes in commits
## Blocking Conditions
Stop and document in progress.txt if:
- Quality gates fail after 3 attempts
- Story requires clarification not in plan
- External dependency is unavailable
- Circular dependency detected
## Recovery
If the loop fails:
1. Check progress.txt for last successful story
2. Check git log for committed work
3. Review prd.json for story states
4. Resume with: `uv run .ralph/loop.py`
## Manual Override
To skip a problematic story:
```bash
# Edit prd.json, set passes: true for the story
# Add note to progress.txt explaining skip
# Run: uv run .ralph/loop.py
---
### Phase 6: Completion Report
After generating all files, report to user:
Directory: .ralph/
Files created:
Quality gates detected:
⚠️ AUTONOMOUS MODE This loop runs with --dangerously-skip-permissions Claude will execute commands without prompting for approval Review .ralph/guardrails.md before starting
To start the loop: uv run .ralph/loop.py
Plan source: {plan_path}
---
## Examples
### Example 1: Initialize with Plan Path
/ralph-loop-init .claude/plans/user-authentication.md
**Output:**Directory: .ralph/
Files created:
Quality gates detected:
⚠️ AUTONOMOUS MODE This loop runs with --dangerously-skip-permissions Claude will execute commands without prompting for approval Review .ralph/guardrails.md before starting
To start the loop: uv run .ralph/loop.py
Plan source: .claude/plans/user-authentication.md
### Example 2: Initialize Without Path
/ralph-init
**Output:**Available plans:
Which plan should I use for the ralph loop?
User: "2"
**Proceeds with:** `.claude/plans/api-refactor.md`
### Example 3: Existing .ralph/ Directory
setup ralph loop
**Output:**Existing ralph loop detected at .ralph/
Current progress: 3/8 stories complete Last activity: 2024-01-15 14:30
Options:
Which would you like?
User: "overwrite"
**Proceeds with:** Fresh initialization, deleting old .ralph/
---
## Error Handling
### Plan Not Found
Error: Plan not found at {path}
Check that:
Available plans: {list .claude/plans/*.md}
### No Implementation Steps
Error: No implementation steps found in plan
The plan must have a "## Implementation Steps" section with numbered items:
Please update the plan and try again.
### Existing .ralph/ with Active Work
Warning: Existing ralph loop has uncommitted progress
Last completed: story-3 (2024-01-15 14:30) Uncommitted changes detected in working directory
Options:
Which would you like?
### Quality Gate Detection Failed
Note: No quality gates detected
The loop will run without automated checks. Consider adding:
Proceeding with generation...
---
## Behavior Rules
### MUST DO
- Read and validate the plan before generating files
- Extract ALL implementation steps as stories
- Detect quality gates from project configuration
- Generate ALL 5 files (prd.json, progress.txt, CLAUDE.md, loop.py, guardrails.md)
- Report completion with next steps
- Handle existing .ralph/ gracefully
### MUST NOT
- Generate partial file sets
- Skip story extraction validation
- Overwrite .ralph/ without user confirmation
- Modify the source plan file
- Start executing the loop (only initialize)
- Hardcode quality gates without detection
- Create .ralph/ outside project root
### SHOULD DO
- Preserve original plan reference in prd.json
- Include timestamps in generated files
- Provide clear error messages with recovery steps
- Detect as many quality gates as possible
- Format generated files for readability
- Include docstrings in loop.py for clarity© TechDufus, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/oh-my-claude/skills/ralph-loop-init of TechDufus/oh-my-claude.
Open the folder on GitHubat commit ede75db
Ralph Loop Init next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ralph Loop Init this skillTechDufus/oh-my-claude | 174 | — | ~4.6k | Automated safety check: Notes | MIT | |
| Handoffanombyte93/prd-taskmaster | 604 | — | ~5k | Automated safety check: Pass | MIT | |
| Autodev Paralleljh941213/my-cc-harness | 126 | — | ~1.3k | Automated safety check: Notes | None | |
| Autodevjh941213/my-cc-harness | 126 | — | ~1.5k | Automated safety check: Notes | None | |
| Autodevjh941213/my-cc-harness | 126 | — | ~1.1k | Automated safety check: Notes | None | |
| Autodev Paralleljh941213/my-cc-harness | 126 | — | ~958 | Automated safety check: Notes | None |
anombyte93/prd-taskmaster
Phase 3 of the prd-taskmaster pipeline: smart mode selection and user handoff.
jh941213/my-cc-harness
Parallel version of the Ralph Loop. An agent skill from jh941213/my-cc-harness.
jh941213/my-cc-harness
Ralph Loop based autonomous development loop. An agent skill from jh941213/my-cc-harness.
jh941213/my-cc-harness
Ralph Loop 기반 자율 개발 루프. An agent skill from jh941213/my-cc-harness.
jh941213/my-cc-harness
Ralph Loop 병렬 버전. An agent skill from jh941213/my-cc-harness.
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
TechDufus/oh-my-claude
Systematic debugging methodology for diagnosing failures and root cause analysis.
TechDufus/oh-my-claude
A skill your agent uses when applying oh-my-claude workflow guidance, ultrawork modes, agent orchestration, plan execution, or plugin configuration.
TechDufus/oh-my-claude
MUST be used when creating pull requests. An agent skill from TechDufus/oh-my-claude.
TechDufus/oh-my-claude
Structured PRD generation with interview, research, and approval workflow.
TechDufus/oh-my-claude
Methodology for creating effective skills using TDD principles.
TechDufus/oh-my-claude
Initialize or migrate to nested CLAUDE.md structure for progressive disclosure.
Categories
Transform approved plans into ralph loop infrastructure. An agent skill from TechDufus/oh-my-claude. Ralph Loop Init is an agent skill from TechDufus/oh-my-claude. Transform approved plans into ralph loop infrastructure.
Ralph Loop Init fits situations like: : /ralph-loop-init; setup ralph loop; generate ralph loop.
Run `npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a claude-code`. Or copy the skill folder (plugins/oh-my-claude/skills/ralph-loop-init in TechDufus/oh-my-claude) into .claude/skills/ralph-loop-init in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a codex`. Or copy the skill folder (plugins/oh-my-claude/skills/ralph-loop-init in TechDufus/oh-my-claude) into .agents/skills/ralph-loop-init in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TechDufus/oh-my-claude --skill ralph-loop-init -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ralph-loop-init, .gemini/skills/ralph-loop-init, .github/skills/ralph-loop-init and .opencode/skills/ralph-loop-init in your project.
Going by SKILL.md and its folder, Ralph Loop Init needs the command-line tools its instructions call (npm, npx, make and git). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, Agent, AskUserQuestion.
SKILL.md contains no URLs. Its commands use npm, npx and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ralph Loop Init is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ralph Loop Init: Handoff (anombyte93/prd-taskmaster, 604 stars), Autodev Parallel (jh941213/my-cc-harness, 126 stars), Autodev (jh941213/my-cc-harness, 126 stars) and Autodev (jh941213/my-cc-harness, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TechDufus (a GitHub user) maintains it in TechDufus/oh-my-claude, which has 174 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on July 13, 2026.
Source: TechDufus/oh-my-claude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.