Skip to content

[feature] Commands: show a described slash picker while typing #322

Description

@AetherAI3

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.

Activity

  1. added
    featureNew product capability or integration work
    on Oct 9, 2026
  2. AetherAI3 commented on Oct 9, 2026

    @AetherAI3
    OwnerAuthor

    Landed in PR #330 (squash commit fb323ba3f27b29be883735d4a303682f5ebff06b).

    Evidence:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew product capability or integration work

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions