⊳
Your agent already knows Peekable
Installing the CLI installs the skill for Claude Code and Codex. Type /peekable and your agent knows what it's showing, how to share it, and how to pull the feedback into its next loop. No orchestration code, no prompt engineering.
> /peekable · that's the whole integration
↻
Localhost relay
Run peekable proxy <port> and your local dev server gets a public URL routed through Peekable. No deploy, no SSH gymnastics — just send the link.
$ peekable proxy 3000
⌖
Element-level annotations
Reviewers click any element on the page and leave a note. Comments stick to selectors, not pixels.
3 unresolved
⎘
Versioned pushes
Every peekable push bumps a version. Reviewers always see the latest, and feedback is pinned to the version it was left on.
push #1 → push #2 → push #3
⚑
Resolve & ship
Mark comments resolved from the CLI, then push the next version. The loop closes where you live — the terminal — not in another tab.
$ peekable resolve cmt_8x2k4p
⋮
Rich element context
Each comment carries selector, DOM path, element text, computed styles, bounding box, route, push version, and reviewer name.
selector · dom path · text
bbox · route · version
⧉
Watch mode
Tail new comments as they come in, while your agent is still working. Pipe them straight into the next prompt.
$ peekable feedback 8jYX99tcWr --watch
⌘
Agent-friendly CLI
Predictable flags, stable JSON output, no interactive prompts unless you ask. Works with Claude Code, Cursor, Codex, and anything that can shell out.
$ peekable feedback --json | jq
◉
Password-gated shares
Set a view secret on any session and reviewers unlock once. Rotate the secret and every existing viewer is kicked out instantly. No restart, no revoke queue.
view secret · rotatable
◈
Safe by default
Point push-url at anything. It won't touch localhost, RFC1918 addresses, or cloud metadata endpoints unless you explicitly opt in. Redirects re-validate. Bodies get size-capped.
$ peekable push-url https://…
⚈
Live multi-viewer
Two reviewers open the same share and see each other's pins land in real time over a websocket. No refresh. No "did you see my comment yet?"
2 viewers · live · pins fan out
▶
Video review
Push a rendered video with its manifest. Notes pin to a layer at a moment — and thread across re-renders, because layer IDs stay stable from cut to cut.
logo-lockup · 0:07 · v2