Skip to main content

Issue Assistant

Issue Assistant is a deterministic GitHub issue triage engine designed for maintainers who want consistent, explainable signals without automation they can’t trust.

It analyzes GitHub issues and produces Markdown and JSON artifacts that help answer:

  • Is this issue actionable or missing critical information?
  • Does it appear to be a duplicate of existing work?
  • How much maintainer effort is likely required?
  • Why did the tool reach this conclusion?

All outputs are written to .issue-assistant/. Nothing is hidden, guessed, or implicit.


Why this exists

Maintainers spend a disproportionate amount of time triaging issues that are:

  • missing reproduction steps, logs, or environment details
  • duplicates that fragment discussion
  • unclear about expected vs actual behavior
  • noisy or low-signal

Issue Assistant provides a deterministic baseline for triage so humans can make faster, more consistent decisions without surrendering control.


Design principles

Issue Assistant is intentionally conservative:

  • Deterministic only — no LLMs, no probabilistic output
  • Explainable by construction — every outcome maps to rules and evidence
  • Governance-aware — safe defaults, no surprise side effects
  • Human-first — maintainers always make the final call

If a signal cannot be explained clearly, it does not exist.


Installation

Requires Python 3.10+.

pip install issue-assistant

Run locally

issue-assistant analyze \
  --github-token "$GITHUB_TOKEN" \
  --repo owner/name \
  --output-dir .issue-assistant \
  --governance-mode dry-run

This performs a full analysis and writes artifacts locally without modifying issues.


GitHub Action

Issue Assistant is available as a GitHub Action:

uses: siggmond/issue-assistant@v0.2.0

The Action is a thin wrapper around the CLI. You can use the CLI independently or rely entirely on the Action.

Typical triggers include:

  • issue opened / edited / reopened
  • scheduled runs (weekly digest)

Artifacts can be uploaded or committed depending on your workflow.


Governance modes

Mode Comments Label suggestions Intended use
dry-run never never analysis only; safest default
strict limited no request missing info, flag duplicates
aggressive yes yes (suggestions) higher throughput without auto-closing

Hard constraints:

  • issues are never auto-closed
  • fixes are never guessed
  • maintainer decisions are never overridden

Artifacts generated

A typical run produces:

  • ISSUE_SUMMARY.md / issues.json
  • MAINTAINER_LOAD.md / maintainer_load.json
  • EXPLAINABILITY.md / explainability.json
  • per-issue playbooks and explainability JSON

Example outputs are included under docs/screenshots/.


When not to use this tool

Issue Assistant is not a good fit if you want:

  • fully automated triage or auto-closing
  • subjective or sentiment-based analysis
  • invisible automation
  • zero repository artifacts

Philosophy

Explainability is a core invariant.

If the tool cannot explain why it produced an output, that output should not exist.

Metadata

Release files for issue-assistant 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for issue-assistant 0.2.2
File Size Uploaded
issue_assistant-0.2.2.tar.gz 43.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for issue-assistant 0.2.2
File Interpreter ABI Platform
issue_assistant-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 98.6 kB

Release files / issue_assistant-0.2.2.tar.gz

Download URL issue_assistant-0.2.2.tar.gz
Size 43.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b20326c50bd0788e4d608fc512558956cf13492e2bd4aa883f10fa424575c105
BLAKE2b-256 checksum
How to use checksums
5592db265bab3f6eea90861f19311e9a589441c2f598290e6ec390d75e03bed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release files / issue_assistant-0.2.2-py3-none-any.whl

Download URL issue_assistant-0.2.2-py3-none-any.whl
Size 55.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2054e2cc79c36df8da79d7a8d0d533301b8faa412d17857d6592e7590f0aa39
BLAKE2b-256 checksum
How to use checksums
f1d5ae34fc7d67b4066b5228fad8edc021c715462a55b5dc97518234822d331c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page