Skip to main content

BeneIssue

AI-Agentic issue automation for GitHub.

Drowning in GitHub issues? Install beneissue once, and it handles the rest automatically.

Who is this for?

  • Open source maintainers with 100+ issues piling up
  • Small teams who can't afford to manually label every issue
  • Solo developers who want typo fixes handled automatically

What changes after you install it?

Before After
Issue opened → check it days later Issue opened → instantly classified + labeled
Manually comment "need more info" Auto-asks specific follow-up questions
Fix simple bugs yourself Auto-eligible issues get auto-PR via Claude Code

How it works

BeneIssue Workflow

Three stages:

Stage What it does Model
Triage Classify issue → valid / invalid / duplicate / needs-info Haiku (fast, ~$0.02)
Analyze Find affected files, plan fix approach, check eligibility Claude Code
Fix Create branch, apply fix, open PR Claude Code

Install once, runs forever

1. Install the package

pip install beneissue

2. Set up GitHub repository

Secrets: Go to Settings → Secrets and variables → Actions → Secrets tab:

Secret Required Description
ANTHROPIC_API_KEY Yes Your Claude API key
LANGCHAIN_API_KEY No LangSmith for tracing

Variables: Go to Settings → Secrets and variables → Actions → Variables tab:

Variable Required Description
LANGCHAIN_PROJECT No LangSmith project name (default: beneissue)

Permissions: Go to Settings → Actions → General → Workflow permissions:

  • Enable "Allow GitHub Actions to create and approve pull requests"

3. Initialize in your repo

cd your-repo
beneissue init
git push

This creates:

your-repo/
├── .github/workflows/
│   └── beneissue-workflow.yml   # Triggers on issue events
└── .claude/skills/beneissue/
    ├── SKILL.md                 # Claude Code instructions
    └── beneissue-config.yml     # Your settings

That's it. From now on:

  1. New issue opened → automatically triaged and labeled
  2. Auto-eligible issues → Claude Code creates a PR
  3. Need manual control? → just comment on the issue

Control via issue comments

@beneissue triage    # Re-classify this issue
@beneissue analyze   # Run full analysis
@beneissue fix       # Attempt auto-fix now
@beneissue manual    # Mark as requiring manual intervention

No CLI needed. Just talk to the bot in the issue thread.

GitHub Actions triggers

Event Trigger Action
Issue opened/reopened Automatic Runs analyze (triage → analyze)
@beneissue triage Comment Re-classify the issue
@beneissue analyze Comment Run full analysis
@beneissue fix Comment Attempt auto-fix now
@beneissue run Comment Full pipeline: triage → analyze → fix
@beneissue manual Comment Mark as manual-required

Verify it's working

When issues get these labels automatically, you're set:

  • triage/valid — Valid issue, ready for work
  • fix/auto-eligible — Will be auto-fixed

Configuration

Edit .claude/skills/beneissue/beneissue-config.yml:

version: "1.0"

limits:
  daily:
    triage: 50   # ~$1/day
    analyze: 20  # ~$2-10/day
    fix: 5       # ~$5-25/day

team:
  - github_id: "your-github-id"
    available: true
    specialties: ["backend", "python"]

LangSmith (optional)

Enable LangSmith tracing to monitor and debug your workflows.

For GitHub Actions: Add to repository secrets/variables:

Type Name Description
Secret LANGCHAIN_API_KEY Your LangSmith API key
Variable LANGCHAIN_PROJECT Project name (default: beneissue)

For local development:

export LANGCHAIN_API_KEY=your-langsmith-api-key
export LANGCHAIN_PROJECT=your-project-name  # default: beneissue

When LANGCHAIN_API_KEY is set, LangSmith tracing is automatically enabled. Traces will appear in the specified project (or beneissue if not set).

Metrics Storage (optional)

Store workflow metrics in Supabase for dashboards and analytics:

1. Create a Supabase project at supabase.com

2. Run the SQL setup script:

-- Copy contents from scripts/sql/001_create_tables.sql
-- Run in Supabase SQL Editor

3. Set environment variables:

Variable Required Description
SUPABASE_URL Yes Your Supabase project URL
SUPABASE_SERVICE_KEY Yes Service role key (for write access)

Note: SUPABASE_SERVICE_ROLE_KEY is also supported (Vercel integration naming).

export SUPABASE_URL=https://your-project.supabase.co
export SUPABASE_SERVICE_KEY=your-service-role-key

When both variables are set, metrics are automatically recorded after each workflow run. Without these variables, beneissue works normally but skips metrics storage.

Labels

Label Meaning
triage/valid Valid issue, ready for analysis
triage/invalid Out of scope or spam
triage/duplicate Already reported
triage/needs-info Waiting for more details
fix/auto-eligible Passes checklist, will be auto-fixed
fix/manual-required Needs human review
fix/completed Auto-fix PR created

CLI (optional)

For manual runs or debugging:

Command Description
beneissue triage <repo> --issue <n> Classify issue only
beneissue analyze <repo> --issue <n> Analyze issue only (no triage, no fix)
beneissue fix <repo> --issue <n> Fix issue only (no triage, no analysis)
beneissue run <repo> --issue <n> Full workflow: triage → analyze → fix
beneissue init Initialize beneissue in current repo
beneissue labels Sync labels to repository
beneissue test Run policy tests

Add --dry-run to triage/analyze to skip GitHub actions.

Policy Testing

Validate your triage/analyze rules before deploying:

your-repo/.claude/skills/beneissue/tests/cases/
├── triage-valid-bug.json
├── triage-invalid-spam.json
└── analyze-auto-eligible-typo.json
beneissue test                    # Run all test cases
beneissue test --case spam        # Run specific case
beneissue test --dry-run          # Validate without AI calls

See examples/calculator for sample test cases.

License

Apache 2.0

Metadata

Release files for beneissue 2.0.18

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

Source distribution (sdist)

Source distribution for beneissue 2.0.18
File Size Uploaded
beneissue-2.0.18.tar.gz 40.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for beneissue 2.0.18
File Interpreter ABI Platform
beneissue-2.0.18-py3-none-any.whl Python 3 none any Details

Total release size: 96.3 kB

Release files / beneissue-2.0.18.tar.gz

Download URL beneissue-2.0.18.tar.gz
Size 40.4 kB
Tags Source
SHA-256 checksum
How to use checksums
652dfb1ecec685e4bf4c52bc1798449025cd0a17d49d4942294fcf30b975d00d
BLAKE2b-256 checksum
How to use checksums
7a4e13c25d8077b994805c9a44f3019dcdb0c266df97148c43cd79070ca69de0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.

Transparency log

Release files / beneissue-2.0.18-py3-none-any.whl

Download URL beneissue-2.0.18-py3-none-any.whl
Size 55.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a56bb96c964cc7c208d0497b21186db2d7d251166b7c8fb35185a4dd90bac186
BLAKE2b-256 checksum
How to use checksums
3743aedc6324891f124567d00b6fe2e4523cc4f1071f74f41ef339c55bc880ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.18 This release

2 release files

2.0.13

2 release files

2.0.12

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

2 release files

1.0.15

2 release files

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

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