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 agentmods add commands/qingzhoupro/afsim-skill/afsim-learngit clone --depth 1 https://github.com/qingzhoupro/afsim-skillWhat 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 | $0.00000 | $0.01093 |
| Opus 5 | $0.00000 | $0.00547 |
| Sonnet 5 | $0.00000 | $0.00219 |
| Haiku 4.5 | $0.00000 | $0.00109 |
Grade A, and why
afsim-learn 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 3d 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 — 144 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/afsim-learn — 文档解析融入 Skill
将 MD/PDF 文档中的 AFSIM 语法要点解析并融入 skill。
使用方式
方式一:提供文件路径
/afsim-learn f:\docs\afsim_传感器教程.md
方式二:直接粘贴文档内容
/afsim-learn
[粘贴文档内容]
方式三:指定分类
/afsim-learn f:\docs\afsim_传感器教程.md sensor
支持的分类:sensor / weapon / platform / mover / processor / script / radar / comm / other
解析流程
Step 1: 内容获取
读取文档内容(MD 直接读取,PDF 调用解析脚本)。
Step 2: 语法提取
自动识别并提取:
platform_type定义块sensor/weapon/mover/processor配置块- 坐标格式(
d:m:s N/S e/w) - 参数格式(时间、速度、单位)
- 注释和说明
- 关键概念和术语
Step 3: 分类存入
解析结果存入 refs/learn/ 对应分类目录:
refs/learn/
├── sensor.md
├── weapon.md
├── platform.md
├── mover.md
├── processor.md
├── script.md
├── radar.md
├── comm.md
└── other.md
每个文件按「来源文档」分隔,格式:
---
source: afsim_传感器教程.md
date: 2026-05-25
---
## platform_type SENSOR_EXAMPLE (来源: xxx.md)
### 关键语法
sensor find WSF_GEOMETRIC_SENSOR
location 0 0 0 m
ignore_same_side
frame_time 10 sec
reports_location
on
track_quality 0.5
end_sensor
**注意**:`sensor` 后必须跟传感器名称(如 `find`),然后才是基类型(如 `WSF_GEOMETRIC_SENSOR`)。不能省略名称。
### 注意事项
- location 指定传感器在平台上的位置
- frame_time 影响传感器刷新率
Step 4: 对比验证(关键步骤)
必须与 refs/complete-ref.md 交叉对比:
- 对每个提取出的语法参数,在
complete-ref.md中查找是否有相同参数 - 若发现 skill 文档中未记录的新参数,标记为「待验证 ⚠️」
- 若发现参数值与 skill 记录不一致,标记为「疑似冲突 ⚠️」
验证结果格式:
- [✅] 参数名 X:与 complete-ref.md 一致
- [⚠️] 参数名 Y:未在 complete-ref.md 中记录(待验证)
- [⚠️] 参数名 Z:值与 skill 记录不符(疑似新语法)
Step 5: 冲突检测
对于每个提取的语法块:
- 若同名块(如
sensor find)已在refs/learn/中存在,对比参数列表 - 参数完全相同 → 跳过(避免重复)
- 参数有差异 → 追加为「疑似新语法变体 ⚠️」,不覆盖原记录
- 新块类型 → 直接追加
Step 6: 更新索引
解析完成后:
- 在
refs/demos-index.md中补充来源文档信息 - 若发现新错误模式,同步追加到
refs/errors-ref.md - 若发现新深层教训,同步追加到
memory/cold/
解析脚本
对于 PDF 文件,使用 scripts/parse_doc.py:
python scripts/parse_doc.py f:\docs\afsim.pdf --category sensor
支持的格式:.md(直接读取)、.pdf(调用 parse_doc.py)
融入规则
- 提取的代码片段必须保持原始格式,不得修改语法
- 每个来源文档在目标文件中用
---分隔,包含 source 和 date 元信息 - 如果某个语法模式已有记录,追加到现有条目后,不要覆盖
- 如果提取到新的错误模式或教训,同步追加到
refs/errors-ref.md - 新参数必须对比
refs/complete-ref.md:已记录的标记为 ✅,未记录的标记为 ⚠️ 待验证 - 冲突不覆盖:同一块类型的不同参数值追加为「疑似新语法变体 ⚠️」
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.
- 3d ago First seen · 144 lines · 0 tokens per session scan A b3d961c45817
afsim-learn is a command published in the GitHub repository qingzhoupro/afsim-skill (51 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,093 tokens. 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 commands, from other repositories
learn
Interactive teaching and mathlib exploration.
learn
Interactive teaching and mathlib exploration.
formalize
Interactive formalization — drafting plus guided proving.
autoformalize
Autonomous end-to-end formalization from informal sources.
derive
Save a clean reference derivation of a target equation or theorem to derivations/. Draws from course materials (textbook, lecture notes) rather than testing the user.
teach
Narrated, watch-along network analysis in Gephi for teaching and demos.