Skip to content
Get AI Business OS

Opening the Dashboard

PRIMA Project ManagementCommand: /dashboard

/dashboard builds the PRIMA Project Management dashboard, a single HTML page that shows your projects, tasks, milestones and sessions, and opens it in your browser. A build script reads your project register and fills in a template that ships with the product. Claude runs the script and passes on what it reports, so it never writes the page by hand.

The build script needs Node 18 or later. Claude Code already needs Node, so most workspaces have it. No other command in PRIMA Project Management uses Node.

The dashboard reads your register and never changes it. To change a project, use the commands or ask Claude in plain words, then build the dashboard again.

  1. Type /dashboard in Claude Code, with your workspace folder open as the project.
  2. Work through the short tour if this is the first time the workspace has built the dashboard, or say “skip tour” to go straight to the page.
  3. Wait while Claude runs the build script and opens the page in your default browser.
  4. Read the summary in chat, which counts your projects, tasks and milestones and lists anything that needs you.

On macOS, Claude opens the page with open and copies its local address to the clipboard. On Linux and WSL, it uses xdg-open, and when that fails it prints the address for you to open yourself. The command gives no open step for Windows outside WSL, so there you open the file from the path in the summary.

Dashboard Settings and First-Run Wizard describes the tour.

Claude passes on the summary the script prints, unchanged.

Dashboard generated — 2026-10-14 09:12
Projects: 6 total (4 active, 1 paused, 1 overdue)
Tasks: 18 across 2 projects (7 done, 2 blocked)
Milestones: 5 (2 done, 3 pending)
Untracked work: 1 project
Output: /Users/you/Example Consulting/Documentation/Reports/prima-dashboard.html
Red items:
- P012 (Spring Workshop) overdue, due 2026-10-10

The “Untracked work” line appears only when a project has recent work and no task movement. The red items list up to five things that need you, such as failed sources, overdue projects and CRM follow-ups that are overdue or due today. Any money amount in a red item shows as [amount] in chat, while the page itself keeps the full text.

The script saves the page to Documentation/Reports/prima-dashboard.html. Each build also copies two folders beside it, assets/fontawesome/ for the icons and fonts/ for the Inter font, so the page shows its icons and font with no internet connection. To share the page with someone, send both folders with it.

The page is a snapshot of your register at the moment of the build. Run /dashboard again, then reload the page, whenever you want current figures. A banner at the foot of the Dashboard view says how long ago the build ran.

Source Needed Use
.claude/state/state.json Yes Your project register
.claude/state/projects/P###.json No Project detail fields, when the projects/ folder exists
.claude/state/tasks/P###.json No Task lists, counts and dependencies
Documentation/Reports/prima-dashboard-events.json No Calendar and meeting events for the Today view, written by /day
Documentation/Reports/prima-dashboard-notes.json No Claude’s notes for the Today view, written by /day
.prima-crm/crm.db No Follow-ups and stale clients, when PRIMA CRM is installed
.claude/config/prima-dashboard.json No The content pipeline folders, when you set them

The build leaves out archived projects, except those whose due date falls within 30 days of the build date, before or after it. It writes only the page and the two asset folders, and nothing under .claude/state/.

Claude runs the script with no options. You can run it yourself from the workspace folder with any of the following.

Terminal window
node Scripts/prima-dashboard/build-dashboard.mjs --landing today
Option Effect
--workspace <dir> Builds from another workspace folder
--template <path> Uses a different template file
--output <path> Writes the page somewhere else
--landing today Opens the page on the Today view, as /day does
--json Prints the summary as JSON

The tour is not a script option, so type /dashboard --tour in Claude Code to see it again.

The script ends with an exit code, and Claude tells you what it means.

Code Meaning What Claude reports
0 The page was built The summary
1 No state.json was found No state.json found. Run /setup to initialise PRIMA, or create .claude/state/state.json manually.
2 The template is missing, or its data marker cannot be found The message the script prints
3 Any other error The error line, word for word

Troubleshooting gives the fix for each.