Borrowing it
Nothing to install: this file belongs to DeepBlueCoding/mcp-replay-dota2. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/DeepBlueCoding/mcp-replay-dota2/master/.claude/skills/run-ci-and-test-replays/SKILL.mdgit clone --depth 1 https://github.com/DeepBlueCoding/mcp-replay-dota2Wrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/deepbluecoding/mcp-replay-dota2/run-ci-and-test-replays)<a href="https://agentmods.dev/skills/deepbluecoding/mcp-replay-dota2/run-ci-and-test-replays"><img src="https://agentmods.dev/badge/skills/deepbluecoding/mcp-replay-dota2/run-ci-and-test-replays/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/deepbluecoding/mcp-replay-dota2/run-ci-and-test-replays"><img src="https://agentmods.dev/badge/skills/deepbluecoding/mcp-replay-dota2/run-ci-and-test-replays.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00151 | $0.01102 |
| Opus 5.5 | $0.00060 | $0.00441 |
| Sonnet 5.5 | $0.00030 | $0.00220 |
| Haiku 4.5 | $0.00015 | $0.00110 |
Grade A, and why
run-ci-and-test-replays scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run CI and write replay tests for mcp-replay-dota2
CLAUDE.md (repo root) states the policy; this skill is the operational detail.
The CI gate (all three mandatory before any commit/push, in this order)
uv run ruff check src/ tests/ dota_match_mcp_server.py
uv run mypy src/ dota_match_mcp_server.py --ignore-missing-imports
uv run pytest
For one new test, run just it first:
uv run pytest tests/services/farming/test_farming_service.py::TestMultiCampDetection -v
Install deps with uv sync (or uv sync --group dev), NOT uv pip install. Always prefix with
uv run. Never call python/pip directly.
Replay files & cache
Tests need two real replays in ~/dota2/replays/ (override the dir with DOTA_REPLAY_CACHE):
8461956309.dem— primary, ~400 MB.8594217096.dem— secondary (OG match), smaller.
conftest.py parses each replay ONCE at session start (session-scoped, in-memory + diskcache)
and injects ~65 pre-sliced fixtures (e.g. hero_deaths, combat_log_280_290,
combat_log_280_290_earthshaker, objectives, rune_pickups, and the *_2 variants for
match 2). asyncio_mode=auto, so async test functions need no decorator. Disk cache lives at
~/.cache/mcp_dota2/parsed_replays_v2 with a 7-day TTL.
NEVER call Parser or get_parsed_data directly in a test — request fixtures instead. If your
test needs data no fixture provides, add a new session-scoped fixture in conftest.py that
derives from the already-parsed data (don't parse again).
Golden-master verified constants (assert these EXACT values)
Match 8461956309: first blood = earthshaker killed by disruptor at 288.0s ("4:48").
Match 8594217096: first blood = batrider by pugna at 84.0s ("1:24"); total deaths after
start = 53; roshan kills = 3; tower kills = 14; barracks kills = 6; rune pickups = 13;
courier kills = 5.
Good test asserts a real victim/killer/time/count. Bad test asserts isinstance(...), len > 0,
or key existence — those are banned (see CLAUDE.md).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 85 lines · 151 tokens per session scan A 7bba691d2dee
run-ci-and-test-replays is a skill published in the GitHub repository DeepBlueCoding/mcp-replay-dota2 (3 stars, last pushed 4mo ago), licensed MIT. It adds 151 tokens to every session and 1,102 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
Verification & Quality Assurance
Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold for ensuring high-quality agent outputs and codebase reliability.
quality-scan
Run a scoped, read-only quality scan and report exact-candidate evidence, failures and frozen debt. Use for an ad-hoc gate sweep or release preparation; a static scan is not full release acceptance.
e2e-testing
Use when reviewing CI coverage, automated checks, or test strategy related to Implement end-to-end testing. Focus on whether the rule is continuously verified, not just documented.
mirrord-prev-env
Help users create and manage mirrord preview environments — running a modified service as an isolated pod in a shared Kubernetes cluster, scoped by an environment key and HTTP/queue traffic filtering, so teams can validate and review changes against real traffic without affecting live services. Use when a developer…
test-setup
Scaffold the test framework and CI — tests/ directory, engine test runner, GitHub Actions workflow. Once, before the first sprint.
ci
Configure Ginkgo for continuous integration — the recommended CLI flag set and the rationale for each flag (-r -p --randomize-all --randomize-suites --fail-on-pending --fail-on-empty --keep-going --cover --race --trace --json-report --timeout --poll-progress-after/-interval), invoking via go run to pin the CLI to…