selecta-statuslinelisted
Install: claude install-skill azandabot/selecta
# selecta-statusline
This is the only selecta skill that writes to the user's global
`~/.claude/settings.json`. Treat that as the constraint it is.
**Never edit `settings.json` with Write, Edit, `jq`, `sed` or a shell
redirect.** The CLI backs the file up, merges rather than overwrites, preserves
an existing status line by wrapping it, and can undo itself. A hand-rolled edit
does none of that and can destroy configuration that is not recoverable.
## The protocol
Exactly these five steps, in this order:
1. Run it with **no flag**:
```
"${CLAUDE_PLUGIN_ROOT}"/bin/selecta statusline on
```
This is a dry run. It writes nothing.
2. **Exit code 7 is the expected, correct result.** It means "consent needed,
nothing changed". It is not an error and must not be reported as one, worked
around, or retried with a flag.
3. Show the user its output **verbatim** — the exact JSON block that would be
added, and both disclosures.
4. Ask, in your own message, whether to add it. Then **stop and wait**. Do not
continue in the same turn.
5. Only after they say yes:
```
"${CLAUDE_PLUGIN_ROOT}"/bin/selecta statusline on --user-confirmed
```
Never pass `--user-confirmed` on the first call. Its verbosity is deliberate:
appending it has to be a decision, and it has to be obvious in a transcript that
one was made.
If the user says no, say so and stop. Do not offer a manual edit as a
workaround.
## Exit codes
| Code | Meaning | What to do |
|---|---|---|
| 0 | In