Pr board
Curated library of Claude Code subagents and skills (23 agents, 20 skills) with an idempotent installer that symlinks into ~/.claude. Frontmatter-driven; spec-compliant with Anthropic and Gemini schemas.
npx -y skills add jamestexas/agents --skill pr-boardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when you ask "how are my PRs?", "did I address Mark's review?", "what's new on the PRs I opened?", or "anything waiting on me?" — the recurring authored-PR status question. Answers it lectio-first via memory_authored_activity (reviews/comments by OTHERS on PRs you authored, your own replies excluded), refreshes the gh source if it's stale, joins each PR to your local worktrees + notes, and prints a board of what needs you. Falls back to gh only for coverage gaps. Read-only; posts nothing.
SKILL.md
5.8 KB, as published. Nobody here has run it
pr-board — what's new on the PRs I authored
The recurring question this answers: "how are my PRs / did I address the
reviews?" — asked constantly during review cycles, and usually answered by
hand-rolling gh because nothing makes the better tool the default reach.
lectio already has the answer: memory_authored_activity is purpose-built for
"reviews and comments by other people on PRs I authored, since I last looked,
excluding my own replies." This skill makes that the default, keeps it
fresh, and adds the cross-source join (PR ↔ local worktree ↔ notes) that
only lectio can do.
Model: lectio is the substrate; this skill is the reach + freshness + presentation layer. lectio reports last-known state; the skill decides whether that's fresh enough and refreshes if not (the "derive current state" move). gh is the fallback for what lectio doesn't cover, never the first reach.
Arguments
--since <dur>— window for "new activity" (e.g.24h,3d). Default24h.--pr <ref>— focus one PR (42090orchainguard-dev/mono#42090); skips the board, deep-dives that PR's review thread + your reply status.--no-refresh— skip the freshness step (use lectio as-is; faster, possibly stale).
Phase 0 — Freshness (derive current state)
lectio's answer is only as current as its last gh sweep. Before reading,
make it fresh — this is now safe to run alongside the launchd sweep timer
(WAL + busy_timeout, lectio bead fa895f), so it won't error on a lock.
- Unless
--no-refresh:lectio sweep --source gh --if-stale 10m(also--source linear --if-stale 10mif the question touches Linear).--if-staleno-ops when gh swept within 10 min, sweeps otherwise — cheap to call every time. - Optional sanity read:
lectio status --jsonshows per-sourcelast_advanced_at— if gh is hours stale and the refresh didn't move it, the sweep service may be wedged (see lectio bead 0618a0); say so rather than silently reporting stale data.
If the
lectioMCP / CLI isn't available at all, skip to Phase 3 (pure gh fallback) and say up front that this is gh-only, no cross-source join.
Phase 1 — Ask lectio the authored-activity question
Call memory_authored_activity with since_nanos = now − --since
(default 24h). It resolves "mine" from your [identity] gh_logins (falls back
to gh.authors) — no need to pass authors. It returns, per PR you authored:
the PR (repo, number, title, state/merged), and the new items — reviews and
review-comments by people who aren't you, since the window — each with author,
path, preview, timestamp. Author attribution is present (lectio bead 380b79),
so "whose review" is answered without falling back to gh.
If it returns an empty/zero result, that's a real answer ("nothing new on your PRs since <t>") — report it, don't go hunting in gh to manufacture activity.
Phase 2 — Join each PR to your local context (lectio's edge)
For each PR with new activity, a quick memory_search "<number>" (and/or
memory_traverse on the PR URI) surfaces the cross-source threads lectio
uniquely holds: your local review worktree (fs://…/<repo>-pr-<n>-review),
notes files, the commits that touch the same files, prior turns where you
discussed it. This is the value over gh alone — gh knows the PR, the
filesystem knows your worktree, lectio has both joined on one graph.
For --pr <ref>: skip the board, deep-dive this one — full review timeline
(memory_get_timeline on the PR URI), each reviewer's comments, and crucially
whether you replied after their latest comment (compare your latest
authored item's timestamp vs the reviewer's). That's the literal
"did I address the review?" answer.
Phase 3 — Present the board
One scannable block, sorted by what needs you most (unanswered reviews first):
PR board — new since <window> (gh swept <freshness>)
chainguard-dev/mono#42090 — "title" — OPEN — ⚠ NEEDS REPLY
• Mark: 3 review comments (src/foo.rs, src/bar.rs) — 2h ago — you haven't replied since
• local: <worktree-path>/mono-pr-42090-review worktree, notes at <path>
chainguard-dev/mono#39311 — "title" — OPEN — ✓ replied
• Carol: 1 approval — 1d ago
…
2 PRs with new activity · 1 needs your reply
- What needs you: the short list where a reply or decision is pending — the actual point of the board.
- Attribution: name the reviewer (Mark, Carol) — it's in the data now.
- Cite URIs for claims drawn from lectio (per its epistemic contract), and flag any answer that's from stale data if Phase 0 couldn't refresh.
gh fallback (coverage gaps only): if a PR you know exists isn't in lectio's
result, it's likely outside configured gh coverage (memory_list_sources
shows the scopes). For that specific gap, gh pr view <ref> --json … — and
note it's a coverage gap worth adding to [[gh.repo]] or author_scoped, so
next time lectio has it.
Posture
Read-only. This skill answers a question; it never posts a reply, approves, or comments. When the board says "#42090 needs a reply," handing off to compose that reply is a separate, explicit step the user initiates.