Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: Claude Code plugin (comment monitor) + viewer comment reframe#16

Open
benvinegar wants to merge 7 commits into
main from
feat/comment-and-copy
Open

feat: Claude Code plugin (comment monitor) + viewer comment reframe #16
benvinegar wants to merge 7 commits into
main from
feat/comment-and-copy

Conversation

@benvinegar

@benvinegar benvinegar commented Jun 13, 2026
edited
Loading

Copy link
Copy Markdown
Member

Builds the comment loop out in two layers.

Viewer

  • Reframed around leaving comments rather than messaging an agent: composers read "Leave a comment..." with a "Comment" button; no delivery receipts or "listening" indicators (a comment is an annotation the agent picks up through the feedback loop).
  • A per-comment hover-only copy button puts an agent-ready paste block on the clipboard.
  • A "connect Claude Code" integrations modal (sidebar footer + onboarding) with the plugin install commands, what the monitor runs, and honest caveats.

Claude Code plugin

  • sideshow watch CLI: a continuous long-poll that streams each new user comment as one line (one line = one monitor notification), re-arming forever. Rides the shared server-side agentSeq cursor (exactly-once across watch / wait / piggyback) and falls back to resolving the most-recently-active session matching cwd.
  • Plugin package (plugin/): MCP server + skill + an always-on background monitor running sideshow watch. Validated with claude plugin validate.
  • Marketplace (.claude-plugin/marketplace.json): /plugin marketplace add modem-dev/sideshow then /plugin install sideshow@sideshow.

Plan and remaining release/smoke-test steps: docs/plans/claude-code-plugin.md.

Validation: npm test (65), typecheck, lint, format, and e2e (24, chromium + webkit) all green.

Note: the plugin's npx sideshow@latest watch only works once a release including watch is published to npm.

🤖 Generated with Claude Code

benvinegar and others added 3 commits June 12, 2026 20:46
...block
Every comment composer gains a second button: posting the comment also
puts an agent-ready block on the clipboard (snippet title + id + the
comment text), for handing feedback straight to a terminal agent that
is not watching the feedback channel. The comment still lands in the
thread, so an agent can also pick it up later through the normal
delivery path.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replaces the Send & copy composer button. The server now counts open
author=user feedback waits per session (with a short grace window so
re-armed polls don't flicker) and exposes agentListening on session
rows plus a session-listening feed event. The composer shows a
"listening" indicator when an agent has a wait open — a post is seen
immediately — and posting is a single Post button again. Each rendered
user comment instead carries a copy button that puts the agent-ready
paste block on the clipboard for agents not watching the channel.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The thread under each card (and the session thread) now shows whether
its newest user comment has actually reached the agent: "posted —
agent hasn't picked it up yet" until the delivery cursor passes it,
then a green "received by agent". The cursor (session.agentSeq) is the
proof of delivery — piggyback, waits, and the background watch all
advance it — and the server now broadcasts session-updated when it
moves, so receipts flip live in the viewer.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@benvinegar benvinegar changed the title (削除) feat(viewer): add a Send & copy button that posts and copies a paste block (削除ここまで) (追記) feat(viewer): make the feedback loop legible — listening indicator, read receipts, per-comment copy (追記ここまで) Jun 13, 2026
benvinegar and others added 3 commits June 13, 2026 09:45
The read receipt is now a single checkmark on the latest user comment —
faded grey until the delivery cursor reaches it, green once the agent
has collected it — instead of a text status line. The per-comment copy
button is hover-only on every viewport now (dropped the always-visible
override at narrow/touch widths).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
...ening
Shift the viewer's whole angle from "message the agent" to "leave a
comment": composers read "Leave a comment..." with a "Comment" button,
and the synchronous-delivery affordances are gone — no green delivery
checkmarks and no "くろまる listening" indicator. A comment is an annotation
the agent picks up through the feedback loop, not a live message.
Removes the server-side listener tracking (agentListening, the
session-listening event, the per-session wait counter and grace timer)
and the cursor-advance broadcasts that drove the receipts. The
per-comment copy button stays, reworded to "comment".
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A continuous long-poll that re-arms forever and prints each new user
comment as a single line — the foundation for a Claude Code background
monitor. Waits for the first publish when no session exists yet, and
backs off on transient errors instead of exiting.
After the first poll it carries no client cursor: reading with
author=user resumes from the session's server-side agent cursor and
advances it via markAgentSeen, so a comment is delivered exactly once
across watch, wait, and piggyback. Honoring a local cursor would
re-deliver anything a piggybacked write had already consumed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benvinegar benvinegar changed the title (削除) feat(viewer): make the feedback loop legible — listening indicator, read receipts, per-comment copy (削除ここまで) (追記) feat(viewer): reframe around leaving comments + per-comment copy; add sideshow watch (追記ここまで) Jun 14, 2026
Ship the remaining phases of the Claude Code plugin plan on top of
`sideshow watch`:
- Plugin package in `plugin/`: manifest with userConfig (sideshowUrl,
 apiToken), the sideshow MCP server, and a background monitor that runs
 `sideshow watch` to stream browser comments to the agent as
 notifications. A focused skill teaches the notification workflow.
 Validated with `claude plugin validate`.
- Repo-hosted marketplace at `.claude-plugin/marketplace.json` (plugin
 source `./plugin`). Install: `/plugin marketplace add modem-dev/sideshow`
 then `/plugin install sideshow@sideshow`.
- A "connect Claude Code" integrations modal in the viewer (sidebar
 footer + onboarding) with the install commands, what the monitor runs,
 and honest caveats (two commands not one-click; needs Claude Code
 >= 2.1.105). e2e covers it on chromium + webkit.
- `sideshow watch` now falls back to resolving the most recently active
 session matching cwd (via GET /api/sessions), so the monitor finds the
 right session even when its process tree doesn't share the local state
 file written by the agent's CLI calls.
README + CHANGELOG document the plugin; the plan file records all four
phases done and the remaining release/smoke-test steps.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benvinegar benvinegar changed the title (削除) feat(viewer): reframe around leaving comments + per-comment copy; add sideshow watch (削除ここまで) (追記) feat: Claude Code plugin (comment monitor) + viewer comment reframe (追記ここまで) Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /