About the Arena
How It Works
Every Friday at 17:00 UTC, a GitHub Action automatically rebuilds a fresh pool of 250 active open-source repositories and pulls new issues from them. Issues are labeled as Good First Issues, Bugs, or Hard Issues. The number of issues pulled per category grows with the Arena Level, so collective progress unlocks more weekly issues for everyone.
Every hour, another action checks whether any listed issues have been closed by a pull request. If your PR closes an Arena issue and you have joined the arena, you automatically earn points — which feed both your personal rank and the shared Arena Level.
Contributions are detected via GitHub's public metadata, but the arena only ever looks at people who asked it to. See Joining the arena.
Joining the Arena
The arena is opt-in. Until you submit the join form, nothing about you enters it: your pull requests are ignored, your username never appears on the leaderboard or in the statistics, and no Discussion ever mentions you. There is no account and no password — the form is the sign-up, and a bot closes it as soon as your choices are stored.
The form asks for two separate permissions:
- • Public leaderboard — required. Your username, points and rank become part of the public standings.
- • Personal update discussion — optional. When your first qualifying PR is spotted, the bot opens one Discussion thread that mentions you and posts every later merge, rank-up and status change there. Leave it unchecked to earn points with zero mentions and zero notifications.
Nothing happens the moment you join. The arena starts reacting to you the first time you open a pull request that closes an arena issue — that is when the welcome thread appears, if you asked for one.
Changed your mind? Submit the join form again to update your choices, or leave the arena to have your username, points, history and Discussion thread deleted. Your pull requests are untouched either way — they live upstream and stay merged.
Your first PR, in 5 steps
- Join the arena once. Nothing you do counts until you have.
- Fork the repo on GitHub and clone your fork locally. Create a branch off
main. - Implement your fix. Read the issue thread first — many maintainers share hints or constraints in the comments.
- Open a pull request back to the original repo. Include
Closes #N(orFixes #N/Resolves #N) in the description so the issue auto-closes when the PR merges. The arena detects the PR within ~1 hour and, if you asked for a discussion thread, opens your welcome thread — future status updates (merges, points, rank-ups) are posted there as comments. - Wait for review. When your first PR merges, the arena credits points automatically and unlocks your Arena Card — a badge you can embed in your GitHub profile README.
Rules
- • You have 7 days from when an issue is listed to open a PR
- • Issues with a PR are tracked for up to 28 weeks to allow maintainer review time
- • Issues with no PR after 7 days are dropped from tracking
- • Your PR must reference the issue via a closing keyword (
fixes #N,closes #N,resolves #N) or be linked through GitHub's sidebar - • If multiple PRs reference the same issue, only the one that closes it earns points
- • Only contributors who joined the arena are tracked or credited
- • An issue claimed by a PR shows as PR Proposed whether or not its author is in the arena, so nobody duplicates work
I found this issue through Weekly Issue Arena, a gamified hub that publishes open-source issues weekly. Completely optional — your contribution speaks for itself either way. Point System
Player Ranks
Arena Level
Every point earned by every contributor adds to a shared pool. When the pool crosses a threshold, the arena levels up and the weekly issue quota grows by +1 issue per category. The arena starts at Level 0 with up to 44 issues per week and reaches Level 10 at up to 74 issues per week. Actual counts may be lower if not enough matching issues are found across the tracked repos.
The current state is shown live on the home page and as a static SVG bar in the README. Level-ups are announced in the Arena Milestones discussion.
| Level | Threshold | GFI | Bug | Hard | Total |
|---|---|---|---|---|---|
| 0 | 0 pts | 20 | 14 | 10 | 44 |
| 1 | 25 pts | 21 | 15 | 11 | 47 |
| 2 | 75 pts | 22 | 16 | 12 | 50 |
| 3 | 150 pts | 23 | 17 | 13 | 53 |
| 4 | 275 pts | 24 | 18 | 14 | 56 |
| 5 | 450 pts | 25 | 19 | 15 | 59 |
| 6 | 700 pts | 26 | 20 | 16 | 62 |
| 7 | 1050 pts | 27 | 21 | 17 | 65 |
| 8 | 1500 pts | 28 | 22 | 18 | 68 |
| 9 | 2100 pts | 29 | 23 | 19 | 71 |
| 10 | 3000 pts | 30 | 24 | 20 | 74 |
FAQ
My PR was merged but I didn't get points.
First, check that you have
joined the arena —
PRs from people who have not joined are not tracked, and joining does not apply
retroactively to a PR that already merged. Second, make sure your PR references the
issue — either via a closing keyword
(fixes #N, closes #N,
resolves #N) in the PR body, or by linking the issue
through GitHub's sidebar. If both are true, open a thread in
Discussions.
Can I request a specific repo to be added?
The pool is rebuilt automatically each week from the GitHub Search API, so any actively
maintained repo with good first issue or
help wanted labels is likely to appear on its own.
For a guaranteed spot, edit
config/anchor_repos.yml
and open a PR.
What is the Arena Level and how does it grow?
Every point earned by every contributor adds to a shared pool. When the pool crosses a threshold, the arena levels up and the weekly issue quota grows by one issue per category — so each level unlocks more opportunities for everyone. See the Arena Level section above for the full level table.
What if I contributed without knowing about the Arena?
Then nothing happened, by design. The arena does not track, name or notify anyone who has not opted in — it will not appear in your notifications uninvited. If you like the idea, join and your next PR will count. Past PRs are not credited retroactively.
How do I stop the notifications, or leave entirely?
Every arena Discussion has an Unsubscribe button in its sidebar — that alone stops the notifications while keeping your points. To turn the thread off for good, submit the join form again with the discussion box unchecked and the thread is deleted. To remove yourself completely, use Leave the Arena: your entry, points, history and thread are all erased.
How is this automated?
Via GitHub Actions + GitHub REST API. See .github/workflows/ for the full scripts.
Tracked Repos
Each week the Arena rebuilds a pool of 250 repositories: 50 hand-curated anchors covering ML, AI, satellite, data science and dev tools, plus ~200 freshly discovered repos that match active issue signals.