Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add HOPPINZQ/hoppinai-mcp-red95 --skill combat-tacticsgit clone --depth 1 https://github.com/HOPPINZQ/hoppinai-mcp-red95Wrote 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/hoppinzq/hoppinai-mcp-red95/combat-tactics)<a href="https://agentmods.dev/skills/hoppinzq/hoppinai-mcp-red95/combat-tactics"><img src="https://agentmods.dev/badge/skills/hoppinzq/hoppinai-mcp-red95/combat-tactics/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/hoppinzq/hoppinai-mcp-red95/combat-tactics"><img src="https://agentmods.dev/badge/skills/hoppinzq/hoppinai-mcp-red95/combat-tactics.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00025 | $0.01523 |
| Opus 5 | $0.00013 | $0.00762 |
| Sonnet 5 | $0.00005 | $0.00305 |
| Haiku 4.5 | $0.00003 | $0.00152 |
Grade A, and why
combat-tactics 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 12d 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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
红警95 战斗战术指南
侦查——胜利的前提
看不见敌人就无法打赢。 侦查优先级仅次于经济。
侦查手段
- 移动镜头巡逻:
camera_move_dir(direction="北", distance=10)— 按8方向巡视地图 - 精确移动镜头:
camera_move_to(x=50, y=50)— 移到指定坐标 - 探索状态查询:
explorer_query(x=50, y=50)— 该坐标是否曾被探索过 - 视野查询:
visible_query(x=50, y=50)— 该坐标当前是否在我方视野内 - 未探索区域:
get_unexplored_nearby_positions— 获取周围未探索坐标
侦查战术
- 派1-2个步兵朝四方移动探索地图边缘
- 发现敌方建筑后用
camera_move_to锁定位置 - 持续监控敌方基地动态
- 定期用
visible_units(type="敌方", range="all")扫描全地图
兵种选择
步兵类
| 单位 | 特点 | 用途 | 生产建筑 |
|---|---|---|---|
| 步枪兵/步兵 | 便宜量大 | 早期防御、侦查、人海战术 | 兵营 |
| 火箭兵 | 反装甲 | 对付敌方载具 | 兵营 |
| 工程师 | 可占领建筑 | 占领敌方/中立建筑 | 兵营 |
| 手雷兵 | 区域伤害 | 清理步兵群 | 兵营 |
载具类
| 单位 | 特点 | 用途 | 生产建筑 | 前置需求 |
|---|---|---|---|---|
| 矿车 | 采矿 | 经济单位,需保护 | 车间 | 矿场 |
| 轻型坦克 | 快速灵活 | 侦查骚扰、快速突击 | 车间 | 无 |
| 防空车 | 反空 | 对付飞机 | 车间 | 无 |
| 重坦/重型坦克 | 火力强 | 主力作战、攻坚 | 车间 | 维修厂 |
| V2火箭 | 远程打击 | 攻城、摧毁建筑 | 车间 | 雷达 |
| 猛犸坦克 | 超重型 | 终极兵种 | 车间 | 维修厂+科技中心 |
飞行器类
| 单位 | 特点 | 用途 | 生产建筑 |
|---|---|---|---|
| 雅克战机 | 对地攻击 | 消灭步兵和建筑 | 机场 |
| 米格战机 | 空战 | 对付敌方飞机 | 机场 |
move_units(actorIds, x, y, attackMove=true)— 攻击移动,遇敌自动开火move_units_and_wait(actorIds, x, y, maxWaitTime, toleranceDis)— 移动并等待到达move_units_by_direction(actorIds, direction, distance)— 按方向移动move_units_by_path(actorIds, path)— 沿路径点移动(绕开危险区)
攻击指令
attack(attackerId, targetId)— 命令单位攻击目标- 需要目标在视野内
- 返回 false 表示不可见/不可达
- 返回 true 表示攻击命令已发出
战斗原则
- 集中优势兵力:不要零散进攻,攒够部队再出击
- 先打高价值目标:电厂 > 矿场 > 生产建筑 > 防御塔
- 保持火力优势:坦克群优于步兵群
- 利用地形:高地和障碍物能提供战术优势
- 及时撤退:用
stop_units取消不利战斗,保存有生力量
工程师占领
使用 occupy_units(occupierIds, targetIds) 命令工程师占领建筑:
- 先把工程师移动到目标建筑附近
- 调用
occupy_units执行占领 - 可占领:敌方建筑、中立科技建筑
- 占领敌方主基地可瞬间扭转战局
战术提示:用2-3个工程师同时占领,提高成功率
编队管理
使用 form_group(actorIds, groupId) 编组:
groupId范围 1-10- 编组后可快速选中多组单位协同作战
- 推荐编组:
- 1队 = 主力攻击群(重坦)
- 2队 = 防御群(轻坦+步兵)
- 3队 = 侦查群(快速单位)
- 4队 = 工程师群
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.
- 12d ago First seen · 129 lines · 25 tokens per session scan A c4f8917042bc
combat-tactics is a skill published in the GitHub repository HOPPINZQ/hoppinai-mcp-red95 (21 stars, last pushed 1mo ago), licensed MIT. It adds 25 tokens to every session and 1,523 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
gameobject-component-destroy
Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.
unity-version-split
Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).
godot-signals-groups
Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…
motion
How an agent turns a character mesh into a usable animated FBX — and how to judge whether the result is shippable.
unity-addressables
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).
threejs-exposure-color-grading
Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.