ralph
Use Ralph for autonomous, ticket-native campaign delivery: ordered tk tickets, one PR per ticket, committed recipes and prompts, checks, merge, status, logs…
Skill by crcatala
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/crcatala-ralph
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ralph
What's inside
- Skill name
ralph- Description
- Use Ralph for autonomous, ticket-native campaign delivery: ordered tk tickets, one PR per ticket, committed recipes and prompts, checks, merge, status, logs, and recovery.
- License
- MIT
- Compatibility
- Requires Node.js 22+, the ralph CLI (@crcatala/ralph-unpossible >= 1.0.0), tk, gh, git, and a pi runtime.
- Metadata
- version: 3.0.0
- Instructions
- 311 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Ralph — autonomous campaign delivery
Ralph runs an explicitly ordered list of trusted `tk` tickets. Each delivery is
one retained worktree/branch, one recipe run, and one pull request. The next
delivery starts only after Ralph proves that the previous PR merged on a
freshly fetched base branch.
The controller owns pinning, ticket closure, pushes, PR identity, required
checks, merge authority, and durable recovery. The project owns the campaign
manifest, recipe, and prompts.
- CLI/package: `ralph`, `@crcatala/ralph-unpossible`
- Requires Node.js 22+
- Default agent: Pi
- Ticket source: `tk` (`.tickets/`)
Do not guess flags or schema. Prefer `ralph <command> --help`, `ralph guide`,
and the files installed by `ralph init`.
## Pre-flight
Always verify the installed tool and project before changing or running it:
```bash
command -v ralph && ralph --version
ralph guide
ralph config show
ralph doctor
```
Require Ralph `>= 1.0.0`. If it is missing or older, stop and report an
environment mismatch rather than installing an ad hoc global copy that
bypasses your reviewed pin. Fix the environment (image, devcontainer, or
tool-version config) so it provides the reviewed Ralph pin, then verify the
command again.
Run from the repository root. `ralph doctor` must pass its required checks:
Node, Ralph home, project, complete Pi provider/model/thinking configuration,
and Pi's non-inference preflight. GitHub and `tk` checks are reported as
optional by doctor, but are required in practice for an autonomous PR
campaign.
Runtime configuration has no implicit model. Values resolve field-by-field:
CLI (where supported) → `.ralph/config.json` → `$RALPH_HOME/config.json`.
Configure all three values with the actual runtime you intend to use; do not
invent provider or model ids:
```bash
ralph config init --project --provider <actual-provider> --model <actual-model> --thinking <actual-level>
ralph config show
ralph doctor --json
```
Valid thinking levels are `off`, `minimal`, `low`, `medium`, `high`, and
`xhigh`. Use `high`/`xhigh` only when the selected model and provider support
it and cost/latency are acceptable. Credentials belong in the runtime
environment, not committed config.
## Set up a campaign
Install the editable standard recipe and prompts, then scaffold a campaign:
```bash
ralph init
ralph new my-campaign --epic <optional-tk-epic> \
--ticket <first-ticket> --ticket <second-ticket>
```
`ralph init` is non-destructive: it installs missing files and keeps edited
ones. The project layout is:
```text
.ralph/
config.json # optional project runtime config
campaigns/<name>/campaign.yaml # campaign manifest
recipes/standard-pr.yaml # editable delivery recipe
prompts/implement.md # editable agent prompts
prompts/review-fix.md
prompts/verify.md
prompts/pr-description.md
```
A campaign manifest should look like this:
```yaml
version: 2
name: my-campaign
base_branch: main
source:
type: tk
epic: ru-epic # optional context only; never auto-closed
recipe: .ralph/recipes/standard-pr.yaml
pull_request:
branch_template: "ralph/{{campaign}}/{{ticket}}"
title_template: "{{ticket}}: {{ticket_title}}"
draft: false
deliveries: # order is the dependency model
- ticket: ru-first
- ticket: ru-second
```
Only `{{campaign}}`, `{{ticket}}`, and `{{ticket_title}}` are valid template
placeholders. Delivery ticket ids must be unique and path-safe. Keep tickets
small enough for one independently reviewable PR. Ralph never infers,
decomposes, or reorders deliveries.
Before the first run, commit to the campaign `base_branch`:
- the campaign manifest;
- every delivery ticket and optional epic;
- the referenced recipe and all referenced prompts;
- `.ralph/config.json` when the project should pin the runtime selection.
The fetched base commit is the trust boundary. Local edits on a candidate
branch cannot change the active manifest, recipe, prompts, or trusted tickets.From crcatala/skills, MIT.
More from crcatala/skills
- 0.570score
anatomy
crcatala
Build crafted, highly detailed, interactive isometric SVG figures that explain a technical idea as a real physical object (a test rig, a dial gauge, a cabinet…
SkillAFreshness: AClaude Code +9 - 0.565score
image-gen
crcatala
Generate or edit images with OpenAI GPT Image (gpt-image-2.5-flare, default) or xAI Grok Imagine (grok-imagine-image-2.0).
SkillAFreshness: AClaude Code +9 - 0.565score
github-pr-screenshots
crcatala
Upload local screenshots or captures (PNG, SVG, other image files) to a GitHub pull request with gh-attach and embed the returned markdown in the requested PR…
SkillAFreshness: AClaude Code +9 - 0.565score
grok-research
crcatala
Deep research via Grok 4.6 — agentic web + X (Twitter) search.
SkillAFreshness: AClaude Code +9 - 0.563score
repo-icons
crcatala
Wizard that finds your recently active GitHub repositories without a usable icon, generates icon concepts in a choice of styles, lets you pick them on a…
SkillAFreshness: AClaude Code +9 - 0.561score
review-and-fix-pr
crcatala
Review the PR for this branch (Good/Bad/Ugly), comment the assessment on the PR, fix the issues worth addressing, then commit and push.
SkillAFreshness: AClaude Code +9 - 0.561score
brave-web
crcatala
Fast web search and safe URL extraction through Brave Search.
SkillAFreshness: AClaude Code +9 - 0.561score
evaluate-competing-prs
crcatala
Compare multiple PRs from different agents that implement the same task, with scoring and a recommendation saved to docs/evaluations/.
SkillAFreshness: AClaude Code +9 - 0.561score
exa-code
crcatala
Search for code documentation, examples, and API references using Exa AI.
SkillAFreshness: AClaude Code +9 - 0.561score
agent-browser
crcatala
Browser automation via Vercel's agent-browser CLI.
SkillAFreshness: AClaude Code +9 - 0.561score
review-pr-good-bad-ugly
crcatala
Read the PR for this branch in full (description, comments, commits, linked issues, diff) and produce a structured Good/Bad/Ugly review.
SkillAFreshness: AClaude Code +9 - 0.556score
review-branch
crcatala
Review all changes on the current branch against main for quality, security and maintainability, and print the review without posting it anywhere.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 1, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 3.0.0
- License
- MIT
- Repository
- github.com/crcatala/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from crcatala
- 0.570score
anatomy
crcatala
Build crafted, highly detailed, interactive isometric SVG figures that explain a technical idea as a real physical object (a test rig, a dial gauge, a cabinet…
SkillAFreshness: AClaude Code +9 - 0.565score
image-gen
crcatala
Generate or edit images with OpenAI GPT Image (gpt-image-2.5-flare, default) or xAI Grok Imagine (grok-imagine-image-2.0).
SkillAFreshness: AClaude Code +9 - 0.565score
grok-research
crcatala
Deep research via Grok 4.6 — agentic web + X (Twitter) search.
SkillAFreshness: AClaude Code +9 - 0.565score
github-pr-screenshots
crcatala
Upload local screenshots or captures (PNG, SVG, other image files) to a GitHub pull request with gh-attach and embed the returned markdown in the requested PR…
SkillAFreshness: AClaude Code +9 - 0.563score
repo-icons
crcatala
Wizard that finds your recently active GitHub repositories without a usable icon, generates icon concepts in a choice of styles, lets you pick them on a…
SkillAFreshness: AClaude Code +9 - 0.561score
evaluate-competing-prs
crcatala
Compare multiple PRs from different agents that implement the same task, with scoring and a recommendation saved to docs/evaluations/.
SkillAFreshness: AClaude Code +9
Cite this page
ralph skill. Agent Mart. https://agentmart.dev/skills/crcatala-ralph (last updated 2026-10-24)