Problem and result
Tab completion currently fills a unique slash prefix or prints a short list of bare names. The manifest already has descriptions and usage, but users must leave the task to discover the right control.
Show a bounded inline picker for a leading / or slash-command prefix in the idle composer. Use the existing command manifest and registry as the source of truth.
Acceptance checks
- Rows show canonical command, short description, and argument hint; hide hidden commands, collapse aliases, and respect command scope. Show known supported/unsupported invocation capability from the same admission decision used by planning and skill runs; do not duplicate capability logic or probe the network.
- Arrow/Tab selection and Enter acceptance insert editable command text only. Selection never runs
/shell, /clear, or any other command. A later explicit submit runs the completed draft; dismissal preserves normal literal slash submission.
- Preserve a typed argument suffix and cursor position. Filtering must not activate on slashes inside ordinary prose, pasted task text, PTY input, or an approval field.
- Escape restores the prior draft and cursor exactly. The picker yields correctly to history search and other input owners. The initial implementation refuses activation while busy rather than changing queue admission.
- Fixtures cover zero/one/many matches, aliases, hidden/scoped commands, narrow terminals, height limits, resize, suffix preservation, and dismissal. Rendering and selection make zero model calls; headless output gains no ANSI UI.
Landing boundary
Reuse the manifest instead of maintaining another help list. /skill may appear as a static command when implemented; resolving dynamic skill identifiers is a separate resolver concern. Integrate PR #309, then establish explicit owner/Enter/Escape precedence in the composer before this overlay and history search land. Test opening, switching, accepting, and dismissing both overlays. No fuzzy command execution or autonomous command suggestions.
Evidence and planning
Package: Input and discovery. Priority: P1. Rough engineering estimate: 0.5–1.5 days, including focused fixtures; this is a planning estimate, not a measured benchmark.
Reviewed against v4.20.0 at 4f1717bc120917e1b04d0baa939855417ef866a4: src/commands/command_manifest.ts, src/commands/command_manifest_data.ts, src/core/command_registry.ts, src/commands/chat.ts.
Comparator: Claude Code interactive mode and Hermes CLI expose command discovery in the input flow. Aether already has the metadata needed for a bounded first slice.
Created from the LOOP-19 review of the README, all 23 open issues, four open PRs, and recent shipped work on 2026-10-09. These are proposed changes; the acceptance checks below have not been executed.
Problem and result
Tab completion currently fills a unique slash prefix or prints a short list of bare names. The manifest already has descriptions and usage, but users must leave the task to discover the right control.
Show a bounded inline picker for a leading
/or slash-command prefix in the idle composer. Use the existing command manifest and registry as the source of truth.Acceptance checks
/shell,/clear, or any other command. A later explicit submit runs the completed draft; dismissal preserves normal literal slash submission.Landing boundary
Reuse the manifest instead of maintaining another help list.
/skillmay appear as a static command when implemented; resolving dynamic skill identifiers is a separate resolver concern. Integrate PR #309, then establish explicit owner/Enter/Escape precedence in the composer before this overlay and history search land. Test opening, switching, accepting, and dismissing both overlays. No fuzzy command execution or autonomous command suggestions.Evidence and planning
Package: Input and discovery. Priority: P1. Rough engineering estimate: 0.5–1.5 days, including focused fixtures; this is a planning estimate, not a measured benchmark.
Reviewed against v4.20.0 at
4f1717bc120917e1b04d0baa939855417ef866a4: src/commands/command_manifest.ts, src/commands/command_manifest_data.ts, src/core/command_registry.ts, src/commands/chat.ts.Comparator: Claude Code interactive mode and Hermes CLI expose command discovery in the input flow. Aether already has the metadata needed for a bounded first slice.
Created from the LOOP-19 review of the README, all 23 open issues, four open PRs, and recent shipped work on 2026-10-09. These are proposed changes; the acceptance checks below have not been executed.