Skip to content

feat: add issues-review tooling (script + agent + command)#210

Merged
EVWorth merged 2 commits into
mainfrom
feat/issues-review-tooling
Jul 19, 2026
Merged

feat: add issues-review tooling (script + agent + command)#210
EVWorth merged 2 commits into
mainfrom
feat/issues-review-tooling

Conversation

@EVWorth

@EVWorth EVWorth commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds deterministic issue-triage tooling mirroring the doc-keeper pattern:

  • scripts/issues-review.sh — pulls open issues + linked PRs into .opencode/cache/issues-review.json (TTL 1h). Pure bash + gh + jq.
  • .opencode/agent/issue-reviewer.md — read-only triage agent. Greps codebase for grounded relevant files, synthesizes per-issue type/severity/area/effort.
  • .opencode/command/reviewissues.md/reviewissues slash command wrapper.
  • .gitignore — excludes .opencode/cache/ (runtime artifact).

Cognee memory optional, silently skipped if MCP unavailable.

Usage

bash scripts/issues-review.sh             # refresh cache, print path
bash scripts/issues-review.sh --stats     # summary only
bash scripts/issues-review.sh --fresh     # force refresh
/reviewissues                              # full triage via agent
/reviewissues 175                          # deep-dive one issue

Verified

$ bash scripts/issues-review.sh --stats
Open issues: 2
By label: {"bug":2,"enhancement":1}
Linked to open PR: 0
Oldest issue age: 24 days

Commits

  1. feat: add issues-review tooling (4 files, +380)
  2. chore: dprint fmt README + cargo audit plan (2 files, whitespace fixes)

The dprint chore is bundled because pre-existing dprint drift on main blocked the pre-commit hook. Trivial fixes (1-char table padding in README, missing trailing newline in plan file). Could be split into a separate PR if preferred.

Cache schema

{
  "repo": "owner/name",
  "generated_at": "2026-07-19T12:34:56Z",
  "open_issues": [{number, title, body, labels, author, createdAt, updatedAt, comment_count}, ...],
  "open_prs": [{number, title, body, headRefName, author, createdAt}, ...],
  "linked_prs": [{pr, title, refs: [issue_numbers]}, ...],
  "summary": {open_count, by_label, oldest_age_days, linked_to_open_pr}
}

Review checklist

  • Script pre-flight (gh + jq + auth check) sufficient?
  • Cache TTL (1h) reasonable? Override path works?
  • Agent read-only (edit: deny) correct?
  • Cognee skip-on-failure contract honored?
  • /reviewissues slash command follows doc-keeper convention?

Related

  • .opencode/AGENTS.md — dispatch patterns (would benefit from a roster entry for issue-reviewer, but not in this PR to keep scope tight)
  • .opencode/command/doc-keeper.md — pattern mirrored
  • /review-prs — companion for PR triage

Generated with opencode

EVWorth added 2 commits July 19, 2026 11:41
Deterministic data-pull script + read-only triage agent + /reviewissues slash command. Caches open issues + linked PRs to .opencode/cache/issues-review.json (TTL 1h). Agent greps codebase for grounded relevant files, synthesizes per-issue type/severity/area/effort. Cognee memory optional, silently skipped if unavailable.

Mirrors doc-keeper pattern (script + agent + command). Verified locally: 2 open issues, 0 linked PRs, ages correctly computed.
@EVWorth
EVWorth merged commit 01d036e into main Jul 19, 2026
11 checks passed
@EVWorth
EVWorth deleted the feat/issues-review-tooling branch July 19, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant