Every popular repository has the same problem: new issues pile up faster than maintainers can read them, and many end up mislabeled or go unaddressed.
laya-triage is a GitHub Action that reads each new issue and labels it as a bug, feature request, question, or documentation problem. If a bug report is almost empty, it asks the author for the missing details. It runs a fine-tuned open-weight model inside your own GitHub Actions runner: no API key, no cost, and the issue text never leaves GitHub.
π Repo: https://github.com/elnachto/laya-triage
π Marketplace: https://github.com/marketplace/actions/laya-triage
π€ Models: https://huggingface.co/elnachto/laya-triage-en
Try it in one minute
Create .github/workflows/triage.yml:
name: Triage
on:
issues:
types: [opened]
permissions:
contents: read
issues: write
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: elnachto/laya-triage@v1
It starts in dry-run mode, so it prints decisions only in the workflow log. When you like what you see, set dry-run: "false". There are more ready-to-copy workflows in docs/examples/.
How it was built
- Fine-tuning: I fine-tuned the open Laya decision model on 1 million real issues from the NLBSE'23 benchmark, on my own GPU.
- My own dataset: I collected recent issues (2025β2026) from thousands of active repositories and kept only the labels a maintainer applied, not the ones added automatically by issue templates.
- Honest measurement: separate exams that were never used for tuning.
Results
- 88.8% accuracy on NLBSE'23, within the margin of the RoBERTa research baseline (89.1%).
- 79.8% on 10,026 recent issues from 288 active repositories, ahead of Jev (78.1%), a paid commercial API.
- It adapts to each repository: it reuses your existing label names (
type: bug,kind/featureβ¦) and learns how common each issue type is from the issues you labeled in the last year. - It never overrides a label you or your issue template already set.
How to jump in
Some good first issue tasks are still open, and none of them needs a GPU:
- Add a CI workflow for the template tests.
- Unit tests for the repository-adaptation logic.
- Translate the README to Spanish.
The most valuable contribution of all: install it in your repo and tell me when it gets a label wrong (thereβs an issue form for that). Those reports are the training data for the next model.
Please read the contributing guide and leave a comment on an issue prior to beginning. A big thank you to the first contributors who have already submitted pull requests! Happy Hacktoberfest π
Top comments (0)