← Back to Skills Marketplace
ssunk

Dota2-Stats-Skill

by Ssunk · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
42
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dota2-stats-skill
Description
Query Dota 2 player records, match data, hero statistics, pro scene, teams, leagues and live games via OpenDota API. Supports 27 commands covering all API en...
README (SKILL.md)

\r \r

Dota 2 Stats Query Skill (Full API Coverage)\r

\r This skill uses a Python script to query Dota 2 data via the OpenDota API, covering all API endpoints.\r \r

Tool Script\r

Claude Code\r

~/.claude/skills/dota2-stats-skill/scripts/dota2_query.py\r
```\r
\r
### OpenClaw\r
```\r
~/.openclaw/plugin-skills/dota2-stats-skill/scripts/dota2_query.py\r
```\r
\r
\r
**Uses only Python standard library** - no third-party dependencies required. Configured with complete HTTP Headers to avoid 403 errors.\r
\r
## Commands (27 total)\r
\r
### Player Commands\r
```bash\r
python scripts/dota2_query.py search \x3Cname>              # Search for a player\r
python scripts/dota2_query.py player \x3Caccount_id>         # Player info/rank/winrate\r
python scripts/dota2_query.py wl \x3Cid> [--days/--hero_id/--lobby_type]  # Win/loss stats\r
python scripts/dota2_query.py recent \x3Cid>                 # Recent ~20 matches\r
python scripts/dota2_query.py matches \x3Cid> [--limit/--hero_id/--days]  # Full match history\r
python scripts/dota2_query.py heroes \x3Cid> [--limit N]     # Hero usage stats\r
python scripts/dota2_query.py peers \x3Cid> [--limit N]      # Frequent teammates\r
python scripts/dota2_query.py totals \x3Cid> [filters]       # Career totals (kills/assists etc)\r
python scripts/dota2_query.py counts \x3Cid>                 # Categorized stats\r
python scripts/dota2_query.py rankings \x3Cid>               # Player hero rankings\r
python scripts/dota2_query.py ratings \x3Cid>                # Rank history\r
python scripts/dota2_query.py refresh \x3Cid>                # Refresh player data\r
```\r
\r
### Match Commands\r
```bash\r
python scripts/dota2_query.py match \x3Cmatch_id>            # Single match details (10 players)\r
```\r
\r
### Hero Commands\r
```bash\r
python scripts/dota2_query.py hero_list                   # All heroes list\r
python scripts/dota2_query.py hero_stats                  # Global hero stats\r
python scripts/dota2_query.py hero_matchups \x3Chero_id>     # Hero matchup winrates\r
python scripts/dota2_query.py hero_rankings \x3Chero_id>     # Hero leaderboard (Top players)\r
python scripts/dota2_query.py benchmarks \x3Chero_id>        # Hero performance benchmarks\r
```\r
\r
### Global / Pro Commands\r
```bash\r
python scripts/dota2_query.py pro_players                 # Pro players list\r
python scripts/dota2_query.py pro_matches [--limit N]     # Pro matches\r
python scripts/dota2_query.py public_matches [--min_rank] # Public matches\r
python scripts/dota2_query.py live                        # Live matches\r
python scripts/dota2_query.py teams [--limit N]           # Teams list\r
python scripts/dota2_query.py team \x3Cteam_id>              # Team details+roster+matches\r
python scripts/dota2_query.py leagues                     # Leagues list\r
python scripts/dota2_query.py constants \x3Cresource>        # Game constants (heroes/items etc)\r
python scripts/dota2_query.py find_matches --teamA 1,2 --teamB 3,4  # Search by hero lineup\r
```\r
\r
### Common Filters\r
- `--days N` — Last N days\r
- `--hero_id N` — Specific hero ID\r
- `--lobby_type N` — Lobby type (7=Ranked)\r
- `--game_mode N` — Game mode\r
- `--limit N` — Limit results\r
- `--lang zh|en` — Output language (default Chinese)\r
\r
## Usage Flow\r
\r
### When user provides a player name:\r
1. `search \x3Cname>` → Get account_id\r
2. `player \x3Cid>` → View basic info\r
3. `recent \x3Cid>` → View recent matches\r
\r
### Steam ID conversion:\r
`account_id = steam64_id - 76561197960265728`\r
\r
## Rank Tier\r
\r
| Tier | English | 中文 |\r
|------|---------|------|\r
| 1 | Herald | 先锋 |\r
| 2 | Guardian | 卫士 |\r
| 3 | Crusader | 中军 |\r
| 4 | Archon | 统帅 |\r
| 5 | Legend | 传奇 |\r
| 6 | Ancient | 万古流芳 |\r
| 7 | Divine | 超凡入圣 |\r
| 8 | Immortal | 冠绝一世 |\r
\r
## Notes\r
1. Uses only Python standard library - no pip install required\r
2. Configured with browser-level HTTP Headers to prevent 403 errors\r
3. Players need to have "Public Match Data" enabled\r
4. Built-in Chinese names for 127 heroes\r
5. Select the output language based on the language used in the user's question, use `--lang en` for English, `--lang zh` for Chinese
Usage Guidance
This skill looks safe for querying public Dota 2 statistics. Before installing, be aware that lookup terms are sent to OpenDota and that the registry does not list an upstream source or homepage.
Capability Analysis
Type: OpenClaw Skill Name: dota2-stats-skill Version: 1.0.2 The skill bundle is a legitimate tool for querying Dota 2 statistics via the OpenDota API. The main script, `scripts/dota2_query.py`, uses only Python standard libraries to interact with the public OpenDota API (api.opendota.com) and provides localized output using provided JSON data. There is no evidence of data exfiltration, unauthorized system access, or malicious instructions in the documentation or code.
Capability Assessment
Purpose & Capability
The stated purpose and implemented capability align: the skill documents Dota 2 player, match, hero, team, league, and live-game lookups through OpenDota.
Instruction Scope
The instructions list explicit commands and filters; they do not attempt to override user intent, force unrelated tool use, or hide high-impact behavior.
Install Mechanism
There is no install script or third-party package installation, but the registry source/homepage are not provided, so provenance is limited.
Credentials
The skill makes outbound requests to the OpenDota API and includes a refresh POST command, which is expected for a stats lookup tool and does not require credentials.
Persistence & Privilege
The visible artifacts show bundled JSON data reads and API calls, with no background service, credential storage, local indexing, privileged access, or persistence mechanism.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dota2-stats-skill
  3. After installation, invoke the skill by name or use /dota2-stats-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Change the skill name and update the MD file.
Metadata
Slug dota2-stats-skill
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Dota2-Stats-Skill?

Query Dota 2 player records, match data, hero statistics, pro scene, teams, leagues and live games via OpenDota API. Supports 27 commands covering all API en... It is an AI Agent Skill for Claude Code / OpenClaw, with 42 downloads so far.

How do I install Dota2-Stats-Skill?

Run "/install dota2-stats-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Dota2-Stats-Skill free?

Yes, Dota2-Stats-Skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Dota2-Stats-Skill support?

Dota2-Stats-Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Dota2-Stats-Skill?

It is built and maintained by Ssunk (@ssunk); the current version is v1.0.2.

💬 Comments