Agent Tools (consolidated dashboard)
Agent Tools is the sidebar group that nests Omniscio's tool and key views under one collapsible row, plus a dashboard panel that counts CLI Tools, Skills and MCP Servers, with API Keys, Agent Email and Browser Logins nested below them.
What it is
Agent Tools is the sidebar parent group that nests Omniscio's tool- and key-related virtual projects under a single collapsible row, plus a dashboard panel. Three are tracked by the dashboard usage roll-up — CLI Tools, Skills, and MCP Servers — and one key surface is nested below them: API Keys (a tabbed hub combining your personal gateway key + credit balance with a read-only inventory of every key/secret on the machine). The API Keys panel is full-pane and is NOT part of the dashboard roll-up. Two more virtual projects — Agent Email and Browser Logins — are nested under Agent Tools as well (also outside the dashboard roll-up). Before consolidation the tool rows lived as separate top-level entries in the amc-builtin section of the sidebar; they're now grouped under Agent Tools so the sidebar reads as "what's installed for my agents" rather than unrelated entries with the same shape.
The group is purely a presentation layer — there's no new database table, no new scanner, and no new auth surface. Clicking the parent row swaps the right pane to the Agent Tools dashboard: a three-tile count grid (CLI Tools / Skills / MCP Servers), a "Top invoked · last 30 days" table, and a "Recent activity" list. Clicking any tile or row jumps you into the child view that owns the detail.
Where to find it
How to use it
- Find Agent Tools in the left sidebar. It's the first entry in the amc-builtin block (the alphabetically-sorted block of built-in views — "Ag" sorts before "AI Coaching", "Approvals", etc.). The row uses the same robot icon as the dashboard panel.
- Click the row to open the dashboard. The right pane shows three tiles, a top-invoked table, and a recent-activity list. Loading from a cold cache takes <300ms; subsequent loads in the same 30-second window are instant.
- Click a tile to jump into a child view. The CLI Tools tile opens the existing tools view; Skills opens the skills catalog; MCP Servers opens the configured-servers list. Each child still owns its own kebab actions, sort dropdowns, and detail panes — the dashboard doesn't replace them.
- Expand/collapse the group. Click the chevron next to the row to fold the children out of sight (handy if you're focused on Sessions or Cron Jobs and don't need the tool rows visible). While expanded, the children sit indented one level to the right of the parent row, and a thin horizontal divider line is drawn beneath the last child (API Keys) to mark where the group ends — the same separator style used between manual project groups. The collapsed state is persisted as
agentToolsCollapsed: booleaninAppSettings, so it survives restarts. The dashboard panel still opens when you click the parent row regardless of collapsed state. - Top invoked / recent activity rows are clickable. Each row in either table jumps to the owning child view (skills row → Skills, MCP row → MCP Servers). The CLI Tools tile is the only way to reach the tools child from the dashboard — tool invocations aren't tracked in
tool_invocations(which is skill/MCP only), so they don't appear in the top-invoked or recent tables. - Move a member out of the group by dragging it to a new sidebar position or right-clicking and choosing Remove from Category. Right-click the solo item and choose Return to [group name] to put it back.
How it behaves
How it works
The parent group is registered as a virtual project via AGENT_TOOLS_PROJECT_ID = '__agent_tools__' in /src/shared/virtual-project-ids.ts, with a manifest entry in /src/shared/integration-registry.ts at the top of the registry (its displayName: 'Agent Tools' makes it the first amc-builtin entry under localeCompare('en') sort). The six children — tools, mcp-servers, skills, api-keys, agent-email, browser-logins — each carry a parentGroupId: 'agent-tools' field on their manifest entries (their render order follows the registry's A-Z-by-displayName sort, except agent-email is pinned first and api-keys right after skills via amcDisplayOrderKey overrides); the registry validator enforces four invariants on parentGroupId (referenced parent exists, parent is kind: 'amc-builtin', no nesting deeper than one level, no self-reference). The sidebar component groups children under their declared parent at render time — there's no change to the underlying integration model. Each child wrapper gets a pl-9 indent so its row sits to the right of the parent (whose content is already pushed past the chevron column), and the last child renders a data-sidebar-group-end="agent-tools" separator (h-px bg-surface-300) — the same rule the sidebar draws at the end of a manual divider group (the group markers are now generalised across Agent Tools / Automation / Insights, each scoped by its group id). Collapsing unmounts the children, so the separator unmounts with them; it never renders while collapsed.
The dashboard panel is /src/renderer/src/features/agent-tools/AgentToolsDashboard.tsx, lazy-imported directly from the integration UI registry /src/renderer/src/integrations/ui-registry.ts (via import('../features/agent-tools/AgentToolsDashboard')). It fires a single IPC call — AGENT_TOOLS_DASHBOARD_SUMMARY — and re-fires on tool-invocations:scanner-progress and skills:list-changed push events so counts and recent rows stay live without polling. The backend handler in /src/main/ipc/agent-tools-handlers.ts builds the summary by reading the skills service's listInstalled(), counting mcpServers keys from ~/.claude.json, reading listDetectedTools() from SQLite, and querying tool_invocations for top-N (30-day window, capped at 10) + recent-N (capped at 10). A 30-second in-memory cache absorbs repeated mounts; the cache is wiped when either invalidating channel fires through the onPush bus, so the dashboard auto-refreshes when a session finishes invoking new tools or the user installs a new skill. There's no schema change — tool_invocations, skills, and detected_tools already exist for the child views; the dashboard handler just aggregates over them.
Related
- use-skills.md — the nested Skills child view (browse, install, edit skills)
- mcp-servers.md — the nested MCP Servers child view (configured servers + usage tracking)
Last verified 2026-09-25