A real-time sync dashboard that surfaces drift between what's actually happening in the terminal (Claude Code sessions captured by Engram) and what's planned in Linear — across both development and marketing tracks.
Built for Being Human Studio, a multi-product venture studio running 6+ projects simultaneously with Claude Code as the primary development environment.
When you're running multiple projects with AI-assisted development, work happens fast — often faster than your ticket system can keep up. Sessions get completed, features ship, bugs get fixed, and none of it shows up in Linear. Meanwhile, Linear has its own backlog of planned work that may or may not reflect reality.
Second Brain bridges that gap by comparing:
| Source | What It Captures |
|---|---|
| Engram (Terminal) | Actual coding sessions — what was built, what decisions were made, what's blocked |
| Linear - Product Management | Development tickets — bugs, features, improvements, refactors |
| Linear - Overall Management | Marketing & ops tickets — launches, branding, GTM, legal, content |
The dashboard highlights drift — where terminal work has no corresponding ticket, where tickets exist but no one's working on them, and where the two tracks tell different stories about the same project.
Each project gets a three-column card:
┌─────────────────────────────────────────────────────────┐
│ WonderCast [PARTIAL SYNC] │
├──────────────┬──────────────────┬───────────────────────┤
│ Terminal │ Dev (Prod Mgmt) │ Marketing (Overall) │
│ │ │ │
│ Brand │ 17 In Review │ Trademark (URGENT) │
│ alignment │ 14 Backlog │ API credits │
│ sprint │ Beta bugs │ GCP rates │
│ 7 decisions │ (all Steve) │ Beta feedback │
├──────────────┴──────────────────┴───────────────────────┤
│ INSIGHT: Terminal brand work overlaps with WONOM-68 │
│ (branding review) — consider linking │
└─────────────────────────────────────────────────────────┘
Sync status badges:
- In Sync (teal) — terminal work maps to Linear tickets
- Partial Sync (orange) — some overlap, some gaps
- Untracked (pink) — terminal work with zero Linear tickets
- Dev Heavy (blue) — large dev backlog, minimal marketing
- Marketing Heavy / Marketing Only (orange) — ops/GTM focus
Full searchable table of all tickets across both tracks with:
- Priority color-coding (Urgent → Low)
- Track badges (DEV / MKTG)
- Team and track filters
- Overdue indicators
Timeline of all Engram-captured sessions with Linear sync indicators showing which sessions map to tickets and which are completely untracked.
Architectural decisions captured from coding sessions — the "why" behind technical choices, preserved for future reference.
┌─────────────────────────────────────────────────────┐
│ Second Brain │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Engram │ │ Linear │ │ Dashboard │ │
│ │ SQLite │ │ MCP │ │ (this repo) │ │
│ │ + FTS5 │ │ Server │ │ │ │
│ └────┬──────┘ └────┬─────┘ └──────────────┘ │
│ │ │ │
│ ┌────┴────────────────┴─────┐ │
│ │ Claude Code Session │ │
│ │ │ │
│ │ SessionEnd hook ──► Engram│ │
│ │ /catch-me-up skill │ │
│ │ /status-all skill │ │
│ │ /briefing skill │ │
│ │ /decisions skill │ │
│ │ /handoff skill │ │
│ └────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
- Claude Code sessions generate work across projects
- SessionEnd hook (
~/.claude/hooks/session-end-engram.ts) auto-captures session summaries to Engram - Engram stores memories in SQLite with FTS5 full-text search, namespaced by project
- Linear MCP connects to the Linear workspace for ticket data
- Dashboard (this file) renders both data sources side-by-side for sync analysis
| Component | Location | Purpose |
|---|---|---|
| Engram DB | ~/.engram/engram.db |
Session memories, decisions |
| Project Registry | ~/.engram/project-registry.json |
Maps 17 projects to tags |
| MCP Config | ~/.claude/mcp.json |
Engram + Linear MCP servers |
| SessionEnd Hook | ~/.claude/hooks/session-end-engram.ts |
Auto-capture on session end |
| Skills | ~/.claude/skills/ |
5 CLI skills for querying |
| Project | Dev Tickets | Marketing Tickets | Terminal Sessions | Sync Status |
|---|---|---|---|---|
| WonderCast | 31 (17 review, 14 backlog) | 9 | 1 | Partial Sync |
| BH Financial OS | 27 (1 review, 26 backlog) | 0 | 1 | Dev Heavy |
| Luminary | 0 | 5 | 2 | Marketing Heavy |
| Siglap | 0 | 0 | 2 | Untracked |
| Kavlo | 0 | 4 | 1 | Marketing Only |
| Haven | 0 | 4 | 0 | Marketing Only |
| Being Human | 0 | 3 | 0 | Marketing Only |
| MCP Package | 0 | 0 | 1 | Untracked |
The dashboard pulls from two team types per project:
<Project> - Product Management→ Development track (bugs, features, improvements)<Project> - Overall Management→ Marketing & operations track (GTM, branding, legal, content)
This mirrors the Being Human workspace structure where each product has both a dev team and an ops team in Linear.
Five skills are available in any Claude Code session:
| Skill | Command | What It Does |
|---|---|---|
| Catch Me Up | /catch-me-up |
Restores context for a specific project from Engram |
| Status All | /status-all |
Cross-project dashboard with staleness badges |
| Briefing | /briefing |
Morning summary sorted by urgency |
| Decisions | /decisions |
Chronological decision log with search |
| Handoff | /handoff |
Full delegation document for zero-context handoff |
- Engram v1.10.0+ (
brew install gentleman-programming/tap/engram) - Claude Code with MCP support
- Linear workspace with MCP server configured
-
Open the dashboard:
open index.html
-
To refresh data, run a Claude Code session and use:
/status-all # See all projects /catch-me-up # Deep dive into one project
If you want to set up the full Second Brain pipeline for your own workspace:
-
Install Engram:
brew install gentleman-programming/tap/engram
-
Create project registry at
~/.engram/project-registry.json -
Add Engram MCP to
~/.claude/mcp.json:{ "mcpServers": { "engram": { "command": "engram", "args": ["mcp", "--tools=agent"] } } } -
Add Linear MCP to
~/.claude/mcp.json:{ "mcpServers": { "linear-server": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.linear.app/sse"] } } } -
Add SessionEnd hook to
~/.claude/settings.json -
Copy skills to
~/.claude/skills/
Built with the Being Human Design System:
| Token | Hex | Usage |
|---|---|---|
| Void Black | #121317 |
Page background |
| Neural Purple | #8852f7 |
Primary accent, dev track |
| Signal Teal | #33d6d6 |
Active status, marketing track |
| Circuit Blue | #1990ec |
Links, in-progress states |
| Empathy Pink | #eb3b94 |
Warnings, untracked |
| Pulse Coral | #d95e5e |
Urgent priority |
| Ember Orange | #f0874f |
High priority, drift |
Typography: Space Grotesk (body) + Space Mono (labels, code, badges)
- Live data refresh via Engram REST API + Linear MCP
- Auto-link terminal sessions to Linear tickets by branch name matching
- Staleness scoring with configurable thresholds
- Email/Slack digest of daily drift report
- GitHub Actions integration for CI/CD visibility
- Multi-user support with per-person session tracking
MIT
Built with Claude Code + Engram + Linear
