OPENSKILL
A live implementation of the Weng–Lin rating models. Build a match, set the result, and watch the posterior move.
Ported from openskill.py and checked on every build against reference vectors generated by the Python package itself. Any divergence above 1e-6 fails the build — the check and generator are both in the repo, as scripts/verify-openskill.mjs and scripts/gen-openskill-reference.py.
112,347
PyPI downloads / month
35,309
npm downloads / month (JS port)
11
academic citations
367
GitHub stars
Ported independently to 7 languages: TypeScript, Luau, Go, Kotlin, Elixir, Java, C#. Figures fetched when the site was last built.
What grew around it
Ports (7)
Citations (11)
- Generals.io — arXiv 2026
- CalBench — arXiv 2026
- CivBench — arXiv 2026
- Covenant-72B — arXiv 2026
- AMSES — AMSES 2025
- DAI — DAI 2025
- IEEE ToG — IEEE ToG 2025
- WACV — WACV 2024
- Evalica — COLING 2024
- SIGGRAPH Asia — SIGGRAPH Asia 2024
- JRSS-C — JRSS-C 2023
Dependents (2)
- Ray / RLlib — pinned openskill==6.0.0
- Neural MMO — rating layer
Model
The default. Handles many teams at once by modelling the whole finishing order, rather than decomposing it into pairs.
Match
Team 1
P1 ordinal 0.00
Team 2
P2 ordinal 0.00
Predicted outcome
Team 1
50.0%
Team 2
50.0%