dota2-ability

Design Dota 2 custom skills with KV configuration and TypeScript scripting.

212|121|Updated Sep 16, 2020
One-click install
npx skills add https://github.com/XavierCHN/x-template --skill dota2-ability
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dota2-ability
Source: https://github.com/XavierCHN/x-template/tree/main/.agents/skills/dota2-ability
Command: npx skills add https://github.com/XavierCHN/x-template --skill dota2-ability

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps developers build Dota 2 custom skills by separating configuration (KV data) from code and using a data-driven workflow to ensure consistency across front-end and back-end components.

Core Features & Use Cases

  • Centralized configuration: store all Skill values in KV under AbilityValues and load through this.GetSpecialValueFor for TS/Lua code.
  • Data-driven workflow: compile KV to JSON for both client panorama and server TSTL usage, enabling consistent data access.
  • End-to-end skill development: define TS abilities, optional modifiers, and localization entries; test in-game.

Quick Start

Create a new skill by adding SKILL.md and follow the workflow to define KV data, implement TS abilities, compile to JSON, and test in-game.

Frequently Asked Questions about dota2-ability

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create Dota 2 custom abilities using a data-driven workflow?

To create Dota 2 custom abilities, define Skill values in KV files, compile them to JSON, and implement TS/Lua scripts. This workflow separates configuration from code, ensuring consistent data access across client and server.

How does KV integration work for Dota 2 modding?

KV integration centralizes ability configuration in AbilityValues. You compile these KV definitions to JSON, enabling both client Panorama and server TSTL environments to load consistent data dynamically.

Can I use TypeScript to script Dota 2 custom skills?

Yes, you can use TypeScript to script Dota 2 custom skills. The workflow uses TSTL to integrate TypeScript with Lua, defining abilities and optional modifiers while accessing values from compiled JSON data.

What is the best way to manage configuration and code separation for Dota 2 abilities?

The best way to separate configuration from code in Dota 2 abilities is a data-driven KV workflow. Store values in KV, compile to JSON, and use this.GetSpecialValueFor in TS/Lua to load them.

Do I need to compile KV to JSON for both client and server Dota 2 components?

Yes, you need to compile KV to JSON for both client and server Dota 2 components. Compiling to JSON ensures consistent data access across Panorama front-end and TSTL back-end scripts.

How do I localize text for Dota 2 custom skills?

To localize text for Dota 2 custom skills, define localization entries alongside your TS abilities and modifiers. The data-driven workflow includes generating these entries to ensure text displays correctly in-game.