Skip to content
Development
Skill

/ralph-specum-start

This skill should be used only when the user explicitly asks to use `$ralph-specum-start`, or explicitly asks Ralph Specum in Codex to start or resume a spec.

From plugin
smart-ralph
54424 skills13 agents24 commands
Install
$ npx -y skills add tzachbon/smart-ralph --skill ralph-specum-start --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ralph-specum-start

Context preview

The summary Claude sees to decide when to auto-load this skill.

This skill should be used only when the user explicitly asks to use `$ralph-specum-start`, or explicitly asks Ralph Specum in Codex to start or resume a spec.

SKILL.md

ralph-specum-start.SKILL.md
name: ralph-specum-start
description: This skill should be used only when the user explicitly asks to use `$ralph-specum-start`, or explicitly asks Ralph Specum in Codex to start or resume a spec.
metadata:
  surface: helper
  action: start

Ralph Specum Start

Use this for the `start` and `new` entrypoints.

Derive `RALPH_CODEX_PLUGIN_ROOT` from this loaded skill by resolving two parent directories from the `SKILL.md` directory. Never derive it from the project working directory.

Contract

  • Read `.claude/ralph-specum.local.md` when present
  • Default specs root is `./specs`
  • Keep `.current-spec` in the default specs root
  • Keep the standard Ralph files stable
  • Merge `.ralph-state.json`. Do not replace the full object

Action

1. Parse explicit name, goal, exact `--quick` or exact `--interactive`, `--resume <prototype-id>`, commit flags, optional specs root, and optional `--tasks-size fine|coarse`. Reject both mode flags together, `-q`, variants, and natural-language substitutes. 2. Classify new versus resume intent, then resolve the classified target by explicit path, exact name, or `.current-spec`. A new-spec request does not inherit or recover the existing current spec. 3. If the same name exists in multiple configured roots, stop and require a full path. 4. Check active epic context from `specs/.current-epic` when no explicit spec was chosen. 5. For large or cross-cutting goals, route to triage instead of forcing a single spec. 6. `new` is an alias here. Create the spec directory if needed. 7. Initialize or merge state with:

  • `source: "spec"`
  • `name`
  • exact `goal` text used by the context gate
  • `basePath`
  • `phase: "research"`
  • `taskIndex: 0`
  • `totalTasks: 0`
  • `taskIteration: 1`
  • `maxTaskIterations: settings default or 5`
  • `globalIteration: 1`
  • `maxGlobalIterations: 100`
  • `commitSpec: settings auto_commit_spec or true`
  • `relatedSpecs: []`
  • `awaitingApproval: false` while the goal interview is active
  • preserve or set `quickMode`
  • preserve or set `granularity` when `--tasks-size` was supplied
  • preserve or set `epicName` when starting from an epic suggestion

8. Update `.current-spec`. 9. Write `.progress.md` with goal, current phase, next step, blockers, learnings, and skill discovery results. 10. On resume, prefer `tasks.md` and present files over stale state when they disagree. 11. Run `phase_gate.py mode` through `"$RALPH_CODEX_PLUGIN_ROOT/scripts/phase_gate.py"` with `STATE` and the exact supplied mode flag. No flag normalizes invalid legacy quick state to interactive. 12. Run skill discovery pass 1 against the goal. Collect plugin skills, project `.agents/skills`, project `.claude/skills`, and the current Codex harness catalog. Always select explicitly named skills and record shadowed duplicates. 13. Load `"$RALPH_CODEX_PLUGIN_ROOT/skills/interview-framework-codex/SKILL.md"`, its required algorithm and domain-modeling references, and every selected domain contract in both interactive and quick mode. In interactive mode, follow that algorithm for the start goal territory: outcome and observable success, material scope boundaries, critical constraints, and viable high-level approach. Ask no spec-path, branch, task-size, or discoverable question. 14. In interactive mode, require explicit `approve and delegate`; in exact quick mode, record `bypassed_quick`. In both modes, run `phase_gate.py check-delegation` with the current loaded-manifest identity before creating a `research-analyst` child. Apply the shared hard-transition invariant before fresh or resumed research dispatch. A failed `check-delegation` in either mode stops this invocation before phase transition, child dispatch, or target-artifact write; after a normal-mode failure, only the next explicit invocation creates a fresh manifest/interview identity. After an exact `--quick` delegation failure, the next explicit invocation reruns discovery, records a fresh `phaseSkillLoad` and interview identity, and does not reuse a terminal `bypassed_quick` interview or its discovery revision. Only a matching in-progress `collecting` or `awaiting_confirmation` interview is resumable. Exact `--quick` retains its existing question-and-approval bypass and discovery, manifest, delegation, and writer checks. 15. Keep the existing child packet, identity tuple, and receipt behavior unchanged: pass the absolute helper path, state path, identity tuple, a unique teammate dispatch identity, and the verbatim `phaseSkillLoad` manifest. The child must record its loads and pass `check-agent-write` with that unique identity before writing `research.md`. 16. Validate `research.md`, merge `phase: "research"` and `awaitingApproval: true` in interactive mode or `false` in exact quick mode, update progress, and present artifact approval when interactive. 17. In exact quick mode, record the quick bypass, generate missing artifacts in order, skip normal approval pauses, and continue into implementation in the same run.

Prototype Reconciliation and Resume

After resolving the classified target and before normal resume or quick routing. Skip existing-current-spec recovery for new-spec intent:

1. Use `"$RALPH_CODEX_PLUGIN_ROOT/scripts/resolve_spec_paths.py"` and only its resolved `basePath`. When both `basePath` and `<basePath>/.ralph-state.json` exist, run `"$RALPH_CODEX_PLUGIN_ROOT/scripts/prototype_records.py" reconcile --base-path "$BASE_PATH" --state "$BASE_PATH/.ralph-state.json"`, then re-read state. 2. Treat a missing `activePrototypes` field as an empty map. Sort entries by `created`, then ID. 3. Resume an explicit active ID through `$ralph-specum-prototype --resume <id>` and stop this skill. In normal mode, resume the sole active entry automatically. When several remain, list deterministic IDs with question, status, blocker, `returnPhase`, and `returnTaskIndex`, then stop for an explicit ID. 4. In quick mode, ask no question. Sort entries that block design by `crea

Read more
Ships withsmart-ralph

Spec-driven development with smart compaction. Claude Code plugin combining Ralph Wiggum loop with structured specification workflow.

Get the whole plugin

Other skills on smart-ralph.