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.
curl -O https://raw.githubusercontent.com/eiriksgata/wc3-map-ts-template/main/.cursor/skills/wc3-map-ts-template/SKILL.mdgit clone --depth 1 https://github.com/eiriksgata/wc3-map-ts-templateWrote 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/eiriksgata/wc3-map-ts-template/wc3-map-ts-template)<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.
<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>- NVIDIA SkillSpector pass
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.00095 | $0.01849 |
| Opus 5 | $0.00048 | $0.00924 |
| Sonnet 5 | $0.00019 | $0.00370 |
| Haiku 4.5 | $0.00010 | $0.00185 |
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.
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。
核心载入链路
-
JASS 入口:
maps/map/war3map.j的main末尾应包含
call Cheat("exec-lua:bootstrap")
构建脚本scripts/common.ts的injectLuaExecutionCall()会在未注入时自动写入(或把旧的exec-lua:main升级为bootstrap)。 -
引导脚本:
lua/bootstrap.lua在构建时复制到maps/map/bootstrap.lua,随地图进 MPQ。 -
bootstrap.lua行为:- 将
jass.common、jass.japi注册进_G。 - 开发模式:若存在全局
PROJECT_PATH(handleBootstrapLua(true)注入),则require("src.main"),并从dist/通过package.path加载多文件 Lua。 - 生产模式:无
PROJECT_PATH时require("main"),对应 tsconfig.prod.json 单文件打包输出。
- 将
-
TS 入口:
src/main.ts导出供 Lua 调用的初始化逻辑(如initialize),与bootstrap.lua中main.initialize一致。
构建与命令(package.json)
| 命令 | 作用 |
|---|---|
yarn dev |
开发:TSTL 编译、injectLuaExecutionCall、handleBootstrapLua(true)、buildW3x,并启动 tstl --watch 等开发流 |
yarn build:dev |
单次开发构建:开发模式编译、injectLuaExecutionCall、handleBootstrapLua(true)、buildW3x;优先用于日常 agent 编译验证 |
yarn build / build:prod |
生产:TSTL 单文件、injectLuaExecutionCall、handleBootstrapLua(false)、可选 luamin、buildW3x |
yarn build:map |
仅 w2l.exe obj ./maps ./dist/map.w3x(不跑 TS 编译) |
yarn test:map |
用 KKWE 启动 WC3 加载 ./dist/map.w3x(不要用原版魔兽打开打包图) |
w2l 路径:config.json 中 w2l.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.j、bootstrap.lua、地形/触发相关文件等。KKWE 保存地形时写这里。maps/table/*.ini:物编等数据以 w3x2lni 的 INI 文本 维护(如unit.ini、imp.ini、w3i.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。
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.
- 7d ago First seen · 77 lines · 95 tokens per session scan A 7c1bab8e320f
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.
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…
rpg-stat-catalyst
A core TypeScript library for RPG game mathematics. Handles attribute points, leveling curves, and stat derivation (HP, Dmg, etc.).
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.
pixi-js
Expert guidance for Pixi.js game development with TypeScript, focusing on high-performance web and mobile games.
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)…
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.