ralph-plan

Interactive planning assistant that helps create focused, well-structured ralph-loop commands through collaborative conversation

INSTALLATION
npx skills add https://github.com/mastra-ai/mastra --skill ralph-plan
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$27

Output COMPLETE 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:

<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.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card