claude/ai-resources-plugin/skills/configure-ralph/SKILL.md
This skill should be used when the user wants to configure ralph-claude-code for a new objective. It updates .ralph/PROMPT.md and .ralph/fix_plan.md files in projects that already have Ralph enabled. Use when the user says "configure ralph", "set up ralph for", "update ralph for a new objective", or wants to start a new development objective with Ralph.
npx skillsauth add amhuppert/my-ai-resources configure-ralphInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Configure ralph-claude-code for a new development objective by generating optimized PROMPT.md and fix_plan.md files.
This skill requires Ralph to already be enabled in the project. Verify by checking for:
.ralph/ directory exists.ralphrc configuration file existsIf Ralph is not enabled, instruct the user to run ralph-enable first.
The objective can be provided via:
/configure-ralph @objective.mdRead the provided objective file. If no file is provided or the objective lacks sufficient detail, use AskUserQuestion to gather:
Read the existing .ralph/ files to understand:
.ralphrc settings (tool permissions, timeouts, rate limits).ralph/specs/ that should be preserved or referenced.ralph/AGENT.md build/test commandsCreate .ralph/PROMPT.md with TWO parts: project-specific content followed by Ralph operational instructions.
Part 1: Project-Specific Content (customize per project):
# Ralph Development Instructions
## Context
You are Ralph, building [PROJECT_DESCRIPTION].
## Technology Stack
- [Language/Framework] [version]
- [Key library] [version]
- ...
## Key Principles
- [Principle 1]
- [Principle 2]
- ...
## Current Objectives
1. [Specific, measurable goal]
2. [Specific, measurable goal]
## Data Entities / API Contracts
[Define key models, endpoints, data structures with specific details]
## Quality Standards
- [Testing requirements]
- [Code style expectations]
- [Documentation requirements]
<guidelines type="prompt-md">
- Be specific and concrete - avoid vague instructions
- Include version numbers for all technologies
- Define data structures with field names and types
- Specify testing requirements (coverage thresholds, test types)
- Keep principles actionable - things Claude can verify
</guidelines>
Part 2: Ralph Operational Instructions (append verbatim from reference):
Read references/ralph-operational-instructions.md and append its content block (everything inside the ```markdown fence) to the end of the generated PROMPT.md.
<critical> The operational instructions section is MANDATORY. Without it, Ralph's exit detection system cannot function because: - Claude won't output the RALPH_STATUS block that Ralph parses for exit signals - Claude won't know when to set EXIT_SIGNAL: true vs false - Ralph will either never exit or exit prematurely - The circuit breaker and response analyzer depend on structured status output </critical>Create .ralph/fix_plan.md with prioritized, actionable tasks:
# Fix Plan - [Project Name]
## Priority 1: Foundation
- [ ] [Setup task - environment, dependencies, structure]
- [ ] [Core infrastructure task]
## Priority 2: Core Features
- [ ] [Feature implementation task]
- [ ] [Feature implementation task]
## Priority 3: Integration & Testing
- [ ] [Integration task]
- [ ] [Testing task]
## Priority 4: Polish
- [ ] [Documentation task]
- [ ] [Refinement task]
## Completed
<!-- Items Ralph has finished will be moved here -->
## Discovered
<!-- Ralph will add discovered tasks here as it works -->
## Notes
- [Any relevant context about task dependencies or approach]
<guidelines type="fix-plan">
- Each task should be specific and independently completable
- Use checkbox format: `- [ ] Task description`
- Order tasks by dependency (earlier tasks should not depend on later ones)
- Include "Completed", "Discovered", and "Notes" sections
- Tasks should be small enough to complete in one loop iteration
- Avoid compound tasks - split "X and Y" into separate items
</guidelines>
Read the current .ralphrc and check if ALLOWED_TOOLS matches the project's technology stack. Update if needed.
Tool permission patterns by project type:
| Project Type | Required ALLOWED_TOOLS additions |
| ------------------ | ---------------------------------------------- |
| TypeScript/Node.js | Bash(npm *),Bash(npx *) |
| Python | Bash(pip *),Bash(python *),Bash(pytest) |
| Rust | Bash(cargo *) |
| Go | Bash(go *) |
| General | Write,Read,Edit,Bash(git *) (always include) |
If the detected project type requires tools not in the current ALLOWED_TOOLS, update .ralphrc accordingly. Also update PROJECT_TYPE and PROJECT_NAME if they are still set to defaults.
After generating files:
---RALPH_STATUS---)- [ ] format.ralphrc changes maderalph --monitor to start the development loopYou are Ralph, building a REST API for a todo application with user authentication.
IMPORTANT: At the end of your response, ALWAYS include this status block:
---RALPH_STATUS---
STATUS: IN_PROGRESS | COMPLETE | BLOCKED
TASKS_COMPLETED_THIS_LOOP: <number>
FILES_MODIFIED: <number>
TESTS_STATUS: PASSING | FAILING | NOT_RUN
WORK_TYPE: IMPLEMENTATION | TESTING | DOCUMENTATION | REFACTORING
EXIT_SIGNAL: false | true
RECOMMENDATION: <one line summary of what to do next>
---END_RALPH_STATUS---
Set EXIT_SIGNAL to true when ALL of these conditions are met:
Follow .ralph/fix_plan.md and choose the most important item to implement next. Use your judgment to prioritize what will have the biggest impact on project progress.
Remember: Quality over speed. Build it right the first time. Know when you're done. </output-prompt-md>
<output-fix-plan> # Fix Plan - Todo APIFor detailed templates and best practices, see:
tools
Use when picking or vetting a keyboard shortcut on macOS. Triggers include "what hotkey should I use for X", "is `<combo>` available", "does this shortcut conflict", "recommend a keybinding for…", "check `<combo>` against my setup", "pick a hotkey for…", or any mention of choosing/binding/changing a shortcut in WezTerm, tmux, Zed, Chrome, Claude Code, or macOS. Determines whether a proposed combo collides with OS-reserved bindings, app defaults, or the user's customizations, and recommends ergonomic alternatives when needed.
development
Detect and remove dead code with knip. Use when the user asks to "run knip", "find unused files", "find unused exports", "find unused dependencies", "clean up dead code", "remove dead code", "set up knip", "configure knip", "knip.json", "knip false positive", "knip CI", or mentions a `knip` config, dependency bloat, bundle bloat from unused imports, or tree-shaking unused exports. Covers the configuration-first workflow, confidence-gated deletion, framework-specific gotchas (Next.js 15+, Tailwind, Storybook, Jest, Bun's test runner and `bun build --compile`), monorepos, CI integration, and performance tuning.
tools
This skill should be used when the user asks to "set up react-scan", "install react-scan", "diagnose React re-renders", "find unnecessary renders", "find unstable props", "automate React render checks with Playwright", "react-scan + playwright", "measure component renders programmatically", "check why a React component is slow", or mentions React rendering issues, slow React interactions, render counts, or component-level perf attribution. Covers install across Next.js/Vite/Remix/script-tag/browser-extension, the lite headless API for CI, and the canonical render-attribution → fix → validate loop driven through Playwright.
documentation
This skill should be used when integrating source material into a knowledge base, including when the user asks to "integrate this document into the knowledge base", "add this transcript to the memory bank", "ingest this document", "update the knowledge base", "analyze a new source document", or "sync current-state docs with this source".