Everything you need to actually review the change
Not another diff viewer with syntax highlighting. Descry decomposes a PR into the logical work it does, and stays with you while you work through it.
Flows instead of files
Descry groups every changed hunk into a named flow — a piece of the change with its own job — and orders its steps the way the code actually runs, not the order files happen to sort in.
- Each flow explains how it serves the PR's overall goal
- Pure plumbing (imports, DI wiring) is marked and gets out of your way
- Anything not worth a separate callout still shows up, just grouped
Give todos a due date
Adds a due date to a todo at creation time, the foundation the overdue flow builds on.
1. addTodo passes the due date down to the store
Adding a todo now threads an optional due date from the service straight into the store.
See the call chain, not just the files
A flow's "View Chain Diagram" button opens the real call graph behind it — who calls whom, in order. Hover a node for its file and what changed there; click it to jump straight into that function's own diff.
- Built from the actual code graph, not guessed from file names
- Every node is navigable, including nodes outside the current step
main()
The overdue command reads straight through to the store's own check.
Ask about the code you're looking at
A chat panel scoped to the exact line, step, or flow you've got open — grounded in your real codebase, not a generic summary of the diff text.
- Answers link back to the step or flow they reference
- Live-reviewed by your own coding agent when the walkthrough came from one
Yeah, you're right. new Date("banana") gives Invalid Date, and isOverdue() does dueDate < now — always false, so it silently never counts as overdue instead of erroring.
We should handle this, just not as part of this change. Want me to track it as a comment?
Diff, Split, Base, or PR — your call, per step
Toggle between an annotated diff, a side-by-side split, or the plain file as it stood on either branch. Your place in the step is kept across the switch.
A comment is always headed somewhere specific
What a comment is for depends on what you're reviewing. On someone else's PR, it's the real feedback you'll submit back to GitHub. On a walkthrough of changes you just had an agent make in your own working tree, it's an item the agent itself comes back and resolves — never a note left for some unspecified "whoever."
- Select the lines, pick Comment, write the suggestion
- Stays open and unresolved until it's actually acted on
Let your coding agent walk you through its own change
Descry ships an MCP server. Right after Claude Code or Codex finishes implementing a plan, it can submit a walkthrough of exactly what it changed — then stay live to answer your follow-up questions itself, with full context on the repo.
- Works on uncommitted changes, not just pushed branches
- No separate LLM key needed — it rides on your agent's own session
Listening for questions on this review…
Validate the date parsed out of --due= and reject or warn on an invalid one, instead of silently creating a todo that can never be flagged as overdue.