Skip to content
Back to skills

Bridge Dashboard

ASecurity

Generates the Bridge Control Center: a single-file HTML dashboard bundling Fleet (infra/remotes/), Work Board, Calendar, Channels and Git activity into one view. Trigger: "/bridge-dashboard", "bridge dashboard", "control center", "ops dashboard", "show me everything at a glance".

  • 10 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentspythonbashreactnodegit

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add bks-lab/open-bridge --skill bridge-dashboard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bridge Dashboard?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bridge Dashboard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bks-lab-bridge-dashboard/badge)](https://www.skillsdirectory.com/skills/bks-lab-bridge-dashboard)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bridge-dashboard
description: >-
  Generates the Bridge Control Center: a single-file HTML dashboard bundling
  Fleet (infra/remotes/), Work Board, Calendar, Channels and Git activity
  into one view. Trigger: "/bridge-dashboard", "bridge dashboard",
  "control center", "ops dashboard", "show me everything at a glance".
metadata:
  scope: core
---

# Bridge Dashboard

## What it does

A Python generator — `scripts/bridge-dashboard.py`, a shared repo-root utility shipped with the Bridge repo itself (not inside this skill's own directory), stdlib + PyYAML only — aggregates the entire Bridge state **in parallel** and renders a self-contained HTML:

| Tile | Source | Parallel probe |
|------|--------|----------------|
| Fleet | `infra/remotes/*.yaml` + ICMP ping (Tailscale > LAN) | yes, 8 workers |
| Work Board | `work/board.md` (doing/backlog/done) | yes |
| Calendar 24h | `workflow/calendars/entries.yaml` + RRULE expander | yes |
| Channels | `infra/channels/*.yaml` | yes |
| Bridge-Deck (optional) | HTTP `http://homeserver:8791/metrics` — tile shows "offline" when absent | yes, 1.5s timeout |
| Git Activity | all repos from `ecosystem.yaml` via `git log --since=24h` | yes, 6 workers |
| Upstream | `HEAD..development` | yes |
| Events | last 10 lines from `work/log.md` | yes |

Design: dark theme, cyan/amber, responsive 12-column grid. Sticky header with live counters. Auto-refresh every 30s via meta tag.

## Usage

```bash
# Generate once → work/dashboard.html
python3 scripts/bridge-dashboard.py

# Generate and open in the browser
python3 scripts/bridge-dashboard.py --open

# Continuous mode: server on :8790, regenerate every 30s
python3 scripts/bridge-dashboard.py --serve
```

Serve mode is suited for launchd/cron on homeserver. A plist template lives in `skills/bridge-dashboard/references/com.example.bridge-dashboard.plist`.

## Relationship to Bridge-Deck (optional — not yet public, coming soon)

| | Bridge-Deck :8791 | Bridge Dashboard :8790 |
|---|---|---|
| Purpose | Ambient pixel-art office view | Ops-grade situational awareness |
| Tech | Node/React/Pixi + WS live | Python → HTML, 30s refresh |
| Runs where | homeserver (launchd, always on) | on-demand or launchd (optional) |
| Scope | Agents/Channels/Calendar | Fleet + Board + integrations-ready + Git |

Both read the Bridge's YAML data read-only. No duplicate source.

## Decision Tree

```
User wants to...
├── Quick morning check                  → python3 scripts/bridge-dashboard.py --open
├── Permanently on a 2nd monitor         → --serve + keep a browser tab open
├── Fleet status right now               → generate dashboard, top left
├── Integrate an integration tile (e.g. cloud-function health) → add a tile in scripts/bridge-dashboard.py (Phase 2 — planned)
└── Customize the dashboard              → edit scripts/bridge-dashboard.py
```

## Data Sources & Invariants

- **Read-only**: The script writes exclusively to `work/dashboard.html`. No changes to YAML/log/board.
- **Fail-soft**: If a source is missing (e.g. bridge-deck offline), the tile shows "offline". Other tiles still run.
- **Timeouts**: Ping 800ms, HTTP 1.5s, Git 3s per repo — the whole dashboard builds in <4s.
- **No secrets**: The HTML contains only paths and metrics, no tokens.

## Sister skill

What needs a person is the inbox (`scripts/inbox.py list`), shown first by
`/briefing`. This dashboard shows state, the inbox shows what waits on you.

## Roadmap (non-blocking)

1. Integration tile: cloud-function health + log-error count via provider CLI.
2. Mail tile: unread mail from Microsoft Graph (via an org-overlay mail skill, if your bridge has one).
3. Telegram/Signal unread count.
4. Weekly sparkline: commits/day, log events/day.
5. Dark/light toggle.
6. PWA manifest for full-screen kiosk on iPad.

Files in this skill

  • SKILL.md3.8 KB
  • references/com.example.bridge-dashboard.plist1.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.