用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jmagly/aiwg --skill ralph-external命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
WCAG accessibility analysis for color palettes including contrast ratios, compliance checking, and remediation suggestions. Use when user needs to verify colors meet accessibility standards.
Generate, analyze, compare, export, and suggest color palettes using color theory. Use when user asks about colors, palettes, color schemes, or needs help choosing colors for a project.
Research current color trends from Pantone, architecture, film, and design. Use when user asks about trending colors, popular palettes, or wants research-backed color inspiration.
基于 SOC 职业分类
正在显示 SKILL.md
| namespace | aiwg |
| name | ralph-external |
| platforms | ["all"] |
| description | Crash-resilient external loop with state persistence and CI/CD integration |
| commandHint | {"argumentHint":"\"<objective>\" --completion \"<criteria>\" [--max-iterations N] [--timeout M] [--provider <p>] [--no-commit] [--branch <name>] [--quiet]","allowedTools":"Bash, Read, Write","model":"haiku","category":"automation","orchestration":true,"platforms":["claude-code","hermes","openclaw"],"modelRole":"efficiency","modelTier":"economy"} |
Skill access pattern (post-kernel-pivot, 2026.5+)
Skill names referenced in this document are AIWG skills, not slash commands. Most are not kernel-listed and cannot be invoked as
/skill-nameby the platform. Reach them via:aiwg discover "<capability>" aiwg show skill <name>Only kernel-listed skills (
aiwg-doctor,aiwg-refresh,aiwg-status,aiwg-help,use,steward) are directly invokable as slash commands. See skill-discovery rule.
You are the Al External Orchestrator — launching and managing crash-resilient iterative loops that run outside the AI session for long-running tasks.
ralphralph runs the loop inside the current AI session. ralph-external launches the loop as an external process via tools/ralph-external/run.sh, persisting all state to .aiwg/ralph-external/. If the session dies mid-loop, the loop survives and can be reattached or resumed.
Use ralph-external when:
Users may say:
The task the loop should accomplish. Passed as the first positional argument.
Success criteria as a verifiable command. The loop exits when this command returns exit code 0.
Good examples:
--completion "npm test passes with 0 failures"--completion "npx tsc --noEmit exits with code 0"--completion "coverage report shows >80%"Maximum iterations before the loop halts and saves state for manual review.
Maximum wall-clock time. Loop checkpoints state before exiting so it can be resumed.
AI provider to use for loop iterations. Supported: claude, codex, factory, opencode.
Skip automatic git commits after each iteration.
Create and work on a dedicated feature branch. The branch is created before iteration 1.
Suppress verbose progress output. Completion banner is always shown.
When triggered:
--completion criteria are specified and verifiable.aiwg/ralph-external/ workspace; create if absentloop-id (8-character hex) and create the loop state file at .aiwg/ralph-external/loops/<loop-id>.json{ objective, completionCriteria, maxIterations, timeout, provider, status: "pending", iteration: 0 }--branch is specified, create the git branch nowtools/ralph-external/run.sh with all parsed flags, passing the loop-idAl External Loop Started
Loop ID: abc123
Objective: {objective}
Completion: {completion}
Max iterations: {max} | Timeout: {timeout}m | Provider: {provider}
Loop is running externally. Follow progress:
/ralph-attach --loop-id abc123
Check status:
/ralph-status
State: .aiwg/ralph-external/loops/abc123.json
Log: .aiwg/ralph-external/logs/abc123.log
--quiet is NOT set, automatically attach to the loop's output stream (equivalent to running /ralph-attach --loop-id <id>)State is written to disk before each external process action. If the process crashes:
tools/ralph-external/run.sh detects the incomplete state and resumes from the last checkpointState file schema (.aiwg/ralph-external/loops/<id>.json):
{
"loopId": "abc123",
"objective": "Fix all auth tests",
"completionCriteria": "npm test passes with 0 failures",
"maxIterations": 10,
"timeout": 60,
"provider": "claude",
"status": "running",
"iteration": 3,
"startedAt": "2026-04-01T10:30:00Z",
"lastCheckpoint": "2026-04-01T10:38:42Z",
"logFile": ".aiwg/ralph-external/logs/abc123.log",
"branch": null,
"learnings": ["auth mocks must be initialized before describe block"]
}
For use in pipelines, pass --quiet and read the exit code:
0 — loop completed successfully (completion criteria verified)1 — loop failed (max iterations or timeout reached)2 — configuration error (bad arguments)GitHub Actions example:
- name: Auto-fix tests
run: |
aiwg ralph-external "Fix all failing unit tests" \
--completion "npm test passes" \
--max-iterations 5 \
--timeout 30 \
--quiet
Missing --completion:
Error: --completion is required for /ralph-external.
Provide a verifiable success criterion:
/ralph-external "Fix tests" --completion "npm test passes"
External process launch failure:
Failed to launch external Al process.
Check:
1. tools/ralph-external/run.sh is executable
2. Node.js >= 18 is available
3. .aiwg/ directory is writable
Run with --verbose for diagnostics.
Loop already active for this objective:
An existing loop may be running for a similar objective.
Active loops:
abc123 — Fix auth tests (running, iteration 3/10)
Options:
1. Attach to existing: /ralph-attach --loop-id abc123
2. Start new anyway: confirm and proceed
3. Abort existing: /ralph-abort --loop-id abc123
/ralph-external "Fix all failing tests in src/auth/" --completion "npm test -- --testPathPattern=auth passes"
Response: Starts external loop, prints loop ID, streams live output.
/ralph-external "Migrate src/ to ESM" --completion "npx tsc --noEmit exits with code 0" --max-iterations 20 --timeout 120 --branch feat/esm-migration
Response: Creates branch feat/esm-migration, starts loop, streams output.
aiwg ralph-external "Fix lint errors" --completion "npm run lint exits 0" --max-iterations 5 --quiet
echo "Exit: $?"
Response: Runs silently, exits 0 on success or 1 on failure.
/ralph-external "Refactor payment module" --completion "npm test passes" --provider codex --max-iterations 8
Response: Runs iterations using OpenAI Codex instead of Claude.
ralph — In-session iterative loop (no crash recovery)ralph-attach — Attach to a running external loop's output streamralph-status — Check active and completed loop statusralph-abort — Stop a running loopralph-resume — Resume a paused or interrupted loop