Updates a dashboard to show the progress made by the engineering team of implementing the search spec.
This skill lets an agent (or a human user) update the Tailspin Toys Search Team Dashboard by pointing at a progress-report file. The dashboard is a standalone Next.js app hosted in a separate repo and deployed to GitHub Pages.
The dashboard auto-deploys to GitHub Pages on every push to main via
the workflow in the dashboard repo.
.github/workflows/deploy-pages.ymlActivate this skill when the user or agent says something like:
<filename>"<filename> to update the search spec dashboard"The user/agent must reference (or provide the path to) a progress-report file. If no file is mentioned, ask for one before proceeding.
The only file you need to modify is in the dashboard repo:
octodemo/tailspin-toys-search-dashboard → src/data/search-spec-data.ts
This is the single source of truth. The dashboard page and components read from this file automatically — you never need to touch them.
Read the file the user/agent referenced. The file is usually a plain-text
report structured like search-spec-progress.txt at the repo root.
It follows this general format:
TAILSPIN TOYS — Spec vs PR #<n> Coverage Report
...
P0 — Must Have for MVP (<count> items)
✅ IMPLEMENTED (<done>/<total>)
<id>. <title>
→ <detail>
...
❌ NOT IMPLEMENTED (<remaining>/<total>)
<id>. <title>
→ <detail>
...
P1 — Must Have for MLP (<count> items)
... (same structure)
...
OVERALL SUMMARY
Total spec items: <n>
Implemented: <n>
Not implemented: <n>
Progress: <bar> <percent>%
Parse every item (id, title, detail, priority, status) from the file.
Use the GitHub MCP tool to read the current file:
octodemotailspin-toys-search-dashboardsrc/data/search-spec-data.tsThis gives you the current state so you can produce an updated version.
Produce a new version of src/data/search-spec-data.ts with:
reportMeta — update prNumber, prTitle, specSource, and
reportDate to match the new report.
specItems array — update each item's status and detail
to reflect the current state from the report. Each entry must have:
id (number) — the spec-item number.priority — "P0" or "P1".title (string) — short name.detail (string) — description of what was done / what is missing.status — "implemented" or "not-implemented".Do not touch the derived helper functions (itemsByPriority,
implementedCount, etc.) — they compute automatically from the array.
Use the GitHub MCP create_or_update_file tool to push the updated
file to the dashboard repo:
octodemotailspin-toys-search-dashboardsrc/data/search-spec-data.tsmain"Update search spec progress — <X>/<Y> implemented (<Z>%)"This push will automatically trigger the deploy-pages.yml workflow
which builds and deploys the dashboard to GitHub Pages within ~2 minutes.
Report back:
not-implemented →
implemented).export type Priority = "P0" | "P1";
export type ItemStatus = "implemented" | "not-implemented";
export interface SpecItem {
id: number;
priority: Priority;
title: string;
detail: string;
status: ItemStatus;
}
export interface ReportMeta {
prNumber: number;
prTitle: string;
specSource: string;
reportDate: string; // ISO date, e.g. "2026-02-12"
}
src/data/search-spec-data.ts in the dashboard repo
(octodemo/tailspin-toys-search-dashboard). Never modify the
dashboard page or components unless the user explicitly asks.main so the GitHub Pages deployment triggers.Priority type and add items accordingly.specItems array ordered by id for readability.