Sets up a new Ralph Wiggum Loop project by gathering requirements, generating a PRD (prd.json), initializing progress.txt, and creating PROMPT.md. Invoke manually when bootstrapping a new RWL-driven project.
Ignore ralph-loop.sh. Don't read it.
This skill walks the user through setting up a new project for the Ralph Wiggum Loop. It produces three files: prd.json, progress.txt, and PROMPT.md.
Use the AskUserQuestion tool to collect:
| Question | Purpose |
|---|---|
| Project name | Used in filenames, headers, and binary output |
| Short description | One-liner for PRD and PROMPT.md |
| Core features | Drives task breakdown in the PRD |
| Tech stack | Languages, frameworks, tools |
Example:
AskUserQuestion:
Q1: "What is the name of your project?"
Q2: "Describe the app or product in one or two sentences."
Q3: "List the core features you want built."
Q4: "What tech stack will you use? (e.g. Go, Python + Flask, TypeScript + React)"
If AskUserQuestion is unavailable, ask conversationally.
After gathering answers, confirm the full picture with the user before proceeding.
Create prd.json in the project root using the template in templates/prd.json.
Break the core features into granular, independently-completable tasks. Each task must have:
id (starting at 1)title and descriptionacceptance criteria"done": falseOrder tasks by priority:
Present the draft PRD to the user for review. Adjust if they request changes.
Create progress.txt in the project root:
# <project name> — Progress Log
Replace <project name> with the actual project name.
Create PROMPT.md in the project root using the template in templates/prompt.md.
Replace the following placeholders with actual values:
| Placeholder | Value |
|---|---|
{{PROJECT_NAME}} | The project name |
{{PROJECT_DESCRIPTION}} | The short description |
{{TEST_CMD}} | Command to run the test suite |
{{BUILD_CMD}} | Command to build the project |
{{LINT_CMD}} | Command to lint / vet the code |
Derive the commands from the tech stack chosen in Step 1. Examples:
| Tech stack | TEST_CMD | BUILD_CMD | LINT_CMD |
|---|---|---|---|
| Go | go test ./... | go build -o <binary> . | go vet ./... |
| Node / TypeScript | npm test | npm run build | npm run lint |
| Python | pytest | (omit or use a no-op like echo "no build step") | ruff check . |
| Rust | cargo test | cargo build | cargo clippy |
If the stack has no build step, replace {{BUILD_CMD}} with a comment explaining why (e.g. # Python — no build step). The agent will still gate commits on the remaining checks.
If the project directory is not already a git repository:
git init
git add -A
git commit -m "chore: initial project setup with PRD and prompt"
List the files created:
prd.json — product requirements with task breakdownprogress.txt — append-only progress logPROMPT.md — iteration prompt for the agentTell the user to start with a single iteration to make sure everything works:
./ralph-loop.sh 1
After that first run, they should review the commit(s), check progress.txt, and verify the task was marked done in prd.json. Once they're satisfied, they can let it rip:
./ralph-loop.sh 20
使用 Arthas 的 watch/trace 获取 EagleEye traceId / 获取请求的 traceId