Build a useful GitHub issue review

Turn a bounded set of repository issues into a source-linked review with suggested next steps.

Example run includedBlueprintRead the worked example and results

The useful result

A review identifying recurring symptoms, actionable reports, missing reproduction information, and suggested follow-up.

Before you begin

  • The exact repository and review time window
  • An authorized GitHub connection with sufficient read permissions
  • A clear distinction between reviewing and modifying issues

How to approach it

  1. 1

    Confirm identity and scope

    Name the repository, account, time window, filters, and maximum issue count. Record pagination limits so an incomplete result is visible.

  2. 2

    Retrieve before interpreting

    Collect issue titles, bodies, dates, labels, and relevant discussion where accessible. Preserve issue URLs as evidence.

  3. 3

    Group by symptom, not only keywords

    Several reports can describe one failure in different language. Keep grouping tentative when versions or reproduction steps differ.

  4. 4

    Write practical next actions

    Suggest a reproduction request, a documentation clarification, or an investigation. Separate suggestions from confirmed root causes.

  5. 5

    Recheck before acting

    If later authorized to comment or update labels, refresh the issue first to avoid responding to something already resolved.

A prompt to adapt

An original starter prompt. Replace the brackets and run a bounded trial first.

Review up to [number] issues in [owner/repository] from [date range]. Group similar symptoms, link all supporting issues, and distinguish confirmed facts from hypotheses. Suggest next actions. State access and pagination gaps. Do not comment, close, relabel, or modify anything.

When it doesn’t work

A closed issue does not prove that a fix is available in the user's installed release. Trace the resolution to its actual version before advising an update.

Check the result

Can a maintainer trace every conclusion to an issue and understand the retrieval limits?

A source-informed approach, not a certified recipe

Consult the linked official documentation for the exact commands and integrations in your version.

Example run includedExample run. What we did: ran the starter prompt once on saved sample inputs and published the files so you can compare.

Review an incomplete issue export without inventing a shared cause

Group plausible symptom duplicates, separate different platforms, retain missing reproduction evidence, and disclose pagination gaps.

Date2026-10-19
ScopeReal Hermes review of a synthetic five-record issue export; accepted grouping inferred from bodies without supplying issue IDs to group.
EnvironmentWindows; Hermes Agent v0.22.2 (2026.9.24), stable, local d923a5eb487a; Python 3.14.7. Observed model gpt-5.6-luna through the existing openai-codex provider. Safe mode; file tools only.

The concrete task

A maintainer has five retrieved records from a fictional repository, but the export says seven records matched and page two is missing. Two Linux reports overlap, a Windows report has different platform evidence, another report lacks basic context, and one record is a pull request rather than a user issue.

Observed results

  • Related Linux reports grouped tentatively from body evidence.
  • Windows and insufficient-context reports kept separate.
  • Four retrieved issues covered once; the pull request excluded.
  • Missing page two and incomplete collection retained; no repository writes claimed.

What this example does not show

  • Synthetic repository export; no GitHub authentication or live API retrieval tested.
  • Candidate groups are hypotheses, not reproduced defects or confirmed common causes.
  • One accepted unhinted local trial; no cross-repository accuracy claim.
Technical details: how it ran, timing and files

1. Preserve repository identity and collection completeness

The input identifies demo/field-notes, the review window, retrieved and total counts, and missing page two. Every record retains its kind and source URL. These are synthetic records with deliberate .invalid links; their symptoms do not establish real bugs in a current Hermes release.

A live collector should retain its actual pagination state alongside the records. A polished summary cannot recover issues that were never retrieved. Here the accepted result explicitly says complete is false and retains the missing page, so the review cannot be mistaken for an exhaustive repository audit.

2. Ask for symptoms and evidence, not confident diagnoses

The accepted prompt asks Hermes to infer candidate groups from the bodies and platform/version context. It does not tell the model which issue numbers belong together. Each group must include its issue IDs, source URLs, missing evidence and a concrete next diagnostic action. A possible_duplicate relationship remains tentative.

An earlier contract-driven trial supplied the intended grouping; the retained accepted result comes from a fresh trial with that hint removed. This tests the narrow grouping decision on these records. It does not establish reliable deduplication for arbitrary repositories, languages or incident types.

3. Inspect the groups against the original reports

The output places 101 and 102 together as possible_duplicate because both describe Linux startup after a reboot and overlap around process detection. It asks for logs, timelines, process/PID information and service setup before treating the two reports as one cause. Windows issue 103 remains separate.

Issue 104 also remains separate. Its report is too vague to support a diagnosis, so the next action requests the operating system, version, reproduction steps, timestamps and affected component. This is more useful than inventing a fix from a generic title. Read the accepted output below to inspect those actual questions.

4. Keep pull requests and issue outcomes distinct

Record 105 is excluded from the issue groups because it is a pull request. The output does not treat the proposed change as merged or released. All four retrieved user issues appear once, and every group preserves the same source URLs as its input records.

GitHub documents that issue endpoints can include pull requests. The fixture uses an explicit kind field to make that distinction visible; a real adapter must inspect the corresponding upstream fields. Repository access, issue retrieval and remote state were not tested by this local synthesis trial.

How to reproduce and extend the exercise

Download sources.json, the accepted result, prompt and receipt. Run the prompt in a separate folder with the bounded file-only invocation in REPRODUCE.md. Compare the candidate group membership, missing-evidence questions and completeness flag against the fixture. Source hashes should remain unchanged.

For a live review, first obtain an authorized read-only connection, bound the repository and time window, and retain collection failures. Suggested comments or label changes should remain proposals until that separate operation is authorized. This example performed no repository writes.

Inspect and reproduce

The source fixtures, original model outputs, prompts and execution receipts are below. Use a separate folder and your existing Hermes setup. Replace <trial-folder> in prompts with that folder. A local test run is not evidence of unattended production reliability.

Read the accepted output here
{
  "repository": "demo/field-notes",
  "complete": false,
  "missingPages": [2],
  "repositoryActionsTaken": [],
  "excludedPullRequestIds": [105],
  "groups": [
    {
      "issueIds": [101, 102],
      "relationship": "possible_duplicate",
      "sourceUrls": [
        "https://example.invalid/demo/field-notes/issues/101",
        "https://example.invalid/demo/field-notes/issues/102"
      ],
      "missingEvidence": [
        "Gateway and service startup logs from the same reboot",
        "Exact reboot and restart timeline",
        "Process/PID details showing whether a stale PID file or process check caused the false already-running state",
        "Service configuration and startup mechanism"
      ],
      "nextAction": "Ask whether both reports reproduce on the same Linux distribution and service setup; collect logs, the exact reboot-to-failure steps, PID/process listings, and service configuration to test whether the gateway failure and stale-process detection share a cause."
    },
    {
      "issueIds": [103],
      "relationship": "standalone",
      "sourceUrls": [
        "https://example.invalid/demo/field-notes/issues/103"
      ],
      "missingEvidence": [
        "Reproduction steps",
        "Application and connection logs",
        "Windows version and architecture",
        "Whether the issue occurs after install, launch, sleep/resume, or a service restart",
        "Connection target and network context"
      ],
      "nextAction": "Ask for exact Windows version, reproduction steps, logs, connection target, and whether restarting the app or network changes the Connecting state."
    },
    {
      "issueIds": [104],
      "relationship": "standalone",
      "sourceUrls": [
        "https://example.invalid/demo/field-notes/issues/104"
      ],
      "missingEvidence": [
        "Operating system",
        "Application and agent version",
        "Reproduction steps and frequency",
        "Logs and timestamps",
        "What stops and whether it can be restarted"
      ],
      "nextAction": "Ask for OS, version, exact component that stops, reproduction steps and frequency, timestamps, logs, and whether manual restart restores operation."
    }
  ]
}

GitHub REST issue and pull-request distinction (opens in a new tab) Official Hermes CLI reference (opens in a new tab)

Related community reports

A business added a Hermes IT-support agent that now solves 90% of issues on its own@ThomasBekkers · Business operations · Jul 15, 2026A Hermes project-manager agent orchestrates his fleet of coding and image-generation agents@MichaelGannotti · Development · Jul 22, 2026A 17-person startup gives every team its own Hermes profile, from code to BizOps@JacquelineSYC19 · Teams & enterprise · Sep 16, 2026Route manager at a 400-pools-a-week service company has Hermes flag bad tech reports liveu/andrewtcombs · Business operations · Jun 14, 2026A 50-developer team uses Hermes for code review, incident notes and ticket triageu/how_gauche · Teams & enterprise · Aug 4, 2026

Want Hermes set up for you?

Setup help, custom agent builds and one-off projects. Tell us what you need and get a quote by email.