research-dashboard
A Claude Code plugin that scans your session logs across all projects and builds one unified research/work dashboard — Markdown + a visual HTML view — with an optional live chat panel and weekly auto-refresh.
What it does
Claude Code writes a session log for every project you work in (~/.claude/projects). Over time these scatter across dozens of folders and it gets hard to remember what you have, where each thing stands, and what's next. This plugin:
- Digests every project's session logs into a compact JSON (deterministic preprocessing — agents never read the raw multi-MB logs).
- Scans each project in parallel with a
research-log-scanner sub-agent to produce a status card (goal, stage, status, next actions, confidence).
- Consolidates all cards with a
dashboard-curator sub-agent into:
DASHBOARD.md — the operational dashboard (overview table, "needs attention", groups, your own notes section that is never overwritten),
dashboard.html — a self-contained visual view (no internet/CDN needed) with a 한/영 language toggle for the interface labels,
- per-project detail cards under
projects/.
- Optionally produces a weekly lab-meeting release (
releases/lab-meeting-YYYY-MM-DD.md) and a WEEKLY_LOG.md change log, computing the delta vs. the previous week.
Output goes to ~/research-dashboard by default (override with the RESEARCH_DASHBOARD_DIR environment variable).
Install
Run these two commands one at a time inside Claude Code — enter the first, let it finish, then enter the second. Do not paste both lines at once (a combined line is read as a git URL and can fail with an SSH error):
/plugin marketplace add jmleetpl/claude-research-dashboard
/plugin install research-dashboard
Then run /reload-plugins (or restart Claude Code) to activate it, and ask "build my dashboard" / "대시보드 만들어줘" to confirm it works.
Troubleshooting
Usage
Just ask, in English or Korean:
- "build my dashboard" / "대시보드 만들어줘"
- "show my research status" / "연구 현황 보여줘"
- "update the dashboard" / "대시보드 갱신해줘" (incremental — only rescans changed projects)
- "what's next?" / "다음 할 일 뭐야?"
- "find stalled projects" / "멈춘 연구 찾아줘"
- "give me the weekly lab-meeting release" / "주간 랩미팅 자료 만들어줘"
The skill auto-detects whether to do a full scan, an incremental update, or just answer from the existing dashboard.
Output location
| Item | Path |
|---|
| Dashboard root | RESEARCH_DASHBOARD_DIR (default ~/research-dashboard) |
| Main dashboard | <root>/DASHBOARD.md |
| Visual view | <root>/dashboard.html |
| Workspace (digests, scan cards, chat threads) | <root>/_workspace/ |
| Weekly releases | <root>/releases/ |
Set RESEARCH_DASHBOARD_DIR to put output anywhere you like.
Optional: live chat
A local-only chat server lets you talk to a "lead" orchestrator persona or per-project agents next to the visual dashboard.
# Windows
research-dashboard\scripts\start_chat_win.cmd
# macOS / Linux
bash research-dashboard/scripts/start_chat_unix.sh
It opens http://localhost:8765 (override with RESEARCH_DASHBOARD_PORT). Lookups use a fast model; edits use a more capable model and a parallel "ask every project" broadcast is available.
⚠️ Security warning. For write requests the chat server invokes claude with --permission-mode acceptEdits, meaning a chat message can modify local files (your dashboard metadata) without prompting. The weekly scheduler runs claude unattended with bypassPermissions. Run these only on a trusted machine, as yourself, and never expose the chat port to other hosts. The server binds to 127.0.0.1 only.
Optional: weekly auto-refresh
Register a job that refreshes the dashboard and builds a lab-meeting release every Wednesday 08:00:
# Windows (Task Scheduler)
powershell -ExecutionPolicy Bypass -File research-dashboard\scripts\install_schedule_win.ps1
# macOS (launchd) / Linux (cron)
bash research-dashboard/scripts/install_schedule_unix.sh
Both scripts print how to remove the job and carry an unattended-execution warning (see the security note above).
Requirements