Title: Reduce TUI visual noise and simplify navigation · Issue #288 · EntityProcess/allagents · GitHub
Open Graph Title: Reduce TUI visual noise and simplify navigation · Issue #288 · EntityProcess/allagents
X Title: Reduce TUI visual noise and simplify navigation · Issue #288 · EntityProcess/allagents
Description: Summary The interactive TUI wizard (npx allagents with no args) is functional but feels busy and cluttered compared to npx skills and Claude Code. This issue tracks UX improvements informed by side-by-side agent-tui observation of all th...
Open Graph Description: Summary The interactive TUI wizard (npx allagents with no args) is functional but feels busy and cluttered compared to npx skills and Claude Code. This issue tracks UX improvements informed by side...
X Description: Summary The interactive TUI wizard (npx allagents with no args) is functional but feels busy and cluttered compared to npx skills and Claude Code. This issue tracks UX improvements informed by side...
Opengraph URL: https://github.com/EntityProcess/allagents/issues/288
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Reduce TUI visual noise and simplify navigation","articleBody":"## Summary\n\nThe interactive TUI wizard (`npx allagents` with no args) is functional but feels busy and cluttered compared to `npx skills` and Claude Code. This issue tracks UX improvements informed by side-by-side agent-tui observation of all three tools.\n\n## Ground-Truth Observations (via agent-tui)\n\n### `npx skills` (Vercel Labs) — observed patterns\n\n**No-args = help, not wizard.** Running `npx skills` shows an ASCII banner followed by flat commands (`skills add`, `skills find`, `skills list`, `skills remove`). No menu loop.\n\n**`skills find` — fzf-style interactive search:**\n```\nSearch skills: pdf_\n\n \u003e pdf anthropics/skills 44.2K installs\n pdftk-server github/awesome-copilot 7.3K installs\n nano-pdf steipete/clawdis 830 installs\n pdf openai/skills 588 installs\n ...\n\nup/down navigate | enter select | esc cancel\n```\n- Real-time type-ahead with debounced API calls\n- Install counts visible inline\n- Minimal chrome — just the search box, results, and keybinding hints\n\n**`skills list` — clean 2-line format:**\n```\nProject Skills\n\nagent-browser ~/.agents/skills/agent-browser\n Agents: Augment, Claude Code, Cline, CodeBuddy, Codex +24 more\nagent-tui ~/.agents/skills/agent-tui\n Agents: Augment, Claude Code, Cline, CodeBuddy, Codex +24 more\n```\n- Name + path on line 1 (name in distinct color)\n- Agents on line 2, indented, with `+N more` truncation\n\n**Install flow — linear pipeline, not a loop:**\n1. Clone source → Found N skills → Selected skill\n2. **Agent multiselect with locked \"Universal\" section:**\n ```\n ── Universal (.agents/skills) ── always included ────────────\n • Amp, Cline, Codex, Cursor, Gemini CLI, ...\n\n ── Additional agents ─────────────────────────────\n Search:\n ↑↓ move, space select, enter confirm\n\n ❯ ○ Antigravity (.agent/skills)\n ○ Augment (.augment/skills)\n ○ Claude Code (.claude/skills)\n ...\n\n Selected: Amp, Cline, Codex +6 more\n ```\n - Universal agents shown as non-toggleable bullets\n - \"Additional agents\" section has inline search\n - Running selection count shown at bottom\n3. **Scope selection:** Project vs Global (radio, not a repeated prompt)\n4. **Installation summary with security assessment:**\n ```\n ◇ Installation Summary ─────────────────────────────────╮\n │ ~/.agents/skills/pdf │\n │ copy → Amp, Cline, Codex, Cursor, Gemini CLI +4 more │\n ├────────────────────────────────────────────────────────╯\n\n ◇ Security Risk Assessments ────────────────────────╮\n │ Gen Socket Snyk │\n │ pdf Safe 0 alerts High Risk│\n │ Details: https://skills.sh/anthropics/skills │\n ├────────────────────────────────────────────────────╯\n\n ◆ Proceed with installation?\n │ ● Yes / ○ No\n ```\n - Single confirmation step, no sequential spinners\n - Security risk from multiple providers shown before confirmation\n\n### Claude Code — observed patterns\n\n- Flat subcommands: `claude mcp`, `claude plugin`, `claude auth`, `claude agents`\n- No wizard, no menu loop, no ASCII banners\n- Conversation-first (`/init`, `/help`) rather than menu-driven\n\n### `npx allagents` v1.2.0 — current state observed\n\n**Main menu (6 items, not 7 as previously reported):**\n```\n┌ allagents v1.2.0\n│\n◇ Workspace ─────────────╮\n│ │\n│ No workspace detected │\n│ User plugins: 0 │\n│ Marketplaces: 6 │\n│ │\n├─────────────────────────╯\n│\n◆ What would you like to do?\n│ ● Workspace\n│ ○ Plugins\n│ ○ Skills\n│ ○ Clients\n│ ○ Marketplaces\n│ ○ Exit\n└\n```\n\n**Problem 1: Workspace summary box repeats on every loop.** After Plugins → Back, the full `p.note()` workspace box appears *again* above the menu, AND the previous navigation trail stays visible:\n```\n◇ What would you like to do?\n│ Plugins\n│\n◇ Plugins\n│ Back\n│\n◇ Workspace ─────────────╮ ← repeated\n│ ... │\n├─────────────────────────╯\n│\n◆ What would you like to do? ← menu again\n```\n\n**Problem 2: Skills browse is extremely dense.** Each marketplace entry lists ALL skills for the entire marketplace — not just the skill being browsed. For `anthropic-agent-skills`, the same 17-skill list appears 3 times (once per skill entry from that marketplace):\n```\n│ ○ example-skills@anthropic-agent-skills - Collection of example skills...\n│ Skills: algorithmic-art, brand-guidelines, canvas-design, claude-api,\n│ doc-coauthoring, docx, frontend-design, internal-comms, mcp-builder, pdf,\n│ pptx, skill-creator, slack-gif-creator, theme-factory,\n│ web-artifacts-builder, webapp-testing, xlsx\n│ ○ claude-api@anthropic-agent-skills - Claude API and SDK...\n│ Skills: algorithmic-art, brand-guidelines, canvas-design, claude-api,\n│ doc-coauthoring, docx, frontend-design, ... ← SAME list repeated\n```\n\n**Problem 3: Plugins vs Marketplaces are separate menu items** but `allagents plugin marketplace` already exists as a CLI subcommand — the concepts are entangled.\n\n**Problem 4: Clients multiselect has no search** (unlike `npx skills` agent selection which includes an inline search box).\n\n**What works well:**\n- Clients tree structure (Universal vs Client-specific grouping) is clean\n- Marketplaces list is clean and well-formatted\n- CLI subcommands (`allagents workspace`, `allagents plugin`, `allagents skills`) are well-organized\n- `allagents workspace status` output is clean\n\n## Proposals (revised with ground-truth evidence)\n\n### 1. Show workspace summary once, then compact (quick win)\n\n**Evidence:** agent-tui confirmed the `p.note()` box repeats on every menu loop iteration, AND previous navigation trail accumulates.\n\n**Proposal:**\n- First entry: full `p.note()` box\n- Subsequent loops: single-line status like `Workspace: 0 plugins, 6 marketplaces`\n- Consider clearing the screen or using `@clack/prompts` `outro`/`intro` to reset visual state between menu iterations\n\n### 2. Fix Skills browse density (high impact)\n\n**Evidence:** Each marketplace entry shows the full skill list for the marketplace, not the individual skill's capabilities. This causes massive repetition.\n\n**`npx skills` comparison:** `skills list` shows one skill per entry with a truncated agent list (`+N more`).\n\n**Proposal:**\n- Each skill entry should show: skill name, description, compatible agents (truncated)\n- Do NOT show the full marketplace skill inventory on every entry\n- Consider adding search/filter (like `skills find`) instead of a flat multiselect\n\n### 3. Merge Plugins + Marketplaces menu items (moderate)\n\n**Evidence:** Both `Plugins` and `Marketplaces` appear as separate top-level menu items. The CLI already has `allagents plugin marketplace` as a subcommand — the TUI should match.\n\n**`npx skills` comparison:** `skills add \u003cpackage\u003e` handles both discovery and installation in one flow.\n\n**Proposal:** Consolidate to a single \"Plugins\" menu with:\n- Installed plugins\n- Browse marketplace (submenu)\n- Add plugin\n\n### 4. Add search to agent/client multiselect (polish)\n\n**Evidence:** `npx skills` agent selection has an inline `Search:` box within the multiselect. The `allagents` Clients tree has 24+ items with no search.\n\n**Proposal:** Add search/filter to the Clients multiselect, matching the `npx skills` pattern.\n\n### 5. Combine sequential spinners (quick win)\n\n**Evidence from issue (not re-verified):** Double spinners on install+sync.\n\n**`npx skills` comparison:** Single \"Proceed?\" confirmation, then one operation completes. No sequential spinners visible to the user.\n\n**Proposal:** One spinner per user-facing operation. Internal steps (install, sync, validate) run under a single progress indicator.\n\n### 6. Use `hint` field for plugin metadata (polish)\n\n**Evidence:** Marketplaces list already shows clean format (`agentv (Local: /home/christso/projects/agentv)`). But plugin labels in other contexts pack scope/type into the label text.\n\n**Proposal:** Use `@clack/prompts` `hint` field to separate name from metadata. Use color hierarchy matching `npx skills` pattern (name prominent, metadata dimmed).\n\n### 7. Consider security assessment before install (future)\n\n**Evidence:** `npx skills` shows Gen/Socket/Snyk risk assessment before confirming installation. `allagents` has no equivalent.\n\n**Proposal:** Consider adding a security/trust signal before plugin installation, especially for marketplace plugins.\n\n## Priority (revised)\n\n| Priority | Proposal | Impact | Effort |\n|----------|----------|--------|--------|\n| 1 | Fix Skills browse density (#2) | High | Medium |\n| 2 | Show workspace summary once (#1) | High | Low |\n| 3 | Combine sequential spinners (#5) | Medium | Low |\n| 4 | Merge Plugins + Marketplaces (#3) | Medium | Medium |\n| 5 | Add client search (#4) | Low | Low |\n| 6 | Use hint field (#6) | Low | Low |\n| 7 | Security assessment (#7) | Low | High |\n\n## Methodology\n\nAll observations captured via `agent-tui` sessions on `npx skills`, `claude --help`, and `npx allagents` v1.2.0. Screenshots taken programmatically to ensure accuracy.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)","author":{"url":"https://github.com/christso","@type":"Person","name":"christso"},"datePublished":"2026-03-20T08:09:30.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/288/allagents/issues/288"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:544495fc-33c8-4f00-2f95-bcf4b2fdff44 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E368:386EDA:21A43:2C8AD:6A4D7F41 |
| html-safe-nonce | 8c342166339aef02fd07beb65f11bb0aca9a0650057eb9c2045050b7c466ea51 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMzY4OjM4NkVEQToyMUE0MzoyQzhBRDo2QTREN0Y0MSIsInZpc2l0b3JfaWQiOiI4NDE3MjQ0MzQ4MzM3MTkyNzY5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 68edfb2a137435a62c8884f8bfb7168ebf716e53cac08e9492af5bc75351de63 |
| hovercard-subject-tag | issue:4106498498 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/EntityProcess/allagents/288/issue_layout |
| twitter:image | https://opengraph.githubassets.com/30e2de806e839de822f04c144ae9ff24e892d327471625fcafa843ac41831611/EntityProcess/allagents/issues/288 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/30e2de806e839de822f04c144ae9ff24e892d327471625fcafa843ac41831611/EntityProcess/allagents/issues/288 |
| og:image:alt | Summary The interactive TUI wizard (npx allagents with no args) is functional but feels busy and cluttered compared to npx skills and Claude Code. This issue tracks UX improvements informed by side... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | christso |
| hostname | github.com |
| expected-hostname | github.com |
| None | c6bf61c909482ec3072ef5d7a5a28f2a9d214788c9a44793eca1960048cb05ae |
| turbo-cache-control | no-preview |
| go-import | github.com/EntityProcess/allagents git https://github.com/EntityProcess/allagents.git |
| octolytics-dimension-user_id | 8837957 |
| octolytics-dimension-user_login | EntityProcess |
| octolytics-dimension-repository_id | 1139437609 |
| octolytics-dimension-repository_nwo | EntityProcess/allagents |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1139437609 |
| octolytics-dimension-repository_network_root_nwo | EntityProcess/allagents |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 6702a58b419a792226bd21ef0fb1bcb318bbcaa3 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width