wc3-map-ts-template: Skill for Cursor

.cursor/skills/wc3-map-ts-template/SKILL.md

wc3-map-ts-template is a skill for Cursor from eiriksgata/wc3-map-ts-template. It costs 95 tokens per session (1,849 once invoked), scanned A, original, MIT.

A project template for making Warcraft III 1.27a maps with TypeScript that is compiled into Lua for the game. It includes the map files and build steps needed to package the result as a playable map.

In plain words
What is it for?
Use it to edit gameplay code, map data, Lua startup files, and build scripts, then package the map for testing.
Why use it?
It gives agents the project-specific rules for source files, game startup, and packaging, reducing mistakes when changing an older Warcraft III map.

Skill for Cursor

Written for Cursor: installed under .cursor/.

This is eiriksgata/wc3-map-ts-template's own configuration. It tells Cursor how to work on wc3-map-ts-template itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything wc3-map-ts-template configures →

Reuse

Borrowing it

Nothing to install: this file belongs to eiriksgata/wc3-map-ts-template. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/eiriksgata/wc3-map-ts-template/main/.cursor/skills/wc3-map-ts-template/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/eiriksgata/wc3-map-ts-template

Made for: Cursor.

Wrote 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.

agentmods badge for wc3-map-ts-template

README.md
[![agentmods](https://agentmods.dev/badge/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template/github.svg)](https://agentmods.dev/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template)
Your own site
<a href="https://agentmods.dev/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template"><img src="https://agentmods.dev/badge/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template/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.

agentmods 80×15 button for wc3-map-ts-template

Your own site · 80×15
<a href="https://agentmods.dev/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template"><img src="https://agentmods.dev/badge/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-template.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 95 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,849 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00095 $0.01849
Opus 5 $0.00048 $0.00924
Sonnet 5 $0.00019 $0.00370
Haiku 4.5 $0.00010 $0.00185

Measured 7d ago against content hash 7c1bab8e320f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

wc3-map-ts-template 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 7d 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.

.cursor/skills/wc3-map-ts-template/SKILL.md · 77 lines

How it starts

The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.

wc3-map-ts-template 项目认知

技术栈与目标版本

  • 游戏:魔兽争霸 III 1.27a
  • 语言:TypeScript → typescript-to-lua (TSTL)Lua 5.3
  • 运行时YDWE / KKWE 提供的 Lua 环境与 JAPI(通过 jass.* 模块 require)。
  • API 封装@eiriksgata/wc3ts(类型与 WC3 API 绑定)。
  • 地图工程w3x2lni LNI 目录maps/)。KKWE 原生打开/保存 LNI,保存时直接写回 maps/map/maps/table/*.ini。本仓库日常只用 w2l.exe 打包maps/dist/map.w3x),不要在 KKWE 保存后再解包 .w3x

核心载入链路

  1. JASS 入口maps/map/war3map.jmain 末尾应包含
    call Cheat("exec-lua:bootstrap")
    构建脚本 scripts/common.tsinjectLuaExecutionCall() 会在未注入时自动写入(或把旧的 exec-lua:main 升级为 bootstrap)。

  2. 引导脚本lua/bootstrap.lua 在构建时复制到 maps/map/bootstrap.lua,随地图进 MPQ。

  3. bootstrap.lua 行为

    • jass.commonjass.japi 注册进 _G
    • 开发模式:若存在全局 PROJECT_PATHhandleBootstrapLua(true) 注入),则 require("src.main"),并从 dist/ 通过 package.path 加载多文件 Lua。
    • 生产模式:无 PROJECT_PATHrequire("main"),对应 tsconfig.prod.json 单文件打包输出。
  4. TS 入口src/main.ts 导出供 Lua 调用的初始化逻辑(如 initialize),与 bootstrap.luamain.initialize 一致。

构建与命令(package.json)

命令 作用
yarn dev 开发:TSTL 编译、injectLuaExecutionCallhandleBootstrapLua(true)buildW3x,并启动 tstl --watch 等开发流
yarn build:dev 单次开发构建:开发模式编译、injectLuaExecutionCallhandleBootstrapLua(true)buildW3x;优先用于日常 agent 编译验证
yarn build / build:prod 生产:TSTL 单文件、injectLuaExecutionCallhandleBootstrapLua(false)、可选 luamin、buildW3x
yarn build:map w2l.exe obj ./maps ./dist/map.w3x(不跑 TS 编译)
yarn test:map 用 KKWE 启动 WC3 加载 ./dist/map.w3x不要用原版魔兽打开打包图)

w2l 路径config.jsonw2l.path(默认 dev_lib/w3x2lni)。实际打包命令与 scripts/common.ts 中一致:w2l.exe obj ./maps ./dist/map.w3x

目录约定

  • src/:TypeScript 源码;TSTL 输出到 dist/(开发多文件,生产见 tsconfig.prod.json 的 bundle)。
  • maps/:w3x2lni LNI 工程根(含 map/resource/table/,以及作为 LNI 标记的空文件 .w3x)。KKWE 直接打开这个目录。
  • maps/map/war3map.jbootstrap.lua、地形/触发相关文件等。KKWE 保存地形时写这里。
  • maps/table/*.ini:物编等数据以 w3x2lni 的 INI 文本 维护(如 unit.iniimp.iniw3i.ini)。KKWE 保存物编/地图信息时会自动更新这些 ini。手改或 KKWE 改完后,只有进游戏测图才需要 yarn build / yarn build:map 把 LNI 打包dist/map.w3x
  • dist/map.w3x:构建产物(打包后的 MPQ)。不要用它当地形/物编编辑源,也不要再解包回 maps/。测图必须经 KKWE 启动;原版 Warcraft III.exe / 双击 .w3x 没有 KKWE 的 Lua/JAPI,地图脚本不会工作。
  • lua/:仓库中的 bootstrap 源,构建时同步到 maps/map/bootstrap.lua

Read the full file on GitHub · 77 lines

Changes

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.

  1. 7d ago First seen · 77 lines · 95 tokens per session scan A 7c1bab8e320f

Subscribe to this mod's changes

wc3-map-ts-template is a skill published in the GitHub repository eiriksgata/wc3-map-ts-template (25 stars, last pushed 11d ago), licensed MIT. It adds 95 tokens to every session and 1,849 once invoked, about $0.0005 per session on Opus 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-09-03.

Related

Other skills, from other repositories

onejs-setup-and-overview

Use this skill whenever the user wants to build or set up user interface in a Unity project using OneJS, React, TypeScript, or JSX, e.g. 'add a main menu to my game', 'build a settings screen', 'make a HUD', 'set up OneJS', 'my OneJS panel is blank', 'the UI is not hot reloading'. Covers confirming OneJS is installed…

Singtaa/OneJS · 199 tokens

rpg-stat-catalyst

A core TypeScript library for RPG game mathematics. Handles attribute points, leveling curves, and stat derivation (HP, Dmg, etc.).

kennyzir/7deer_skills · 36 tokens

three-webgl-game

Implement browser-game runtimes with plain Three.js. Use when the user wants imperative scene control in TypeScript or Vite with GLB assets, loaders, physics, and low-level WebGL debugging.

openai/plugins · 45 tokens

pixi-js

Expert guidance for Pixi.js game development with TypeScript, focusing on high-performance web and mobile games.

Mindrally/skills · 24 tokens

hearth-code

Write behavior in Hearth — Lua/JS scripts, the ctx API (input, timers, tweens, events, camera, audio, save), script modules and require, the dot-call and userdata pitfalls, deterministic RNG, and the check-script/edit-script iteration loop. Use when making things happen in a Hearth game (movement, AI, pickups, rules)…

echoo19/hearth · 88 tokens

phaser-2d-game

Implement 2D browser games with Phaser. Use when the user wants a Phaser, TypeScript, and Vite stack for scenes, gameplay systems, cameras, sprite animation, and DOM-overlay HUD patterns.

fanfan-de/anybox · 48 tokens