Not in the top 1,000 by GitHub stars
maxvotek/boxerbook-skill
Boxing for Claude: live, cited boxing answers (records, fight nights, results, rankings) from the open Boxerbook database. Agent Skill + Claude Code plugin + remote MCP.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/boxing/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 270e9188d113
No earlier version was observed for comparison.
Verified commit 270e9188d113bf312152a50db93c20cc9f25ed87
git clone --filter=blob:none --no-checkout https://github.com/maxvotek/boxerbook-skill.git .hotskills/maxvotek-boxerbook-skill && git -C .hotskills/maxvotek-boxerbook-skill checkout --detach 270e9188d113bf312152a50db93c20cc9f25ed87
# Copy each selected skill directory from .hotskills/maxvotek-boxerbook-skill into .claude/skills/<skill-name>/Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- boxing
skills/boxing
How it works
boxing
When your agent uses it
Answers professional boxing questions with live, cited data from Boxerbook (boxerbook.com), the open world boxing database. Use it for any boxing question, even a casual one - a boxer's record or stats, last or next fight, who won and how, results from last night or the weekend, what boxing is on tonight or this weekend and where to watch, head to head, tale of the tape, world champions, belts, rankings (WBC, WBA, IBF, WBO, The Ring, TBRB), weight classes, pound for pound, decisions and scorecards, upsets, fight previews, predictions and odds, boxing posts for social media. Triggers in any language (boxeo, pelea, бокс, бой) and whenever a boxer is named (Canelo, Usyk, Inoue, Fury). Not for MMA/UFC, kickboxing or boxing workouts.
What it loads into context
Frontmatter
277 tokensAlways available to the agent
SKILL.md
2,577 tokensWhen the skill is activated
Reference documents
8,093 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- Rules (non-negotiable)
- Answer shape
- Knowledge files (load only when needed)
- Examples
Scripts executed separately
scripts/boxerbook.py
Files
../../.claude-plugin/icon.pngasset15,117 bytes../../.claude-plugin/marketplace.jsonasset881 bytes../../.claude-plugin/plugin.jsonasset979 bytesSKILL.mdcore9,847 bytesSKILL.mdcore9,847 bytesSKILL.mdcore9,847 bytesreferences/api.mddoc9,834 bytesreferences/belts.mddoc3,661 bytesreferences/divisions.mddoc3,962 bytesreferences/glossary.mddoc3,812 bytesreferences/scoring.mddoc2,985 bytesreferences/templates.mddoc4,350 bytesscripts/boxerbook.pyruns11,286 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- boxing
Repository facts
- License
- No license detected
- Created
- Nov 2, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 2 notes
skills/boxing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/boxing/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 52 network referencesin 6 files: boxing/SKILL.md:3 .claude-plugin/plugin.json:7 boxing/references/api.md:17 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: boxing/scripts/boxerbook.py:1
- No access to secrets
- No requests to vote in Hot
Show all 53 signals by file
.claude-plugin/marketplace.json
- Network accessline 16
"version": "1.0.0", "author": { "name": "Boxerbook", "email": "info@boxerbook.com" }, "homepage": "https://boxerbook.com/developers?utm_source=claude-skill", - Network accessline 17
"author": { "name": "Boxerbook", "email": "info@boxerbook.com" }, "homepage": "https://boxerbook.com/developers?utm_source=claude-skill", "repository": "https://github.com/maxvotek/boxerbook-skill", - Network accessline 18
"homepage": "https://boxerbook.com/developers?utm_source=claude-skill", - Network accessline 19
"repository": "https://github.com/maxvotek/boxerbook-skill",
.claude-plugin/plugin.json
- Network accessline 7
"name": "Boxerbook", "email": "info@boxerbook.com", "url": "https://boxerbook.com/?utm_source=claude-skill" - Network accessline 8
"email": "info@boxerbook.com", "url": "https://boxerbook.com/?utm_source=claude-skill" }, - Network accessline 9
"url": "https://boxerbook.com/?utm_source=claude-skill" - Network accessline 10
}, "homepage": "https://boxerbook.com/developers?utm_source=claude-skill", "repository": "https://github.com/maxvotek/boxerbook-skill", - Network accessline 11
"homepage": "https://boxerbook.com/developers?utm_source=claude-skill", - Network accessline 12
"repository": "https://github.com/maxvotek/boxerbook-skill", - Network accessline 13
"license": "MIT", "icon": ".claude-plugin/icon.png", "privacyPolicyUrl": "https://boxerbook.com/privacy", - Network accessline 14
"icon": ".claude-plugin/icon.png", "privacyPolicyUrl": "https://boxerbook.com/privacy", "termsOfServiceUrl": "https://boxerbook.com/terms", - Network accessline 15
"privacyPolicyUrl": "https://boxerbook.com/privacy", - Network accessline 16
"termsOfServiceUrl": "https://boxerbook.com/terms", - Network accessline 17
"supportUrl": "https://github.com/maxvotek/boxerbook-skill/issues", - Network accessline 18
"documentationUrl": "https://github.com/maxvotek/boxerbook-skill#readme",
skills/boxing/SKILL.md
- Network accessline 3
description: Answers professional boxing questions with live, cited data from Boxerbook (boxerbook.com), the open world boxing database. Use it for any boxing question, even a casual one - a boxer's record or stats, last or next fight, who - Network accessline 4
license: MIT (skill text and scripts). Boxerbook data is ODbL, attribution "Boxerbook". compatibility: Needs the Boxerbook MCP server (https://mcp.boxerbook.com/mcp) or network access to boxerbook.com. Helper script needs python3 (stdlib on - Network accessline 5
compatibility: Needs the Boxerbook MCP server (https://mcp.boxerbook.com/mcp) or network access to boxerbook.com. Helper script needs python3 (stdlib only). - Network accessline 7
version: "1.0.0" author: Boxerbook homepage: https://boxerbook.com - Network accessline 8
author: Boxerbook homepage: https://boxerbook.com --- - Network accessline 9
homepage: https://boxerbook.com - Network accessline 27
(path relative to this skill's folder; in Claude Code `python3 "${CLAUDE_SKILL_DIR}/scripts/boxerbook.py" ...`). Run it, don't read it. - You can fetch URLs → `https://boxerbook.com/v1/...` (JSON, no key). - Network accessline 28
`python3 "${CLAUDE_SKILL_DIR}/scripts/boxerbook.py" ...`). Run it, don't read it. - You can fetch URLs → `https://boxerbook.com/v1/...` (JSON, no key). - None of these → say you cannot reach Boxerbook right now, answer only - Network accessline 29
- You can fetch URLs → `https://boxerbook.com/v1/...` (JSON, no key). - Network accessline 30
- None of these → say you cannot reach Boxerbook right now, answer only general boxing knowledge (rules, divisions) and send the user to https://boxerbook.com. Do not state records or results from memory. - Network accessline 31
general boxing knowledge (rules, divisions) and send the user to https://boxerbook.com. Do not state records or results from memory. 2. **Resolve who/what** the user means (see "Names" below). - Network accessline 32
https://boxerbook.com. Do not state records or results from memory. 2. **Resolve who/what** the user means (see "Names" below). 3. **Fetch** the minimum that answers the question (see the table), then - Network accessline 74
may come from you. 2. **Cite.** Link every boxer, bout and card you name to the `url` Boxerbook returned (or `https://boxerbook.com/boxers/<slug>` for ranking items). End - Network accessline 75
2. **Cite.** Link every boxer, bout and card you name to the `url` Boxerbook returned (or `https://boxerbook.com/boxers/<slug>` for ranking items). End with `Source: [Boxerbook](<main url>)`. Use links exactly as returned, but - Network accessline 76
returned (or `https://boxerbook.com/boxers/<slug>` for ranking items). End
skills/boxing/references/api.md
- Network accessline 17
Endpoint `https://mcp.boxerbook.com/mcp` (also `https://boxerbook.com/mcp`), - Network accessline 49
Host `https://boxerbook.com` (all paths below start with `/v1`), free, no key, CORS open (`*`), rate limited - Network accessline 50
per IP (429 + `Retry-After`). OpenAPI 3.1: `https://boxerbook.com/v1/openapi.json`. - Network accessline 60
| `GET /v1/schedule` | `when` today\|tonight\|weekend\|30d, `country`, `division` | `events[]` with `bouts[]` | | `GET /v1/results` | `days` 1–14, `country`, `division` | `bouts[]` newest first with winner, method, round, sources | | `GET / - Network accessline 61
| `GET /v1/results` | `days` 1–14, `country`, `division` | `bouts[]` newest first with winner, method, round, sources | | `GET /v1/rankings/{division}` | `publisher` boxerbook\|wbc\|wba\|ibf\|wbo\|ring\|tbrb | `list_date`, `items[]`: positi - Network accessline 62
| `GET /v1/rankings/{division}` | `publisher` boxerbook\|wbc\|wba\|ibf\|wbo\|ring\|tbrb | `list_date`, `items[]`: position (publisher lists: 0 = titleholder, absent when vacant), name, id, slug, champion_flag (`champion`, `super`, `regular` - Network accessline 132
- A boxer missing from Boxerbook is not proof they do not exist: say Boxerbook has no match and suggest a spelling, never fabricate a card. - Rankings: in publisher lists `position: 0` is the champion; the Boxerbook rating list starts at - Network accessline 133
has no match and suggest a spelling, never fabricate a card. - Rankings: in publisher lists `position: 0` is the champion; the Boxerbook rating list starts at 1. Ranking items carry a `slug`: link `https://boxerbook.com/boxers/<slug>`. Publ - Network accessline 134
- Rankings: in publisher lists `position: 0` is the champion; the Boxerbook rating list starts at 1. Ranking items carry a `slug`: link `https://boxerbook.com/boxers/<slug>`. Publisher lists have a `list_date`;
skills/boxing/references/scoring.md
- Network accessline 34
| RTD | Retired | the boxer or his corner quits between rounds (scored as a TKO in many records) | | DQ | Disqualification | the referee disqualifies a boxer for repeated or flagrant fouls | | NC | No contest | the result is void: accidenta - Network accessline 35
| DQ | Disqualification | the referee disqualifies a boxer for repeated or flagrant fouls | | NC | No contest | the result is void: accidental foul too early to go to the cards, or a result overturned (e.g. a failed drug test) | | Technical - Network accessline 36
| NC | No contest | the result is void: accidental foul too early to go to the cards, or a result overturned (e.g. a failed drug test) |
skills/boxing/scripts/boxerbook.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 25
Data: Boxerbook (https://boxerbook.com), open under the ODbL. Cite the `url`. - Network accessline 36
BASE = "https://boxerbook.com/v1" - Network accessline 37
UA = "boxerbook-skill/1.0 (+https://github.com/maxvotek/boxerbook-skill)" - Network accessline 73
qs = "?" + urllib.parse.urlencode(clean) url = BASE + path + qs req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept": "application/json"}) - Network accessline 74
url = BASE + path + qs req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept": "application/json"}) for attempt in range(retries + 1): - Network accessline 75
req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept": "application/json"}) - Network accessline 76
for attempt in range(retries + 1): try: with urllib.request.urlopen(req, timeout=30) as r: - Network accessline 77
try: with urllib.request.urlopen(req, timeout=30) as r: raw = r.read() - Network accessline 78
with urllib.request.urlopen(req, timeout=30) as r:
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 37 facts
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:3Low confidence
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:4Low confidence
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:5Low confidence
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdboxing/SKILL.md:9Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:28Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:29Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:30Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:31Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:32Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:74Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:75Low confidence
- Network access in prose of the SKILL.mdboxing/SKILL.md:76Low confidence
- Network access in prose of documentationboxing/references/api.md:17Low confidence
- Network access in prose of documentationboxing/references/api.md:49Low confidence
- Network access in prose of documentationboxing/references/api.md:50Low confidence
- Network access in prose of documentationboxing/references/api.md:60Low confidence
- Network access in prose of documentationboxing/references/api.md:61Low confidence
- Network access in prose of documentationboxing/references/api.md:62Low confidence
- Network access in prose of documentationboxing/references/api.md:132Low confidence
- Network access in prose of documentationboxing/references/api.md:133Low confidence
- Network access in prose of documentationboxing/references/api.md:134Low confidence
- Network access in prose of documentationboxing/references/scoring.md:34Low confidence
- Network access in prose of documentationboxing/references/scoring.md:35Low confidence
- Network access in prose of documentationboxing/references/scoring.md:36Low confidence
- Executable script in code of a file that runsboxing/scripts/boxerbook.py:1High confidence
- Network access in prose of a file that runsboxing/scripts/boxerbook.py:25Low confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:36High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:37High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:73High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:74High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:75High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:76High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:77High confidence
- Network access in code of a file that runsboxing/scripts/boxerbook.py:78High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/boxing/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/boxing/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/boxing/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/boxing/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/boxing/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.