Adds a new MCP tool to the mcp-replay-dota2 Dota 2 replay-analysis server end to end (service method -> Pydantic response model -> register_<domain>_tools registration -> tool-selection instructions -> mkdocs page -> real-values test). Use whenever the user wants to add, expose, register, or wire up an MCP tool, a new @mcp.tool, a get_* tool, a tool that returns match/replay data, or "expose this analysis as a tool" for the dota MCP server, even if they don't spell out every step. Knows the non-obvious services-dict wiring, the NO-MCP-deps service boundary, and the mandatory per-change docs+test discipline.
Adds a new analysis service (collector) to the mcp-replay-dota2 services layer — a new domain like farming/jungle/rotation/lane that extracts data from a ParsedReplayData and returns service-layer Pydantic models. Use whenever the user wants to add a new service, a collector for replay data, a new analysis domain, a new src/services subdir, or asks to "extract X from the replay" / "analyze Y from the match" in this Dota 2 MCP server. Knows the service+model+constructor-injection pattern, the ParsedReplayData input contract, the strict NO-MCP-dependencies boundary, and the entry-point singleton wiring.
Cuts a release of the mcp-replay-dota2 Dota 2 MCP server. Use whenever the user wants to release a new version, cut/ship a release, bump the version, publish to PyPI/TestPyPI, tag a release, or push a Docker image for this project. Encodes the strict tag==pyproject-version check, the PEP440 prerelease routing (TestPyPI vs PyPI), the commitizen bump flow that keeps pyproject + CHANGELOG in sync, and the GitHub-release + Docker fan-out so a release is not pushed broken.
Runs the local CI gate (ruff + mypy + pytest) and writes/maintains real-values golden-master tests against the session-scoped replay fixtures for mcp-replay-dota2. Use whenever the user wants to run the tests, run CI locally, write or fix a test, add a fixture, test against real match data, run ruff/mypy/pytest, or check things "before pushing" in this Dota 2 MCP server. Encodes the exact commands, the uv-sync (not uv-pip) gotcha, the fixtures-only rule, the golden-master verified constants, the stable-ID-vs-display-name lesson, the pytest markers, and why CI runs only the smaller replay.
Writes and updates the mkdocs-material documentation for mcp-replay-dota2: places tool docs on the correct API category page, registers new pages in the mkdocs.yml nav, follows the AI-Summary admonition style, and keeps the TWO separate changelogs straight. Use whenever the user wants to update the docs, document a tool/feature/integration, add a nav entry, write an mkdocs page, edit docs/api, or add a changelog entry for this Dota 2 MCP server. Encodes the mandatory docs-per-change discipline and the docs/changelog.md vs CHANGELOG.md distinction.