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-architecture/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-architecture)<a href="https://agentmods.dev/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-architecture"><img src="https://agentmods.dev/badge/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-architecture/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-architecture"><img src="https://agentmods.dev/badge/skills/eiriksgata/wc3-map-ts-template/wc3-map-ts-architecture.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.00090 | $0.01748 |
| Opus 5 | $0.00045 | $0.00874 |
| Sonnet 5 | $0.00018 | $0.00350 |
| Haiku 4.5 | $0.00009 | $0.00175 |
Grade A, and why
wc3-map-ts-architecture 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
wc3-map-ts-template 架构与模块速查
与本仓库另一技能的关系
wc3-map-ts-template:构建链、YDWE/KKWE、bootstrap.lua、war3map.j、w3x2lni LNI(KKWE 直接保存maps/,不解包)、maps/table/*.ini。- 本技能(wc3-map-ts-architecture):应用层 TypeScript 源码结构、各目录职责、常见功能「去哪找」。
二者同时适用时:改打包/物编/载入先看前者;改游戏逻辑与 UI 先看本技能。
项目定位(一句话)
基于 TypeScript → TSTL → Lua 的 魔兽争霸 III 1.27a 地图工程模板,使用 @eiriksgata/wc3ts 与 KKWE/YDWE JAPI;src/main.ts 的 initialize() 为运行时入口,main() 为延迟启动的游戏逻辑入口。
顶层目录
| 路径 | 职责 |
|---|---|
src/ |
全部 TS 业务与系统代码;TSTL 输出到 dist/ |
maps/ |
w3x2lni LNI 工程(KKWE 直接打开/保存;map/、resource/、table/ 等) |
lua/ |
bootstrap.lua 源,构建时复制到 maps/map/ |
scripts/ |
Node 构建:build.ts、dev.ts、common.ts(注入 Cheat、bootstrap 等) |
docs/ |
组件与系统说明(Tips、Panel、热重载、事件等) |
dev_lib/ |
KKWE、w3x2lni 等本地工具 |
src/ 一级结构
| 目录 / 文件 | 职责 |
|---|---|
main.ts |
导出 initialize()、onHotReload();集中注册系统、加载 TOC、调用各子系统 init |
config/ |
地图与玩家等配置:Map.ts、Players.ts、MapUnit.ts,index.ts 聚合导出 |
constants/ |
按 frame / game / ui 分类的常量;见 constants/README.md |
types/ |
公共类型 |
utils/ |
helper.ts、queue.ts、CameraControl.ts 等通用工具 |
ydlua/ |
ydlua 封装入口(main 里 ydlua.getInstance().initialize()) |
examples/ |
可运行示例(按钮、Dialog、Tips、单位事件、JAPI 等),用于对照 API |
test/ |
地图内测试/演示入口(如遗物、技能测试) |
src/system/ 子系统(核心)
按「找功能」用途速查:
| 区域 | 路径 | 职责摘要 |
|---|---|---|
| 事件 | system/event/ |
GameEvent、MouseEvent、KeyboardEvent、EventBus / EventEmitter;index.ts 里 mouseEvents.initialize() 等在 main 中调用 |
| UI 基类 | system/ui/ |
UIComponent.ts、UILayout.ts、ScreenCoordinates.ts;DamageTexttag、GameUIConsole |
| UI 组件 | system/ui/component/ |
Button、Panel、Dialog、Tips、Text、MessageList、UnitBlood、GachaPanel、KKWEHeroBloodBar、RelicBarUI 等;多继承 UIComponentBase |
| FDF | system/ui/fdf/ |
FDFButton 等与 Frame 资源相关的封装 |
| 伤害 | system/damage.ts |
DamageSystem 单例,与技能/攻击结算相关 |
| Buff | system/buff/ |
Buff、BuffManager、BuffSystem、ShieldBuff;驱动力与持续时间 tick |
| 护盾 | system/ShieldSystem.ts |
与 Buff 配合,吸收伤害并写回 event damage |
| 召唤 | system/SummoningSystem.ts |
召唤物逻辑入口 |
| 遗物 | system/relic/ |
RelicRegistry、RelicPool、RelicSystem、types;definitions/*.ts 单遗物定义;registerDefaultContent.ts 注册内容;index.ts 导出注册函数 |
| Actor | system/actor.ts |
演员/单位表现相关辅助 |
| 模块与热重载 | ModuleManager.ts、HotReload.ts |
模块注册、依赖顺序初始化、require 热替换(main 中热重载相关调用多已注释,慎用) |
| 其它 | console.ts、LeakDetector.ts |
调试控制台、泄露检测(可选启用) |
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 · 90 lines · 90 tokens per session scan A a8b978710dfc
wc3-map-ts-architecture is a skill published in the GitHub repository eiriksgata/wc3-map-ts-template (25 stars, last pushed 11d ago), licensed MIT. It adds 90 tokens to every session and 1,748 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.