Ask the Advisor

The Advisor is a chat panel that answers questions about one board using your real, grounded data — never invented numbers. It calls the same read-only tools an external MCP client would, cites what it found, and shows exactly which tools ran.

deckgauge · Board · Advisor
reading PLAT-Sprint · read-only
"Why did our lead time jump this sprint?" — you asked
✓ get_team_overview ✓ find_slowdowns

Mid-answer: the board-scoped pill, a streamed reply, and the tools it called.

What it does, and where the data comes from

The Advisor is a read-only analyst for one board. It answers by calling tools that fetch real numbers from your connected sources — it's instructed to ground every claim in a tool result and never invent a metric. It can only read the board you're asking about; it can't change anything on Deckgauge's side. The board-scoped pill in the panel header — reading <board> · read-only — is that guarantee made visible: it names the board's id, not a display name, because that's the literal value the panel is scoped to. That guarantee covers Deckgauge's own MCP tools specifically — when a local coding agent is connected, the agent has its own toolset beyond those tools, outside Deckgauge's control.

Every question is authorized the same way the rest of the app checks board access: you need at least Viewer access on the board being asked about, checked fresh on the server for each question, not only when the panel first opens.

How to open it and ask a question

  1. Ask the Advisor — the button in a board's header. Opens the panel scoped to the whole board.
  2. ✦ on a widget's card — a compact version of the same button. Opens the same panel, but tells the Advisor which widget you were looking at, so it can factor that into its answer.
  3. Type a question and press Enter (or click Send) — Shift+Enter adds a newline instead of submitting.

Under the hood

Answers stream in as they're generated rather than appearing all at once. Once the reply finishes, a row of chips appears underneath it — one per tool the Advisor actually called to build that answer (for example ✓ get_team_overview) — so you can see what it looked at instead of taking the answer on faith. A single answer can make up to six tool-call round trips before Deckgauge stops it — a guardrail against runaway loops, not a cap on how many distinct tools it has (there are seven).

If you've also set up your own local coding agent (see Use your own local agent), the panel prefers it: every question routes there instead, and the same streamed bubbles and tool chips render either way. The panel only falls back to the provider configured in Settings → Advisor when that local bridge isn't connected — so the bridge, when it's ready, always wins over your saved provider for that session.

What it can look at

Seven read-only tools, all scoped to the one board you asked about and all requiring at least Viewer access on it. Four read engineering-intelligence metrics; three read the board's own content and structure, which is what lets the Advisor answer questions like "which rows have no description?" or "why is PLAT-411 not on this board?".

ToolWhat it answers
get_team_overviewTeam KPIs over the last N days — PRs merged, median cycle time, active developers, AI-assisted share
find_slowdownsDevelopers whose merge throughput dropped sharply against their own baseline
get_ai_breakdownAI-assisted PR share per developer
get_ticket_timelineOne ticket's unified activity across Jira, GitHub, GitLab and Azure DevOps
list_board_rowsThe board's rows and their fields — name, group, status, owner, assignee, description, Jira key, custom columns. Filterable by group, status, free-text search, and whether a description is present; paged, and every response reports how many rows matched in total
get_board_structureThe board's groups, statuses and custom columns with their ids, plus each connected source's allow-list of fields sync may write. Note that list is board-level configuration, not a verdict on any one field: a manual edit records an override, and an override beats the allow-list
list_excluded_rowsRows deleted from the board and therefore excluded from re-sync — why an issue that exists in Jira or Azure DevOps is missing here
Board content answers are paged, and say soA board with hundreds of rows will not fit in one response. list_board_rows returns a page plus the total number of rows matching the filter, and the Advisor is instructed to compare the two and tell you when it is looking at a partial list rather than presenting a page as the whole answer.
The board scope is not something the model can changeNone of these tools takes a board id as an input. The board is fixed by the panel you opened, checked against your access on the server, and supplied to the tool outside the model's reach — so it cannot widen its own scope or retarget a board you cannot see.

If it looks wrong

SymptomCauseFix
"No advisor model is configured yet…"No provider is saved and no local-agent bridge is connectedSet up a provider on the providers page, or run the local-agent bridge
"Your session has expired — sign in again…"Your Deckgauge login expired mid-sessionSign in again and reopen the panel
"You need at least viewer access to this board…"Your account lacks Viewer access on this specific boardAsk a board owner for access
"The advisor could not understand that request…"A malformed or stale request reached the serverReload the page and ask again

Related

Last updated