Agent skill
ralph
Autonomous agent for tackling big projects. Create PRDs with user stories, then run them via the CLI. Sessions persist across restarts with pause/resume and real-time monitoring.
Install this agent skill to your Project
npx add-skill https://github.com/civitai/civitai/tree/main/.claude/skills/ralph
SKILL.md
Ralph - Autonomous Agent
Ralph breaks big projects into user stories and executes them autonomously. The workflow:
- Create a PRD - Define user stories with acceptance criteria
- Run it -
ralph.mjs create --prd path/to/prd.json --start - Monitor -
ralph.mjs logs <session-id> --follow
Creating a PRD
Create a project folder and prd.json:
.claude/skills/ralph/projects/<project-name>/prd.json
PRD Structure
{
"description": "Brief description of the feature",
"branchName": "feature/my-feature",
"userStories": [
{
"id": "US001",
"title": "Short descriptive title",
"description": "As a [user], I want [feature] so that [benefit]",
"acceptanceCriteria": [
"Specific testable criterion",
"Typecheck passes"
],
"priority": 1,
"passes": false
}
]
}
Story Guidelines
- Priority 1: Foundation - migrations, types, base components
- Priority 2-3: Core functionality
- Priority 4+: Secondary features, polish
- Each story should touch 1-3 files, not 10-file refactors
- Include "Typecheck passes" in acceptance criteria
CLI Commands
The daemon starts automatically when you run any command.
Running Sessions
# Create and start a session
ralph.mjs create --prd path/to/prd.json --start
# List all sessions
ralph.mjs list
# Check session status
ralph.mjs status <session-id>
# Follow logs in real-time
ralph.mjs logs <session-id> --follow
Session Control
# Pause a session
ralph.mjs pause <session-id> --reason "Waiting for API"
# Resume with guidance
ralph.mjs resume <session-id> --guidance "API is ready on port 3000"
# Inject guidance into running session
ralph.mjs inject <session-id> --message "Try using the helper in utils.ts"
# Abort a session
ralph.mjs abort <session-id>
Orchestration (Multi-Level)
For orchestrator PRDs that spawn child sessions:
# Spawn a child session
ralph.mjs spawn <parent-id> --prd child/prd.json --start
# List children of a session
ralph.mjs children <session-id>
# Wait for all children to complete
ralph.mjs wait <session-id>
# View session tree
ralph.mjs tree <session-id>
# Abort parent and all children
ralph.mjs abort <session-id> --cascade
PRD Types
| Type | Use Case |
|---|---|
code (default) |
Implement features, commit code |
orchestrator |
Coordinate multiple sub-Ralphs |
testing |
Browser automation testing |
Set via "type": "orchestrator" in prd.json.
Full CLI Reference
Run ralph.mjs --help for complete documentation.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
clickhouse-query
Run ClickHouse queries for analytics, metrics analysis, and event data exploration. Use when you need to query ClickHouse directly, analyze metrics, check event tracking data, or test query performance. Read-only by default.
redis-inspect
Inspect Redis cache keys, values, and TTLs for debugging. Supports both main cache and system cache. Use for debugging cache issues, checking cached values, and monitoring cache state. Read-only by default.
quick-mockups
Create multiple UI design mockups in parallel. Use when asked to create mockups, wireframes, or design variations for a feature. Creates HTML files using Mantine v7 + Tailwind following Civitai's design system.
flipt
Manage Flipt feature flags - list, create, enable/disable, and configure rollout rules. Use when you need to control feature flag state or set up segmented rollouts.
bitdex-test
metabase
Create and manage Metabase questions, dashboards, and public links. Use when the user wants to build metrics dashboards, create saved questions with SQL queries, or share analytics publicly.
Didn't find tool you were looking for?