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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
4GitHub stars
Not availablestars in 7 days
1skill in this repository
7commits in 30 days

Heat

Insufficient history

Not 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

Nov 2, 2026Nov 2, 20264

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

2,577 tokens

When the skill is activated

Reference documents

8,093 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Workflow
  2. Rules (non-negotiable)
  3. Answer shape
  4. Knowledge files (load only when needed)
  5. Examples

Scripts executed separately

  • scripts/boxerbook.py

Files

  • ../../.claude-plugin/icon.pngasset15,117 bytes
  • ../../.claude-plugin/marketplace.jsonasset881 bytes
  • ../../.claude-plugin/plugin.jsonasset979 bytes
  • SKILL.mdcore9,847 bytes
  • SKILL.mdcore9,847 bytes
  • SKILL.mdcore9,847 bytes
  • references/api.mddoc9,834 bytes
  • references/belts.mddoc3,661 bytes
  • references/divisions.mddoc3,962 bytes
  • references/glossary.mddoc3,812 bytes
  • references/scoring.mddoc2,985 bytes
  • references/templates.mddoc4,350 bytes
  • scripts/boxerbook.pyruns11,286 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/boxing/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/boxing/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/boxing/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/boxing/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/boxing/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.