
Switch between Merged, Checklist and Diff
A bar under each PR’s title picks how its findings show. A pick made in one view shows in the others.
Doc type
Review findings next to the code, one decision each.
A review page shows each finding under the lines it is about, in a diff the server reads from git. Each finding offers Fix in PR, Ticket or Decline with the agent’s pick starred; you choose, and send your answers back.
"type": "review"
Read findings next to their code. The Merged view shows each commented range of the diff with its finding right under it, in code order. Show more lines widens the excerpt.
What it’s for
Peer reviews, an agent’s own review and open PR threads all become findings with options to pick.
One section per PR: its findings, then the diff of the files they are about.
Your own review grouped by area or concern, diffed from the last release you reviewed.
A PR’s open review threads, brought in as findings with their diff comments.
An agent’s findings, each with the evidence it read and the fix it proposes.
Features

A bar under each PR’s title picks how its findings show. A pick made in one view shows in the others.

The Diff view shows the change file by file, each finding a card under its lines. A file with several counts them and steps between them.

In Checklist, a finding opens to its file, the lines around the comment and the card, with Open in Diff view to jump there.

Each finding has a size, from blocker to nit, and its options: Fix in PR, Ticket, Decline, or the real alternatives. The card and the checklist row stay in step.

Accept recommended takes every starred option; change the ones you disagree with. Send answers marks each pick that differs from the agent’s.

The summary lists every finding with its size and recommendation. Click one to scroll to it.

ghthreads.py turns a PR’s open review threads into findings, each with the reviewer’s point, the agent’s reasoning and the reply it would post.

Point at any line of the diff. The comment’s key names the diff, the file and the line, so the agent knows exactly where.
Works on every doc

Accept recommended picks every starred option in one go. Change the ones you disagree with afterwards.

Need more details marks a question and asks the agent what is missing before you pick.

New, changed and removed parts are marked in place, with words struck and added.
How the agent uses it
The agent writes each finding as a decision item, then gitdiff.py adds a diff block of the files they are about, one comment per finding. The doc stores only the repo and the commits; the server reads the diff from git.
python3 <skill>/scripts/build.py new review docs/reviews/pr-412.bluedoc.json --title "Review: #412"python3 <skill>/scripts/gitdiff.py --repo . --base 89efd8e --head 62ccc86 --id diff-412 --title "acme-shop #412" --paths src/pricing/tiers.ts --comments /tmp/c412.json --into docs/reviews/pr-412.bluedoc.json --section pr-412 --after-block 0python3 <skill>/scripts/build.py docs/reviews/pr-412.bluedoc.jsonpython3 <skill>/scripts/serve.py open docs/reviews/pr-412.bluedoc.json{ "id": "tier-boundary", "text": "`tierFor` gives no tier at exactly 10 or 50 units", "sub": "Recommend fix in PR: `>` drops both thresholds. One character.", "state": "blocker", "stateKind": "risk", "choices": [ { "id": "fix", "label": "Fix in PR" }, { "id": "ticket", "label": "Ticket" }, { "id": "decline", "label": "Decline" } ], "recommend": "fix"}{ "type": "diff", "id": "diff-412", "title": "acme-shop #412", "repo": "acme-shop", "base": "89efd8e", "head": "62ccc86", "paths": ["src/pricing/tiers.ts", "test/tiers.test.ts"], "comments": [ { "at": "src/pricing/tiers.ts:17", "item": "t412/tier-boundary" } ]}ghthreads.py --repo acme/acme-shop --pr 415 --checklist t415 turns a PR’s open review threads into findings and diff comments the same way.
Install
Each one installs the same skill from the GitHub repository.
claude plugin marketplace add andreiverdes/bluedocclaude plugin install bluedoc@bluedocInside a session the same commands are /plugin marketplace add andreiverdes/bluedoc and /plugin install bluedoc@bluedoc. Start a new session to load the skill.
codex plugin marketplace add andreiverdes/bluedoccodex plugin add bluedoc@bluedocRestart Codex. The skill is listed as bluedoc:bluedoc; mention it with $bluedoc or let Codex pick it from your request.
pi install git:github.com/andreiverdes/bluedocRestart pi. Run it as /skill:bluedoc or let pi pick it from your request.
omp plugin marketplace add andreiverdes/bluedocomp plugin install bluedoc@bluedocRun /reload-plugins in an open session, or start a new one.
npx skills add andreiverdes/bluedocFor any other agent that reads skills. Or clone the repository and link skills/bluedoc into your agent’s skills folder.
Needs: Python 3.9 or later on PATH · git, for code reviews · gh, only to import GitHub review threads.
Other doc types

Architecture pages, walkthroughs, runbooks, setup guides and change proposals.

A plan you approve or send back before the agent writes code.

UI screens on a pan-and-zoom board, and app icons.

Slide decks with speaker notes, played in Present.

A site’s pages on a board, live from its dev server.

Status pages, incident reports, inventories, meeting notes and comparisons.