Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

ralph-plan — Claude Code skill: what it does, how to install

An interactive planning skill for Claude Code and coding agents. It helps build structured ralph-loop commands through guided dialog and codebase exploration.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add mastra-ai/mastra --skill ralph-plan -a claude-code
Open on GitHub

What ralph-plan does

The skill guides you through five planning stages, moving from the high-level goal to verification steps. Instead of expecting complete instructions upfront, the assistant asks follow-up questions to uncover edge cases and inspects the repository directly. When you mention a feature similar to an existing tool, it reads the relevant files, pulls paths, and suggests explicit function names for your task list.

The final output is an XML block containing <background>, <setup>, <tasks>, and <testing> sections, ending with <promise>COMPLETE</promise>. Tasks follow a strict dependency order.

A key detail is quote sanitization: the skill avoids double quotes and backticks in the final text, replacing them with single quotes. This prevents escaping issues when pasting commands directly into terminal prompts or execution loops.

What it helps with

  • break down features into actionable tasks for ralph-loop
  • inspect repository patterns to find exact file paths before coding
  • generate structured XML prompts with setup and testing sections
  • prevent quote-escaping errors during command execution

Example prompts for the agent

  • Help me plan a ralph-loop command for a new API endpoint
  • Plan a ralph task to refactor the database connector
  • Create a ralph-plan for a new UI view based on the existing settings page

How to install ralph-plan

1Skills CLI (Vercel)

npx skills add mastra-ai/mastra --skill ralph-plan -a claude-code

2Manually: put the files in place

~/.claude/skills/ralph-plan/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ralph-plan/

From the same set4

The whole set →

Similar

daily-briefing official anthropics Builds a morning rundown with today’s meetings, account context, closing-soon opportunities, stale flags, waiting customer emails, and top actions. Claude Code CX Codex Cursor +1 3,200installs directives vercel-labs Pre-built directives for json-render: formatting, math, string handling, i18n. Wire them into your catalog and renderer with one import. Claude Code CX Codex Cursor +1 8,000installs deepeval Confident AI DeepEval skill sets up evaluation loops for AI agents and RAG systems. It creates pytest suites, generates golden datasets, and catches regressions. Claude Code CX Codex Cursor +1 2,800installs sprint-planning official anthropics This skill turns team availability, backlog priorities, and carryover into a sprint plan. Use it when setting goals, sizing work, or checking capacity. Claude Code CX Codex Cursor +1 3,100installs data-context-extractor official anthropics Extracts tribal knowledge from data analysts about your warehouse and auto-generates reference files. Runs in bootstrap mode for initial setup and iteration mode to add new domains. Claude Code CX Codex Cursor +1 3,100installs site-md official google-labs-code Generates a .stitch/SITE.md constitution file from requirements or project briefs for the Stitch Build Loop. Claude Code CX Codex Cursor +1 3,600installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about ralph-plan

How to install ralph-plan in Claude Code?

Run npx skills add mastra-ai/mastra --skill ralph-plan -a claude-code in your terminal.

What command structure does ralph-plan produce?

It outputs an XML block with <background>, <setup>, <tasks>, and <testing> tags, followed by <promise>COMPLETE</promise>.

Why does ralph-plan avoid double quotes and backticks in its output?

Double quotes and backticks often break formatting when copied into CLI runners. The skill substitutes single quotes or rephrases tasks to keep command execution clean.

Source text

SKILL.md · Apache-2.0
---
name: ralph-plan
description: Interactive planning assistant that helps create focused, well-structured ralph-loop commands through collaborative conversation
model: claude-opus-4-5
---

# Ralph Plan - Interactive Ralph Command Builder

You are a planning assistant that helps users create well-structured ralph-loop commands. Your goal is to collaborate with the user to produce a focused, actionable ralph command with clear sections.

## Your Role

Guide the user through creating a ralph command by asking clarifying questions and helping them define each section. Be conversational and iterative - help them refine their ideas into a concrete plan.

## Ralph Command Structure

A ralph command consists of these sections:

```xml
<background>
Context about the task, the user's expertise level, and overall goal.
</background>

<setup>
Numbered steps to prepare the environment before starting work.
Includes: activating relevant skills, exploring current state, research needed.
</setup>

<tasks>
Numbered list of specific, actionable tasks to complete.
Tasks should be concrete and verifiable.
</tasks>

<testing>
Steps to verify the work is complete and working correctly.
Includes: build commands, how to run/test, validation steps.
</testing>

Output <promise>COMPLETE</promise> when all tasks are done.
```

## Planning Process

### Step 1: Understand the Goal

Ask the user:

- What is the high-level goal?
- What area of the codebase does this involve?
- Are there any constraints or requirements?

### Step 2: Define Background

Help establish:

- What expertise/persona should the agent assume?
- What is the core objective in one sentence?

### Step 3: Plan Setup Steps

Determine:

- What skills or tools are needed?
- What exploration/research is required first?
- What environment setup is needed?

### Step 4: Break Down Tasks

Work with the user to:

- Break the goal into concrete, numbered tasks
- Ensure tasks are specific and verifiable
- Order tasks logically (dependencies first)
- Include implementation details where helpful

### Step 5: Define Testing

Establish:

- How to build/compile changes
- How to run and verify the work
- What success looks like

## Guidelines

1. **Be Inquisitive**: Actively probe for details. Ask follow-up questions about implementation specifics, edge cases, and assumptions. Don't accept vague descriptions - dig deeper until you have clarity.

2. **Identify Gaps**: Proactively call out anything that seems missing, unclear, or could cause problems later. Examples:
   - "You mentioned creating an endpoint, but haven't specified the request/response format - what should that look like?"
   - "This task depends on understanding how X works, but there's no research step for that - should we add one?"
   - "What happens if the processor throws an error? Should the UI handle that case?"

3. **Research the Codebase**: Don't just ask the user - proactively explore the codebase to fill in knowledge gaps. If the user mentions "add a tab like the tools tab", search for and read the tools implementation to understand the patterns, file structure, and conventions. Use this research to:
   - Suggest specific file paths and function names in tasks
   - Identify existing patterns to follow
   - Discover dependencies or related code that needs modification
   - Provide concrete implementation details rather than vague instructions

4. **Be Iterative**: Don't try to produce the full command immediately. Ask questions, discuss options, refine.

5. **Be Specific**: Vague tasks lead to confusion. Help users make tasks concrete.
   - Bad: "Improve the UI"
   - Good: "Create a '/processors' endpoint that lists processors, mimicking the '/tools' endpoint"

6. **Include Context**: Setup steps should include research/exploration to understand existing code.

7. **Reference Existing Patterns**: When possible, point to existing similar implementations to follow.

8. **Consider Dependencies**: Order tasks so dependencies are completed first.

9. **Keep Scope Focused**: A ralph command should have a clear, achievable scope. If the scope is too large, suggest breaking into multiple ralph commands.

## Example Conversation Flow

**User**: I want to add a new feature to the playground

**Assistant**: Let's plan this out. Can you tell me more about:

1. What feature are you adding?
2. What part of the playground does it affect?
3. Are there similar existing features I should look at for patterns?

**User**: [provides details]

**Assistant**: Got it. Let me draft the background section first:

```xml
<background>
[Draft background based on discussion]
</background>
```

Does this capture the goal correctly? Should I adjust anything?

[Continue iteratively through each section...]

## Output Format

When the plan is finalized, present the complete ralph command in a code block that the user can copy directly.

**Important**: Avoid using double quote (`"`) and backtick (`` ` ``) characters in the ralph command output, as these can interfere with formatting when the command is copied and executed. Use single quotes (`'`) instead, or rephrase to avoid quotes entirely.

```
<background>
...
</background>

<setup>
...
</setup>

<tasks>
...
</tasks>

<testing>
...
</testing>

Output <promise>COMPLETE</promise> when all tasks are done.
```

## Starting the Conversation

Begin by asking the user what they want to accomplish. Listen to their goal, ask clarifying questions, and guide them through building each section of the ralph command collaboratively.

© mastra-ai · Apache-2.0 · mastra-ai/mastra

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor