submit-plan-step-editslisted
Install: claude install-skill Ralph-Workflow/Ralph-Workflow
# submit-plan-step-edits
## Overview
`ralph_edit_md_plan_step` applies one edit to any document-wide plan step,
including a step under custom, repeated, or nested headings. It validates the
full persisted draft and saves the edited markdown.
Step IDs are stable identifiers and are never renumbered. Moving a step changes
only its position. Insert with a new unused ID. Replace with one complete
`### [S-n] Title` block whose ID exactly matches `step_id`.
## Call shape
- `action`: `insert`, `replace`, `remove`, or `move`.
- `step_id`: stable `S-<positive-number>` ID.
- `replacement`: required for insert/replace; one complete markdown step block.
- `index`: 1-based destination; required for move, optional for insert.
| action | `step_id` | `replacement` | `index` |
|---|---|---|---|
| insert | new unused ID | required | optional, 1..n+1 |
| replace | existing ID | required | ignored |
| remove | existing ID | omitted | ignored |
| move | existing ID | omitted | required, 1..n |
## Core flow
Replace `S-2` with a full native-markdown block:
```text
action: replace
step_id: S-2
replacement: |
### [S-2] Clamp indexes in foo()
Clamp negative and oversized indexes without changing the public signature.
Type: file_change
Files:
- modify src/foo.py
Depends on: S-1
Satisfies: AC-01
```
The replacement heading, prose, and labeled fields travel together. For a
verify step, use `Type: verify` plus `Verify:` or `Location:`. For a file
change, use `Type: file_change` pl