tzachbon/smart-ralph
Core Smart Ralph skill defining common arguments, execution modes, and shared behaviors across all Ralph plugins.
npx skills add https://github.com/tzachbon/smart-ralph --skill smart-ralph
Core skill for all Ralph plugins. Defines common arguments, execution modes, and shared behaviors.
All Ralph commands support these standard arguments:
| Argument | Short | Description | Default |
|----------|-------|-------------|---------|
| --quick | -q | Skip interactive phases, auto-generate artifacts, start execution immediately | false |
| --commit | -c | Commit and push spec/feature files after generation | true (normal), false (quick) |
| --no-commit | | Explicitly disable committing files | - |
| --max-task-iterations | -m | Max retries per failed task before stopping | 5 |
| --fresh | -f | Force new spec/feature, overwrite if exists | false |
Priority Order (highest to lowest):
1. --no-commit (explicit disable)
2. --commit (explicit enable)
3. --quick mode default (false)
4. Normal mode default (true)
commitSpec = true // default
if "--no-commit" in args:
commitSpec = false
else if "--commit" in args:
commitSpec = true
else if "--quick" in args:
commitSpec = false // quick mode defaults to no commit
// else keep default (true)
awaitingApproval: true--quick)--commit to override)All Ralph plugins use a state file with common fields:
{
"phase": "research|requirements|design|tasks|execution",
"taskIndex": 0,
"totalTasks": 0,
"taskIteration": 1,
"maxTaskIterations": 5,
"awaitingApproval": false
}
Plugins may extend with additional fields.
When commitSpec is true:
chore(<plugin>): commit spec files before implementationWhen commitSpec is false:
The execution loop is self-contained via the built-in stop-hook. No external plugins are required.
1. Coordinator outputs task delegation prompt
2. Stop-hook detects task completion signals
3. Stop-hook outputs continuation prompt for next task
4. Loop ends when coordinator outputs ALL_TASKS_COMPLETE
The implement command includes the coordinator prompt inline. The stop-hook (hooks/scripts/stop-watcher.sh) reads .speckit-state.json to determine continuation behavior.
| Signal | Meaning |
|--------|---------|
| TASK_COMPLETE | Task finished successfully |
| VERIFICATION_PASS | Verification task passed |
| VERIFICATION_FAIL | Verification failed, needs retry |
| Signal | Meaning |
|--------|---------|
| ALL_TASKS_COMPLETE | All tasks done, end loop |
When taskIteration exceeds maxTaskIterations:
If state file missing or invalid:
All Ralph plugins follow consistent branch strategy:
Take tzachbon/smart-ralph from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.