Have an agent build a dashboard
Status: ShippedUse an agent launched from CodeSense so it can access the local MCP authoring tools. For external services, authenticate the agent’s own tools; there is no CodeSense service connection to configure.
Ask for the page
Build a team dashboard showing blocked stories and review requests.Read get_live_data_contract before implementing it.Use local context queries for stories. For external review data, configurean agent-owned collection routine that publishes a routine result.Read that cached result when the page opens; show its age and errors.Provide an explicit Refresh action using the documented routine SDK.Do not launch an agent on page load or put credentials in the page or result.Validate the page with validate_live_data_doc and fix blocking findings.What the agent prepares
- Reads the live-data contract for the current SDK and action verbs.
- Creates a collection routine using its own service tools and publishes structured data with
routine_publish_result. - Builds a page that reads local context plus cached
routineResult/routineStatusdata. Missing results have an honest empty state. - Adds an explicit
routineRefreshaction. AnopenWorkspaceaction can open the relevant story. - Validates the page and places it in the team’s context using the supported context authoring tools.
Open and refresh
Open the page in CodeSense and review its requested capabilities. Opening it should display cached information without a service request or agent launch. Choose Refresh when you want a new collection run, review any authorization prompt, and inspect its status in Routines.
A service error belongs to the collection run. Reauthenticate or repair the agent’s tool configuration, then retry the routine. Do not add tokens, authorization headers, or service proxy calls to the dashboard.
How we know this is accurate 3 sources
Checked against the app at 1b3d5a69d73473db077dfb44f4390b42cded6bd4.
Code
-
get_live_data_contract -
validate_live_data_doc -
src/features/dashboard/components/html-bridge.ts