hldlisted
Install: claude install-skill ForeverAProgrammer/claude-devflow
Generate a High Level Design (HLD) document from a freeform description and write it to a markdown file.
$ARGUMENTS may include:
- A freeform description of the feature, system, or component.
- `--mode living|strict` — sets the doc's `Mode`. Defaults to `strict` if omitted (no behavior change from before this flag existed).
- `--amend [path] <change description>` — targeted edit to an existing doc's `## Requirements` section only. `<path>` may be omitted if it's already clear from this conversation — see the Amend Mode steps below, which are skipped entirely when this flag isn't present.
If $ARGUMENTS is empty, ask the user to provide a description and stop.
### Normal generation
1. Derive a filename slug from $ARGUMENTS: lowercase the description, replace spaces and special characters with hyphens, truncate to ~5 words, and prefix with `hld-` (e.g. `/hld user auth service` → `hld-user-auth-service.md`).
1. Check whether `design/<slug>.md` already exists.
- **If it exists**, this run is an edit, not a fresh overwrite:
- Preserve existing `REQ-*` rows and their checked/unchecked state exactly.
- Preserve the existing `Mode`, `Last Reconciled`, and `Last Amended` values unless `--mode` was explicitly passed on this run.
- Only add new requirements (next sequential `REQ-N`) or update non-Requirements sections as directed by the new input — do not regenerate sections that aren't affected by it.
- **If it does not exist**, generate fresh per the Output