afsim-skill
AFSIM 场景代码生成、报错调试、文档解析。触发词:/afsim /afsim-auto /afsim-learn /afsim-debug。当前版本:v1.0.2。当用户提到 AFSIM、Warlock、platform_type、sensor、weapon、mover、route、AFSIM 场景/兵棋推演时使用本 Skill。
Source facts
- Repository
- qingzhoupro/afsim-skill
- Last source activity
- May 26, 2026 at 14:16
- Detected SKILL.md language
- Chinese
- Stars
- 63
- Forks
- 11
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
Showing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- afsim-skill
- description
- AFSIM 场景代码生成、报错调试、文档解析。触发词:/afsim /afsim-auto /afsim-learn /afsim-debug。当前版本:v1.0.2。当用户提到 AFSIM、Warlock、platform_type、sensor、weapon、mover、route、AFSIM 场景/兵棋推演时使用本 Skill。
- disable-model-invocation
- true
- version
- v1.0.2
- version_date
- 2026-05-26T00:00:00.000Z
# AFSIM Skill — 核心入口 | v1.0.2
> 精简入口,详细工作流见 `.cursor/commands/` 下的各子命令文件。
## 黄金法则
> **不要凭空自造 AFSIM 语法,要基于验证过的模板和官方 Demo 输出!**
>
> AI 可基于模板修正/组合输出,但新手不建议自造。报错 → errors-ref 匹配 → 教训激活 → 积累。
## 渐进披露
本 Skill 采用渐进披露策略节省上下文:
| 层级 | 文件 | 何时加载 |
|------|------|----------|
| 0(始终) | 本文件 | 默认 |
| 1(按需) | `refs/errors-ref.md` | 报错时快速匹配 |
| 2(命中后) | `memory/cold/lesson-index.md` | errors-ref 命中特定条目时 |
| 3(匹配后) | `memory/cold/lesson-root-causes.md` | lesson-index 匹配到教训 ID 时 |
| 4(查询时) | `refs/quick-ref.md` | 需要模板时 |
| 5(查询时) | `refs/demos-index.md` | 需要 Demo 时 |
| 6(查询时) | `refs/complete-ref.md` | 需要完整语法参考时 |
## 教训体系:索引 + 激活联动
### Layer 1: errors-ref.md(快速索引,条件反射)
报错时**第一反应**去 `refs/errors-ref.md` 快速匹配。
格式:`## [E001] 报错关键字 → 根因 → 修正方案 → Demo路径`
### Layer 2: memory/cold/(深度教训,应激激活)
**不主动加载**,仅当 errors-ref 命中特定条目时触发:
1. errors-ref 命中 `[Exxx]` → 查 `memory/cold/lesson-index.md` 找相关教训 ID
2. 加载 `memory/cold/lesson-root-causes.md` 中对应教训段落
3. 输出修正方案 + 教训提醒
### 联动流程
```
用户报错 → refs/errors-ref.md 匹配 → 命中 [Exxx]
↓
lesson-index.md 查教训 ID
↓
lesson-root-causes.md 加载教训段落
↓
输出修正方案 + 教训提醒
```
## 代码生成原则
1. **基于模板输出**:不凭空自造,优先在 `refs/quick-ref.md` / `templates/` 找模板
2. **不明确则交互**:需求模糊时询问关键参数(平台类型、武器、传感器、仿真时长等)
3. **自检后输出**:检查块结构、基类型、参数格式、单位
4. **成果存入 output 目录**:不得直接输出,告知用户保存路径(见下方成果管理闭环)
## 成果管理闭环
所有生成的代码通过 **临时 → 验证 → 成熟** 三阶段闭环管理:
### 目录结构
```
output/
├── staging/ # 临时成果区(初始输出位置)
│ └── [生成的 .txt / .md 文件]
└── verified/ # 成熟成果区(用户认可后归档)
├── scenario/ # 完整场景(可运行的 .txt 场景文件)
├── component/ # 组件模块(platform_type、processor 等可复用块)
└── template/ # 模板片段(可直接复制到新场景的参数组合)
```
### 生命周期
```
生成代码 → 存入 output/staging/ → Warlock 验证
↓
[用户认可] → 从 staging 移动到 verified/ 对应子目录
↓
[后续生成] → 从 verified/ 中选取成熟案例作为参考
```
### 归档触发
以下任一条件满足时,将 `output/staging/` 中的文件移动到 `output/verified/` 对应子目录:
1. **用户明确认可**:"确认"、"很好"、"这个可以"
2. **通过 Warlock/Wizard 验证**:`Warlock successfully loaded` 无报错
3. **仿真运行成功**:end_time 内正常终止,无崩溃
### 归档操作
```text
# 用户认可后,AI 执行归档
mv output/staging/xxx.txt output/verified/scenario/
# 同时在 verified/scenario/README.md 记录元信息
```
### 参考成熟成果
生成新代码时,优先从 `output/verified/` 中找同类案例作为参考(仅次于 `templates/` 和官方 Demo)。
## 命令入口
| 命令 | 功能 |
|------|------|
| `/afsim` | 显示命令列表和快速参考 |
| `/afsim-auto` | 全自动代码生成 |
| `/afsim-auto step` | 半自动,逐模块确认 |
| `/afsim-learn` | 解析 MD/PDF 文档,融入 skill |
| `/afsim-debug` | 报错处理,联动教训体系 |
## 参考
- 快速参考:`refs/quick-ref.md`
- Demo 速查:`refs/demos-index.md`
- 报错索引:`refs/errors-ref.md`
- 完整语法:`refs/complete-ref.md`
- 教训索引:`memory/cold/lesson-index.md`
- 教训本体:`memory/cold/lesson-root-causes.md`
- 模板目录:`templates/`
- 成果目录:`output/staging/`(临时)/ `output/verified/`(成熟)
---
## 已验证语法白名单
> 以下语法已通过官方 Demo 交叉验证,生成代码时应优先使用。⚠️ 标记的参数需进一步确认。
### sensor 高级参数
|| 块类型 | 参数 | 验证来源 | 备注 |
|--------|--------|------|--------|------|
| sensor | `receive_only` | sensor_demos.md ~42 | 纯接收模式 |
| sensor | `transmit_only` | sensor_demos.md ~68 | 纯发射模式 |
| sensor | `maximum_range` | sensor_demos.md ~3085 | 快速剔除范围 |
| sensor | `minimum_range` | sensor_demos.md ~2083 | 最小探测距离 |
| sensor | `frame_time` | engage.md ~54 | 刷新频率 |
| sensor | `scan_mode` | sensor_demos.md ~1387 | azimuth / azimuth_and_elevation |
| sensor | `azimuth_scan_limits` | sensor_demos.md ~1388 | 方位扫描范围 |
| sensor | `antenna_height` | sensor_demos.md ~1384 | 用于地形遮蔽 |
| sensor | `antenna_tilt` | sensor_demos.md ~1385 | 波束下倾角 |
| sensor | `location` | engage.md ~2912 | NED 坐标系位置 |
| sensor | `internal_link` | engage.md ~58 | 连接处理器 |
| sensor | `integration_gain` | sensor_demos.md ~57 | 信号处理增益 |
| sensor | `probability_of_false_alarm` | sensor_demos.md ~1840 | 虚警概率 |
| sensor | `required_pd` | sensor_demos.md ~1841 | 所需发现概率 |
| sensor | `one_m2_detect_range` | sensor_demos.md ~2086 | 1m² RCS 的探测距离 |
| sensor | `hits_to_establish_track` | sensor_demos.md ~2658 | 建立航迹所需命中数 |
| sensor | `reports_range` | sensor_demos.md ~62 | 报告距离 |
| sensor | `reports_bearing` | sensor_demos.md ~63 | 报告方位 |
| sensor | `reports_location` | engage.md ~55 | 报告位置 |
| sensor | `ignore_same_side` | engage.md ~53 | 忽略同阵营 |
### antenna_pattern 方向图类型
|| 类型关键词 | 验证来源 | 备注 |
|-----------|---------|------|
| `constant` | sensor_demos.md ~31 | 常数增益 |
| `circular_pattern` | sensor_demos.md ~1371 | 圆锥波束 |
| `rectangular_pattern` | sensor_demos.md ~1495 | 矩形波束 |
| `constant_pattern` | sensor_demos.md ~342 | 恒定方向图 |
| `sine_pattern` | sensor_demos.md ~3067 | 正弦方向图 |
| `uniform_pattern` | sensor_demos.md ~2617 | 均匀全向 |
### processor 状态机
|| 参数 | 验证来源 | 备注 |
|------|------|---------|------|
| `show_state_transitions` | engage.md ~71 | 调试输出 |
| `evaluation_interval` | engage.md ~73 | 多状态独立配置 |
| `next_state` | engage.md ~75 | 状态转换目标 |
### comm 通信
|| 参数 | 验证来源 | 备注 |
|------|---------|------|
| `internal_link` | engage.md ~27 | 内部链路 |
| `frequency` | sensor_demos.md ~49 | 工作频率 |
| `maximum_range` | comm.md ~110 | 通信距离 |
| `power` | sensor_demos.md ~75 | 发射功率 |
### space_mover 轨道
|| 参数 | 验证来源 | 备注 |
|------|---------|------|
| `semi_major_axis` | satellite_demos.md ~834 | 半长轴 km |
| `eccentricity` | satellite_demos.md ~832 | 离心率 |
| `inclination` | satellite_demos.md ~833 | 轨道倾角 |
| `raan` | satellite_demos.md ~216 | 升交点赤经 |
| `anomaly` | satellite_demos.md ~217 | 近地点幅角 |
| `revs_per_day` | satellite_demos.md ~5611 | 每日转数 |
### 全局配置
|| 参数 | 验证来源 | 备注 |
|------|---------|------|
| `start_date` | satellite_demos.md ~1042 | 仿真开始日期 |
| `start_time` | satellite_demos.md ~1043 | 仿真开始时间 |
| `end_time` | engage.md ~59 | 结束时间 |
| `random_seed` | quick-ref.md | 随机种子 |
| `thread_count` | engage.md ~13 | 并行线程数 |
| `realtime` | script_demos.md ~61 | 实时仿真 |
| `event_output` | script_demos.md ~327 | 事件输出 |
| `event_pipe` | script_demos.md ~121 | 事件管道 |
| `dis_interface` | script_demos.md ~62 | DIS 接口 |
| `include` | engage.md ~15 | 包含外部文件 |
| `include_once` | base_types.md ~315 | 仅包含一次 |
| `define_path_variable` | satellite_demos.md ~184 | 路径变量 |
| `file_path` | satellite_demos.md ~187 | 文件搜索路径 |
### 签名定义
|| 类型 | 有无基类型 | 验证来源 | 备注 |
|------|------|----------|---------|------|
| `radar_signature` | 有(WSF_RADAR_SIGNATURE) | engage.md ~18 | 常用 |
| `optical_signature` | 两种皆可 | base_types.md ~17 | Demo 中多无基类型 |
| `constant` | - | base_types.md ~18 | 固定值 |
| `plt_file` | - | base_types.md ~46978 | 频率依赖 RCS |
| `bistatic_signature` | - | base_types.md ~47069 | 双基地雷达 |
View on GitHub