dbl8005 f5702a8895 feat: initial release of sitrep-panel v1.0.0
A live local HTML report skill for Claude Code — status board, running
'what's happening now' narrative, screenshot gallery, newest-first log,
served on localhost with 2s-poll live-reload (no build step, no external
requests). Optional tracker-synced board (Jira/GitHub Issues/Linear),
falls back to a manual checklist when nothing's configured.

Invoked via /sitrep-panel [start|open|stop|archive].
2026-08-23 00:34:11 +03:00

sitrep-panel

Watch your AI agent work, live, in a browser tab — instead of scrolling a transcript.

License: MIT Claude Code Skill

A sitrep-panel report showing a status board, a running narrative, a screenshot, and a newest-first log for a fictional 'add rate limiting' task

Demo content — no real project, code, or data. Generated for this README.

Why

Long agent sessions are hard to watch. The transcript scrolls faster than you can read it, and there's no single place that answers "what is it doing right now, and how did it get here?" without interrupting to ask.

sitrep-panel is that place — a local HTML report the agent writes to itself as it works, that live-reloads the instant it's updated. Not a chat log: a running account of the actual state of the work.

It is not a hosted artifact or a cloud dashboard. It never leaves your machine, needs no publish step, no account, and no network access — everything is one static HTML page plus a stdlib Python server.

What it shows

  • Status board — cards for what's to do, in progress, done, or blocked. Synced from a connected issue tracker (Jira, GitHub Issues, Linear — whatever the agent already has access to) when one's available, otherwise a plain checklist the agent maintains by hand. Never fabricated.
  • What's happening now — a standing paragraph of why, not a status word. Replaced each update, always reflecting the present.
  • Screenshots — dropped in as they're taken, inline in the log or in their own gallery.
  • Log — one entry per real step, newest first: what happened, what was decided, what was verified.

How it live-reloads

No WebSocket, no build step, no bundler. The page polls a small meta.json file every 2 seconds and reloads the instant its timestamp changes — the agent just touches that one file after every content update. Everything else is plain static HTML served by Python's stdlib http.server.

Install

claude plugin marketplace add dbl8005/sitrep-panel
claude plugin install sitrep-panel@sitrep-panel

Or clone and point Claude Code at it locally:

git clone https://github.com/dbl8005/sitrep-panel.git
claude plugin marketplace add ./sitrep-panel
claude plugin install sitrep-panel@sitrep-panel

Usage

/sitrep-panel

Starts (or resumes) a report for the current project and prints its http://localhost:<port>/ URL.

/sitrep-panel open     # just print the URL, don't touch content
/sitrep-panel archive  # move the current report aside, start a fresh one
/sitrep-panel stop      # stop the local server (content stays on disk)

Everything lives at .sitrep-panel/ in the project you invoke it from — gitignored automatically, since it's scratch, not history you commit. Reports are single-project and single-active-report by design: the URL stays stable for a whole session instead of minting a new page per task.

Design principles

  • Local-first, always. No account, no upload, no third-party server in the loop. The report never exists anywhere but your machine.
  • Never fabricate. The status board reflects real tracker data or a manually-kept checklist — never invented tickets or guessed status.
  • Update, don't rewrite. The protocol is additive (prepend log entries, replace the current-work block, touch one timestamp file) so a crashed or interrupted agent leaves a readable partial report, not a blank page.
  • Zero dependencies. The server is stdlib Python. The page is HTML, CSS, and about 20 lines of vanilla JS. Nothing to install, nothing to break.

Contributing

Issues and PRs welcome. python3 scripts/validate-package.py checks the package files; CI runs it plus a real server-start smoke test on every PR.

Versions

  • 1.0.0 — initial release: status board, live "what's happening now" narrative, screenshot gallery, newest-first log, live-reload, optional tracker-synced board.

License

MIT

Languages
HTML 74.5%
Python 25.5%