Skills

Dashboard Template

Kiro Crew repo only: load this when a task will author or change a dashboard page.

Install

npx skills add kirodotdev/KiroCrew --skill dashboard-template -g -a claude-code -y
Repository
kirodotdev/KiroCrew4.7k
Category
Testing
Updated
3d ago
License
Apache-2.0
Context cost
Mediumabout 3,000 tokens
Runs scripts
Yes, review before use

What it does

Kiro Crew repo only: load this when a task will author or change a dashboard page. A page never ships alone: the same PR carries its TypedDict contract, its provider, and a parity test that the two agree. Scaffold all four from one field list; read numbers from an existing fold, never type them.

Dashboard Template

A dashboard page is HALF of a template. The other half is a type, and the two halves are checked by different machines, which is why they drift.

This skill is the procedure for the kirocrew-dashboard-author crewmate, whose spec is agent-spec.md beside this file: the charter (what it is for and what it may never do) plus the narrowed toolset that makes the charter true against a tool list rather than only against prose. A human or another agent following this file gets the same procedure. The gateway installs the spec as the owned agent kirocrew-dashboard-author at every start (OWNED_KIRO_AGENT_FILES, _install_dashboard_author_agent), so a crewmate dispatched on it starts with this procedure as its prompt; a human or another agent loads this skill directly.

The page is inert html. The host sanitizes it, renders it, and binds text into it by data-dashboard-field. No type checker is anywhere near that binding, because one half is markup. So a page that reads settled while its provider fills settled_count renders an empty cell, on a status board, forever, with nothing red anywhere.

Read the host before you write a page; it is short and it is the authority on what gets refused. src/kiro_crew/dashboard/dynamic_cards.py holds normalize_card, which decides whether a card is accepted at all, and website/src/pages/chat/command-center/dashboardDocument.ts is what queries [data-dashboard-field] and writes the text in.

You are done when four files and one registration line exist, not when the page looks right. Everything here is dev time: it lands through a pull request, mypy is blocking and the parity test is a gate. At run time the gateway evaluates none of it. A publisher supplies three sentences and nothing else.

What a run produces

Read the whole SKILL.md on GitHub

More in Testing