Agent skill

Ralph To Ralph Onboard

by namuh-eng in namuh-eng/ralph-to-ralph

Interactive onboarding for the ralph-to-ralph autonomous product cloner.

Apache-2.0Auto-check: warningsProductivity & Automation

Install Ralph To Ralph Onboard

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add namuh-eng/ralph-to-ralph --skill ralph-to-ralph-onboard -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install namuh-eng/ralph-to-ralph ralph-to-ralph-onboard --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/namuh-eng/ralph-to-ralph.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ralph-to-ralph-onboard .claude/skills/ralph-to-ralph-onboard && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ralph-to-ralph-onboard
GitHub stars
104
Token cost
~5.6k tokens
SKILL.md length
2,711 words
Files
50 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Interactive onboarding for the ralph-to-ralph autonomous product cloner.

  • Works in 9 steps: Git Pre-flight (silent) → Get the Target → Research the Product → …
  • The user wants to clone a product
  • SKILL.md covers Phase 0: Git Pre-flight (silent), Phase 1: Get the Target, Phase 2: Research the Product and Phase 3: Product Assessment, plus 6 more sections
  • Runs Go and Shell scripts from its folder; calls git, gh and vercel; reaches resend.com and console.cloud.google.com; needs ANTHROPIC_API_KEY and CLOUDFLARE_API_TOKEN

What it does

Ralph To Ralph Onboard is an agent skill from namuh-eng/ralph-to-ralph. Interactive onboarding for the ralph-to-ralph autonomous product cloner. Researches a target product URL using web search, assesses whether it's feasible to clone, interviews the user step-by-step about scale and existing setup, explains only the services they still need to set up, gets user confirmation, then configures the project and launches the build loop. Use this skill whenever the user wants to clone a product, mentions "what should I build", "onboard", "set up ralph", "I want to clone X", or is starting…

Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 58 other files, including scripts and reference files (for example `references/onboard-prompt.md`, `scripts/setup-stack.sh` and `templates/go-chi/BUILD_GUIDE.md`).

It sits in Productivity & Automation, covering Web search. It works with Git. The repository describes itself as: Autonomous Product Cloning Loop — Give it any URL, it inspects, builds, tests, and deploys a working clone. The licence is Apache-2.0.

When your agent uses it

  • The user wants to clone a product
  • Mentions what should I build
  • I want to clone X
  • Is starting the ralph-to-ralph workflow

Example prompts

  • “what should I build”
  • “onboard”
  • “set up ralph”
  • “/ralph-to-ralph-onboard”

Requirements

  • Node.js
  • A Bash shell
  • Docker
  • A credential in ANTHROPIC_API_KEY
  • A credential in CLOUDFLARE_API_TOKEN

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Git Pre-flight (silent)
  2. Get the Target
  3. Research the Product
  4. Product Assessment
  5. Step-by-Step Interview
  6. 5: Verify Setup
  7. Tailored Stack Walkthrough
  8. Final Preferences + Confirm
  9. Implement

What it can do on your machine

Read from SKILL.md and the folder at commit b756d3d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Go and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • vercel
    • aws
    • bash
    • node
    • gcloud
    • az
    • docker
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • resend.com
    • console.cloud.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ANTHROPIC_API_KEY
    • CLOUDFLARE_API_TOKEN
    • AUTH_GOOGLE_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ralph To Ralph Onboard loads about 5.6k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 165 tokens; SKILL.md has 2,711 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~165
When it runs · the whole SKILL.md, loaded when a task matches
~5.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • NoteMentions a .env fileSKILL.md:246
    | Neon | Check `.env` for `DATABASE_URL` containing `neon.tech` | Key exists and is non-empty |
  • NoteMentions a .env fileSKILL.md:247
    clone calls Claude at runtime) | Check `.env` for `ANTHROPIC_API_KEY` | Key exists and is non-empty |
  • NoteMentions a .env fileSKILL.md:248
    | Cloudflare | Check `.env` for `CLOUDFLARE_API_TOKEN` | Key exists and is non-empty |
  • NoteMentions a .env fileSKILL.md:251
    | Google OAuth | Check `.env` for `AUTH_GOOGLE_ID` | Key exists and is non-empty |
  • NoteMentions a .env fileSKILL.md:255
    ID` + `AUTH_GOOGLE_SECRET` are found in `.env`, perform these additional checks:
  • NoteMentions a .env fileSKILL.md:306
    ✓ Neon — DATABASE_URL found in .env
  • NoteMentions a .env fileSKILL.md:314
    > `✗ Anthropic API key — not found in .env` (only required if your clone calls Claude at runtime — not for the build loo
  • NoteMentions a .env fileSKILL.md:315
    `ANTHROPIC_API_KEY=sk-ant-...` to your `.env` file. Get a key at console.anthropic.com.
  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:317
    **Note for the agent:** Do NOT tell the user the build loop needs `ANTHROPIC_API_KEY`. The watchdog calls the `claude` C
  • NoteMentions a .env fileSKILL.md:395
    And write the email to `.env` (gitignored, never committed):

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from namuh-eng/ralph-to-ralph at commit b756d3d, republished under its Apache-2.0 licence (© namuh-eng). 2,711 words, ~5,640 tokens.

Download SKILL.mdSave it as .claude/skills/ralph-to-ralph-onboard/SKILL.md (or your agent's skills folder). This skill also uses 49 other files; get the full folder from GitHub.
name
ralph-to-ralph-onboard
description
Interactive onboarding for the ralph-to-ralph autonomous product cloner. Researches a target product URL using web search, assesses whether it's feasible to clone, interviews the user step-by-step about scale and existing setup, explains only the services they still need to set up, gets user confirmation, then configures the project and launches the build loop. Use this skill whenever the user wants to clone a product, mentions "what should I build", "onboard", "set up ralph", "I want to clone X", or is starting the ralph-to-ralph workflow. Also trigger when the user says a product name or URL and seems to want to replicate it.

Ralph-to-Ralph: Interactive Onboard

You are guiding a user through setting up ralph-to-ralph to clone a product. Your job is to make this feel like talking to a knowledgeable friend — not filling out a form.

Be conversational. Explain things in plain English. Ask one question at a time. Wait for the answer before asking the next one.


Phase 0: Git Pre-flight (silent)

Before asking anything, run this check silently using the Bash tool:

bash
git remote get-url origin 2>/dev/null || echo ""

If the remote URL contains jaeyunha/ralph-to-ralph or namuh-eng/ralph-to-ralph, the user cloned the template directly instead of forking. Prompt them:

"Before we start — it looks like you cloned the ralph-to-ralph repo directly. To keep your project separate, you should reinitialize git with a clean history. Want me to do that now? (Your files won't change — just the git history.)"

If they say yes, run:

bash
rm -rf .git
git init -q
git add .
git -c user.email="user@localhost" -c user.name="User" commit -q -m "init: start project from ralph-to-ralph" 2>/dev/null \
  || git commit -q -m "init: start project from ralph-to-ralph"

Then tell them: "Done — clean history. You'll want to create a new repo on GitHub and run git remote add origin YOUR_REPO_URL once we're set up."

If they say no, continue without reinitializing.

If the remote is empty (degit user) or already points to their own repo, skip this phase entirely.


Phase 1: Get the Target

Ask: "What product do you want to clone? Give me the URL."

If they give you just a domain (e.g. resend.com), treat it as https://resend.com.

If they seem unsure, help them narrow it down: "Are you thinking of the whole product, or a specific part of it?"


Phase 2: Research the Product

Use WebSearch and WebFetch to learn about the target. Do this silently before asking any more questions — come back informed.

2a: Locate the Documentation

Before deep research, find where the product's docs actually live. They're often on a different subdomain:

  1. Web search for "{product name}" developer documentation or "{product name}" API docs
  2. Probe common subdomains: docs.{domain}, developer.{domain}, developers.{domain}
  3. Check {url}/docs, {url}/documentation, {url}/llms.txt

If you find docs on a different subdomain (e.g. docs.stripe.com for stripe.com), note it — you'll save it as docsUrl in ralph-config.json during Phase 7. The doc scraper in the inspect phase uses this to target the correct site directly.

2b: Research

Look for:

  • What it does — the one-sentence pitch
  • Core features — the top 5-8 things users actually do in the product
  • Likely tech stack — check their engineering blog, job listings, GitHub org if open source, StackShare profile
  • Third-party services — email, storage, search, payments, auth, analytics
  • Scale signals — indie tool or massive platform?

Good sources in order:

  1. {docsUrl or url}/llms.txt — LLM-optimized docs if they exist
  2. Their main docs site (use the discovered docs URL)
  3. Their engineering/tech blog
  4. StackShare profile (stackshare.io/{name})
  5. GitHub org (if open source)
  6. Job listings (reveal real stack better than marketing copy)

Phase 3: Product Assessment

Present what you found before asking anything else.

What this is: [1-2 sentence plain English description]

Documentation: [discovered docs URL, e.g. "I found their docs at docs.stripe.com"]

  • If the docs URL differs from the target URL, confirm with the user:

    "Their developer docs live at docs.stripe.com — I'll use this for the doc scraper. Sound right?"

  • If the user corrects it, use their URL instead.
  • Save the confirmed URL as docsUrl in ralph-config.json during Phase 7.

Features this clone will have:

  • [list every meaningful feature — the build loop will implement them all]

Complexity: Simple / Medium / Complex — one-line reason (affects loop iterations, not scope)

If the product is very large (e.g. "clone Notion"), acknowledge the scope but commit to building all of it.


Phase 4: Step-by-Step Interview

After presenting the assessment, interview the user one question at a time. Don't ask all of these at once — ask, wait for the answer, then ask the next.

Question 1: Scale / Intent

Ask something like:

"Before I walk you through the setup — what's this for? Just pick the closest one:

  1. Personal / hobby — just me, low traffic, exploring the idea
  2. Small team — a few people, might grow
  3. Production / commercial — real users, needs to be reliable"

Their answer changes the deployment target recommendation, how much you explain about ops, and which services are worth setting up properly vs. faking.

If they pick 1 (Personal/hobby), offer the beginner fast track:

"Since this is personal, want me to set things up with the simplest supported default template first?

  1. Yes, keep it simple — use the current default template so we can get building quickly
  2. Let me choose the stack — I'll ask more questions about language and architecture"

If they pick "Yes, keep it simple":

  • Record these defaults in memory (do NOT write the file yet — Phase 7 writes the full unified schema after research + final confirmation):
    language: "typescript"
    stackProfile: "dashboard-app"
    framework: "nextjs"
    database: "postgres"
    cloudProvider: "vercel"
    deploymentTier: "personal"
    dbProvider: "neon"
    authMode: "api-key"
    browserAgent: "ever"
    skipDeploy: false
  • Tell them: "Got it — I'll use the current default template on Vercel + Neon, finish the checks and install, then we're building."
  • Skip Question 2 through Question 3 below — jump straight to Phase 4.5 (Verify Setup) with a reduced checklist (runtime, database, and Anthropic key), then skip to Phase 7 (Implement).

If they pick "Let me choose", or picked scale 2 or 3, continue with the full interview below.

Question 2: Auth Model

Ask:

"Will anyone other than you use this clone?

  1. Just me — personal or solo use (simpler: API key, no login/signup)
  2. Multiple users — team or public (full auth with login/signup)"

Record their answer as authMode:

  • Choice 1 → authMode: "api-key"
  • Choice 2 → authMode: "better-auth"

This determines how the build agent implements authentication. Save it to ralph-config.json.

Question 2.5: Language

If the user didn't take the beginner fast track, ask about their preferred language:

"What language do you want to build in?

  1. TypeScript — broadest current template support, great default for web apps
  2. Go — great for APIs and backend services (chi, echo)
  3. Python — good for data-heavy or AI products (FastAPI, Django)
  4. Rust — for performance-critical services (Axum, Actix)
  5. Other — tell me what you want"

Record as language in ralph-config.json. Default to "typescript" if unsure.

Question 2.6: Stack Profile

"Based on what I found about [target product], I'd recommend the [profile] setup. Here's why: [one sentence].

But you can override — which fits best?

  1. API service — the target is mainly an API (like Stripe, Twilio, Resend)
  2. Dashboard app — it's a web app with a UI (like analytics, admin panels, CRM)
  3. Platform — it's infrastructure (like Vercel, Railway, Supabase)
  4. Content app — content-focused (like a CMS, docs site, blog platform)
  5. Real-time app — live features (like chat, collaboration, live dashboards)"

Record as stackProfile in ralph-config.json.

Question 2.7: Frontend (if backend-only language)

If language is not typescript (e.g., Go, Python, Rust), and the target product has a UI, ask:

"Since [target] has a web UI, what do you want for the frontend?

  1. Default web frontend — use the currently supported frontend path
  2. None — API-only, no frontend needed
  3. Other — tell me what you want"

Record as frontend in ralph-config.json. If the language is typescript, skip this — the frontend framework is the same as the backend.

Record these values in memory. Do not write ralph-config.json or run setup-stack.sh here — Phase 7 handles both after research + final confirmation. Writing early produces incomplete config (missing setup section, services, docsUrl, etc.) and scaffolds the wrong stack if the user changes their mind later.

Question 3: Existing CLI / Account Setup

Based on which services the clone will need (from your Phase 2 research), ask them to tell you what they already have. Don't list everything — only ask about the ones that actually apply to this product.

Frame it like:

"Quick check — which of these do you already have set up? Just say the numbers of the ones you have, or 'none':

  1. Vercel CLI (vercel whoami works in your terminal)
  2. AWS CLI (aws sts get-caller-identity works)
  3. Neon account (neon.tech)
  4. [other service relevant to this product] ..."

Adjust the list to match this specific product. For example:

  • Only include AWS CLI if the clone needs SES, S3, or Lambda
  • Only include Stripe if there's payments
  • Only include Upstash Redis if there's a queue or cache layer
  • Only include Svix if there's webhook delivery
Question 4: Missing Services — Brief Clarification (if needed)

If they say they're missing something that might confuse them (e.g. they don't know what Neon is), explain it in one sentence before moving on. Don't do a full lecture — just enough to decide if they want to set it up now or later.

"Neon is serverless Postgres — it's the database. Free tier, takes 2 minutes to set up at neon.tech."

If they want to set it up now, wait for them. If they say "I'll do it later", note it as pending and continue.


Phase 4.5: Verify Setup

Don't trust — verify. The user said they have things set up. Now actually check.

Run verification commands for each service they claimed is ready. Only check what's relevant to their chosen stack and the target product's needs.

Verification commands by service
ServiceVerification commandWhat "pass" looks like
Node.jsnode -vVersion 20+
Vercel CLIvercel whoamiReturns a username (not an error)
AWS CLIaws sts get-caller-identityReturns account ID JSON
GCP CLIgcloud auth print-identity-tokenReturns a token
Azure CLIaz account showReturns subscription JSON
NeonCheck .env for DATABASE_URL containing neon.techKey exists and is non-empty
Anthropic API key (only if clone calls Claude at runtime)Check .env for ANTHROPIC_API_KEYKey exists and is non-empty
CloudflareCheck .env for CLOUDFLARE_API_TOKENKey exists and is non-empty
Ever CLIever --versionReturns a version
Dockerdocker infoDaemon is running
Google OAuthCheck .env for AUTH_GOOGLE_IDKey exists and is non-empty
Google OAuth verification (if target product needs auth)

If the target product uses Google OAuth and AUTH_GOOGLE_ID + AUTH_GOOGLE_SECRET are found in .env, perform these additional checks:

  1. Calculate the callback URL from BETTER_AUTH_URL (or NEXT_PUBLIC_APP_URL, or default http://localhost:3015):

    {BETTER_AUTH_URL}/api/auth/callback/google
  2. Show a checklist the user must complete in Google Cloud Console:

    ⚠ Google OAuth — MANUAL SETUP REQUIRED
      Your keys are set, but you must configure these in Google Cloud Console:
    
      1. Go to: https://console.cloud.google.com/apis/credentials
      2. Click your OAuth 2.0 Client ID
      3. Add these Authorized redirect URIs:
         → http://localhost:3015/api/auth/callback/google  (dev)
         → https://your-domain.com/api/auth/callback/google  (prod, when ready)
      4. Go to OAuth consent screen → Publishing status
         → Set to "External" and click "Publish App"
         → OR: keep in "Testing" mode and add your Google test account
      5. If using Ever CLI for QA: add the Google account that your
         browser is already logged into as a test user. Ever CLI uses
         the existing browser session — if that account isn't authorized,
         automated OAuth flows will fail during QA.
    
      Have you done this? (yes / I'll do it now / skip for later)
  3. Wait for confirmation before proceeding. If the user says "skip", add to pending with a warning that QA will fail on auth features.

  4. Record in setup checks:

    json
    "google-oauth": { "envVar": "AUTH_GOOGLE_ID", "status": "pass", "detail": "Keys found. Redirect URI + consent screen: user confirmed." }

    Or if skipped:

    json
    "google-oauth": { "envVar": "AUTH_GOOGLE_ID", "status": "pending", "error": "Keys found but redirect URI and consent screen not verified — QA will fail on auth." }
Show full SKILL.md (1,061 more words)Show less
How to run verification
  1. Only check services that are relevant to THIS clone (based on Phase 2 research + chosen stack)
  2. Run all relevant checks using the Bash tool
  3. Collect results into a pass/fail list
  4. Present results clearly:
Verifying your setup...

  ✓ Node.js — v22.1.0
  ✓ Vercel CLI — logged in as ashley
  ✓ Neon — DATABASE_URL found in .env
  ✓ Ever CLI — v1.2.0
Handling failures

For each failed check, provide a one-line fix immediately:

✗ Anthropic API key — not found in .env (only required if your clone calls Claude at runtime — not for the build loop) Fix: Add ANTHROPIC_API_KEY=sk-ant-... to your .env file. Get a key at console.anthropic.com.

Note for the agent: Do NOT tell the user the build loop needs ANTHROPIC_API_KEY. The watchdog calls the claude CLI in headless mode (claude -p ...), which authenticates via the user's Claude Code login/subscription, not via this env var. ANTHROPIC_API_KEY is only needed when the cloned product itself makes Anthropic API calls at runtime (e.g., the target product has AI features).

Then ask: "Want to fix these now, or continue and handle them later?"

Critical failures (must fix before proceeding):

  • Cloud CLI not authenticated (build loop can't provision infrastructure)
  • Node.js missing or < 20 (nothing will run)

Deferrable failures (can fix later, but flag them):

  • ANTHROPIC_API_KEY missing (only needed if clone has AI features)
  • CLOUDFLARE_API_TOKEN missing (only needed for CDN/edge caching)
  • Ever CLI missing (only needed for inspect phase, can use Playwright instead)

If the user wants to fix now, wait for them and re-run the failed checks. If they want to continue, note the pending items — they'll appear in the summary.

Write results to config

After verification, write the results into ralph-config.json's setup section. Use the Bash tool to run a Python snippet that creates the setup object with verified, pending, and checks fields (see onboard-prompt.md Step 5 for the schema). This ensures the build loop knows what's ready and what's still pending.

If running via ralph/onboard.sh instead of the conversational skill, this write happens automatically after config generation.


Phase 5: Tailored Stack Walkthrough

Now walk through only the services they DON'T have set up yet. Skip anything that passed verification.

For each missing service:

  • What it does in the context of THIS product (not generic)
  • How to get it (link or command)
  • How hard it is: easy (2 min, just sign up), medium (15 min, need to configure something), hard (domain verification, billing required)

Mark services they already have as ✓ ready — this makes the list feel like progress, not a wall of requirements.

Example format:

Services needed:
  ✓ Vercel CLI — already set up
  ✓ Neon — already have account
  → AWS SES — need to set up (15 min)
    This is how we send emails. You'll need an AWS account and to verify your
    sending domain. I'll automate the provisioning — you just need credentials.
  → Svix — need account (2 min)
    Handles outbound webhooks to your users. Free tier at svix.com.

Tailor the explanation depth to their scale answer:

  • Personal: "free tier is fine, don't worry about limits"
  • Team: "free tier to start, easy to upgrade"
  • Production: "you'll want to go through billing setup now rather than later"

Phase 6: Final Preferences + Confirm

By now you know their scale, what they have, and what they need. Just fill in the remaining gaps:

  1. Clone name — suggest one. "I'll call it resend-clone — good with that?"

  2. Deployment target — recommend based on their scale answer:

    • Personal → Vercel + Neon (easiest, free tier, zero ops)
    • Team → Vercel + Neon or AWS ECS Fargate + RDS (more setup, right for real traffic)
    • Production → AWS ECS Fargate + RDS recommended

    But always let them override.

  3. Browser agent for inspect and QA:

    • "Ever CLI is recommended — visual AI browser agent. Install at foreverbrowsing.com."
    • "Playwright works too — already set up, no extra install."
  4. Test account for auth — If the target product needs auth (most do):

    "For testing auth-walled features, the build and QA agents need a Google account to log in with. Which Google account is your browser already logged into? (This is the email Ever CLI will use to complete OAuth flows automatically.)"

    Store the provider in ralph-config.json:

    json
    "testAccount": { "provider": "google" }

    And write the email to .env (gitignored, never committed):

    bash
    TEST_ACCOUNT_EMAIL=user@gmail.com
  5. Deploy after build? — "Should I deploy when done, or keep it local?"

Then show a summary:

--- Ready to build ---
Target:         https://resend.com
Clone name:     resend-clone
Scale:          Personal / hobby
Stack:          Vercel + Neon, current default web template
Verified:       ✓ Vercel CLI, ✓ Neon, ✓ Node 22, ✓ Anthropic key
Pending:        ✗ AWS SES (15 min), ✗ Svix (2 min)
Browser agent:  Ever CLI
Deploy:         Local only

Proceed? (yes / no / change something)

The summary must reflect actual verification results from Phase 4.5 — show ✓ for verified services and ✗ for pending ones.

Do not proceed until the user explicitly confirms.


Phase 7: Implement

You already have the answers to Steps 1 and 2 from the conversation — use them directly, don't ask again.

Narrate progress so the user isn't staring at a blank screen:

  • "Writing ralph-config.json..."
  • "Installing stack template..." (setup-stack.sh copies configs + installs deps)
  • "Rewriting config files..."

Step 7a — Write the unified config. Use the Bash tool + a Python heredoc (see onboard-prompt.md Step 5 for the full schema) to write ralph-config.json with every field: targetUrl, targetName, cloudProvider, deploymentTier, language, stackProfile, framework, database, dbProvider, skipDeploy, authMode, docsUrl, browserAgent, services, sdk, research, setup.

Step 7b — Run the stack setup script. This copies the right template, appends Makefile targets, and installs dependencies. Must run AFTER ralph-config.json is written:

bash
bash .claude/skills/ralph-to-ralph-onboard/scripts/setup-stack.sh

If the script fails, show the error to the user and stop — do not proceed to the build loop with a half-installed stack. Verify .ralph-setup-done exists afterward.

Step 7c — Rewrite prompts and finish. Follow @references/onboard-prompt.md starting from Step 6 (Rewrite inspect-prompt.md) — Steps 3–5 have already been handled above.

Star prompt (optional, gated). Before launching the build loop, ask the user once if they'd like to star the repo. Only ask if gh is installed and gh auth status succeeds — otherwise skip silently. Use AskUserQuestion with default "No". On yes, run:

bash
gh api --method PUT /user/starred/namuh-eng/ralph-to-ralph --silent

Never block on this — if the call fails or gh isn't available, proceed straight to the build loop. This mirrors onboard.sh's maybe_prompt_to_star_repo.

When done, launch the build loop:

bash
if command -v tmux &>/dev/null; then
  tmux new-session -d -s ralph-loop -c "$(pwd)" \
    "bash ./ralph/ralph-watchdog.sh '$TARGET_URL' 2>&1 | tee ralph-watchdog.log"
  echo "Build loop started in tmux session 'ralph-loop'."
  echo "Watch: tmux attach -t ralph-loop  |  Tail: tail -f ralph-watchdog.log"
else
  echo "Run this in a new terminal tab:"
  echo "  ./ralph/ralph-watchdog.sh '$TARGET_URL'"
fi

If Ever CLI is required but not installed, show the install message before launching.


Edge cases

  • Very broad product (e.g. "clone Notion"): commit to building all of it, set expectations on iteration count.
  • Non-SaaS product: explain this is designed for web SaaS, suggest a pivot.
  • Research fails (obscure or login-walled): work with what you can find, flag gaps, ask user to fill them in.
  • Non-technical user: skip package names. Say "I'll set up the email service" not "I'll install @aws-sdk/client-sesv2". Default to the beginner fast track using the current supported default template unless they specifically ask for something else.
  • Beginner who picked "simple": after running scripts/setup-stack.sh, verify it worked by checking .ralph-setup-done exists and the Makefile has real targets appended. If it fails, diagnose and fix manually.
  • User already has everything set up: Phase 4.5 verifies everything passes, Phase 5 becomes a one-liner "You're all set — everything's verified and ready." Skip straight to the summary.
  • User wants to set up missing services mid-interview: let them. Wait, then continue where you left off.

© namuh-eng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 49 other files (scripts, references) in .claude/skills/ralph-to-ralph-onboard of namuh-eng/ralph-to-ralph.

  • SKILL.md
  • references/onboard-prompt.md
  • scripts/setup-stack.sh
  • templates/go-chi/.gitignore-append
  • templates/go-chi/BUILD_GUIDE.md
  • templates/go-chi/Makefile
  • templates/go-chi/cmd/server/main.go
  • templates/go-chi/go.mod
  • templates/go-chi/internal/http/router.go
  • templates/go-chi/internal/http/router_test.go
  • templates/go-chi/makefile-targets.mk
  • templates/python-fastapi/.gitignore-append
  • … and 38 more

Open the folder on GitHubat commit b756d3d

Compare with similar skills

Ralph To Ralph Onboard next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ralph To Ralph Onboard compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ralph To Ralph Onboard this skillnamuh-eng/ralph-to-ralph104—~5.6kAutomated safety check: WarnApache-2.0
Drupalorg Issue Searchmglaman/drupalorg-cli169—~956Automated safety check: PassNone
Creating GitHub Issues From Web Researchjeremylongshore/tons-of-skills-marketplace2.8k—~981Automated safety check: PassMIT
Dependency Watchtelegramdesktop/tdesktop33k1 repos~2.2kAutomated safety check: PassGPL-3.0
Web Searchjjyaoao/HelloAgents3.2k1 repos~5.6kAutomated safety check: PassMIT
Local Web SearchuluckyXH/OpenMOSS1.3k—~392Automated safety check: NotesMIT

Similar skills

  • Drupalorg Issue Search

    mglaman/drupalorg-cli

    Search for Drupal.org issues by keyword. An agent skill from mglaman/drupalorg-cli.

    169 GitHub stars~956 tokensUpdated 19 days ago
    Productivity & AutomationAuto-check passed
  • Creating GitHub Issues From Web Research

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enhances AI assistant's ability to conduct web research and translate findings into actionable github issues.

    2.8k GitHub stars~981 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dependency Watch

    telegramdesktop/tdesktop

    Audit Telegram Desktop dependencies on freshly fetched origin/dev for releases and security fixes, including upstream lag and backport candidates in patched forks.

    33k GitHub starsUsed in 1 repo~2.2k tokens
    Productivity & AutomationAuto-check passed
  • Web Search

    jjyaoao/HelloAgents

    Implement web search capabilities using the z-ai-web-dev-sdk.

    3.2k GitHub starsUsed in 1 repo~5.6k tokens
    Productivity & AutomationAuto-check passed
  • Local Web Search

    uluckyXH/OpenMOSS

    A skill your agent uses when the user asks for web search that should run via the local-160 Responses API with websearch tool (base URL like https://proxy.example.com, model gpt-5.2-codex(xhigh)).

    1.3k GitHub stars~392 tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check: notes
  • Challenge Baseline Model

    AgibotTech/genie_sim

    Provision and launch the Simulation Challenge baseline inference model end to end: clone the inference code from a given git repo/branch, download the checkpoints from ModelScope into the repo's…

    1.4k GitHub stars~2.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

Works with

Questions about Ralph To Ralph Onboard

What does Ralph To Ralph Onboard do?

Interactive onboarding for the ralph-to-ralph autonomous product cloner. Ralph To Ralph Onboard is an agent skill from namuh-eng/ralph-to-ralph. Interactive onboarding for the ralph-to-ralph autonomous product cloner.

When should I use Ralph To Ralph Onboard?

Ralph To Ralph Onboard fits situations like: the user wants to clone a product; mentions what should I build; I want to clone X; is starting the ralph-to-ralph workflow.

How do I install Ralph To Ralph Onboard in Claude Code?

Run `npx skills add namuh-eng/ralph-to-ralph --skill ralph-to-ralph-onboard -a claude-code`. Or copy the skill folder (.claude/skills/ralph-to-ralph-onboard in namuh-eng/ralph-to-ralph) into .claude/skills/ralph-to-ralph-onboard in your project. Claude Code loads it when a task matches its description.

How do I install Ralph To Ralph Onboard in Codex?

Run `npx skills add namuh-eng/ralph-to-ralph --skill ralph-to-ralph-onboard -a codex`. Or copy the skill folder (.claude/skills/ralph-to-ralph-onboard in namuh-eng/ralph-to-ralph) into .agents/skills/ralph-to-ralph-onboard in your project. Codex loads it when a task matches its description.

Can I use Ralph To Ralph Onboard in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add namuh-eng/ralph-to-ralph --skill ralph-to-ralph-onboard -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ralph-to-ralph-onboard, .gemini/skills/ralph-to-ralph-onboard, .github/skills/ralph-to-ralph-onboard and .opencode/skills/ralph-to-ralph-onboard in your project.

What does Ralph To Ralph Onboard need to run?

Going by SKILL.md and its folder, Ralph To Ralph Onboard needs Go and a shell for the scripts in its folder, the command-line tools its instructions call (git, gh, vercel, aws, bash and node) and credentials named ANTHROPIC_API_KEY, CLOUDFLARE_API_TOKEN and AUTH_GOOGLE_SECRET. Our summary lists: Node.js; A Bash shell; Docker; A credential in ANTHROPIC_API_KEY; A credential in CLOUDFLARE_API_TOKEN.

Does Ralph To Ralph Onboard access the network?

SKILL.md names 2 domains. In commands or code: resend.com and console.cloud.google.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Ralph To Ralph Onboard safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ralph To Ralph Onboard use?

Ralph To Ralph Onboard is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ralph To Ralph Onboard use?

About 5.6k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9 tokens, read only when the agent opens those files.

What are the alternatives to Ralph To Ralph Onboard?

Skills that share tags, products or a category with Ralph To Ralph Onboard: Drupalorg Issue Search (mglaman/drupalorg-cli, 169 stars), Creating GitHub Issues From Web Research (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Dependency Watch (telegramdesktop/tdesktop, 33k stars) and Web Search (jjyaoao/HelloAgents, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ralph To Ralph Onboard?

namuh-eng (a GitHub organization) maintains it in namuh-eng/ralph-to-ralph, which has 104 GitHub stars. The repository was last updated on May 20, 2026.

Source: namuh-eng/ralph-to-ralph on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.