AI-powered GitHub issue automation framework
Project description
beneissue
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 |
Install once, runs forever
1. Install the package
pip install beneissue
2. Set up GitHub repository secrets
Go to your repo → Settings → Secrets and variables → Actions, and add:
| Secret | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
Yes | Your Claude API key |
LANGCHAIN_API_KEY |
No | LangSmith for tracing |
3. Initialize in your repo
cd your-repo
beneissue init
git add .github/ .claude/
git commit -m "Add beneissue automation"
git push
That's it. From now on:
- New issue opened → automatically triaged and labeled
- Auto-eligible issues → Claude Code creates a PR
- 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
No CLI needed. Just talk to the bot in the issue thread.
How it works
Issue opened
↓
[Triage] → valid / invalid / duplicate / needs-info
↓
[Analyze] → affected files, fix approach, checklist
↓
[Fix] → auto-eligible? → Claude Code creates PR
Verify it's working
When issues get these labels automatically, you're set:
triage/valid— Valid issue, ready for workfix/auto-eligible— Will be auto-fixed
Configuration
Edit .claude/skills/beneissue/beneissue-config.yml:
version: "1.0"
models:
triage: claude-haiku-4-5 # Fast, cheap (~$0.02/call)
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"]
observability:
langsmith:
enabled: true
project: "beneissue"
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.
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beneissue-0.2.1.tar.gz.
File metadata
- Download URL: beneissue-0.2.1.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
058255b0c1572478fd5f7f7d32aa253851f44afabd3221b8d46afb29d9693dd5
|
|
| MD5 |
b41700fbb00410e9c330e279a36ba20c
|
|
| BLAKE2b-256 |
b076334c486b2fa357eff6ca4300261acb2422a9c707e0a1f0bfe9c84544f308
|
Provenance
The following attestation bundles were made for beneissue-0.2.1.tar.gz:
Publisher:
publish.yml on opendataloader-project/beneissue
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beneissue-0.2.1.tar.gz -
Subject digest:
058255b0c1572478fd5f7f7d32aa253851f44afabd3221b8d46afb29d9693dd5 - Sigstore transparency entry: 779348524
- Sigstore integration time:
-
Permalink:
opendataloader-project/beneissue@51de0dd5fef46edd095416e140f469c8b4a1a8df -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/opendataloader-project
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@51de0dd5fef46edd095416e140f469c8b4a1a8df -
Trigger Event:
push
-
Statement type:
File details
Details for the file beneissue-0.2.1-py3-none-any.whl.
File metadata
- Download URL: beneissue-0.2.1-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e1d7fe1705e389fccce787c3ee277bcce2a906e5a804ff4dcf157aa6a54d2e
|
|
| MD5 |
0e4bfeb412d5faa04d746519aafbc45b
|
|
| BLAKE2b-256 |
72c36542afa2cdcf64b7b60593e727c750787ec85f02436468f2115709dd90a6
|
Provenance
The following attestation bundles were made for beneissue-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on opendataloader-project/beneissue
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beneissue-0.2.1-py3-none-any.whl -
Subject digest:
72e1d7fe1705e389fccce787c3ee277bcce2a906e5a804ff4dcf157aa6a54d2e - Sigstore transparency entry: 779348526
- Sigstore integration time:
-
Permalink:
opendataloader-project/beneissue@51de0dd5fef46edd095416e140f469c8b4a1a8df -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/opendataloader-project
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@51de0dd5fef46edd095416e140f469c8b4a1a8df -
Trigger Event:
push
-
Statement type: