feat(skills): add tsl syntax reference skill

This commit is contained in:
csh
2026-07-13 09:16:51 +08:00
parent 1a9a1aeee9
commit ce1b92bbde
42 changed files with 562 additions and 461 deletions
+52
View File
@@ -0,0 +1,52 @@
---
name: tsl-syntax-reference
description: Use when Codex 需要编写、修改、审查或解释 TSL/TSF 代码,或排查语法错误并核对语言与运行时规则。
---
# TSL Syntax Reference
## 范围判断
只处理 TSL/TSF 的语言语法、文件模型、表达式、控制流、对象、运行时语言结构和 TS-SQL 外形。先判断用户的问题是否属于“语言怎么写”;API 函数事实、命名偏好、代码风格、工具链、模块集成和项目执行事实分别交给其事实所有者。
## 写代码前确定文件模型
生成或修改代码前,先读 [references/01_quickstart.md](references/01_quickstart.md),再根据交付目标确定 `.tsl``.tsf` 文件模型。后缀或顶层结构会影响正确性而需求不足时,停止并向用户确认;不要凭 Pascal、Python、JavaScript、TypeScript 或其他相似语言补全 TSL 语法。
## 选择一个主专题
从 [references/index.md](references/index.md) 的“任务 → 主专题 → 停止条件”表选择一个主专题。先按最具体的任务信号命中,不要顺序通读全部专题,也不要把路由页本身当成语法事实页。
## 渐进读取候选页
先读主专题,只在主专题明确列出的候选页中继续读取。每次只补当前缺口;得到足够事实后停止。遇到语法错误、相互矛盾的写法或高频误写时,再读 [references/11_pitfalls.md](references/11_pitfalls.md) 交叉核对。
## 遵守代码块身份协议
页面级元数据只用于粗筛,生成代码时以紧邻代码块的 `代码块身份` 为准:
- `可直接照写示例`:可以作为源码外形,但仍需按当前任务替换业务内容。
- `反例 / 不可照写`:只用于识别错误边界,不得复制为实现。
- `输出片段`:只表示结果,不得当作源码。
- `配置片段 / 概念骨架`:只表达结构或配置意图,不得假定为可直接运行代码。
代码块没有身份、身份与正文冲突或缺少支持当前结论的事实时,停止生成并报告缺口。
## 交接其他事实所有者
- API 名称、签名、参数、返回值和金融取数事实:使用 `tsl-api-reference` skill。
- 命名偏好:交给仓库的 `docs/tsl/naming.md`
- 代码风格:交给仓库的 `docs/tsl/code_style.md`
- 验证命令与工具链:交给仓库的 `docs/tsl/toolchain.md`、项目脚本或 CI。
- Python 调 TSL、回测、通知等模块集成:交给仓库的 `docs/tsl/modules/`
- 项目路径、数据结构、部署方式和运行参数:只使用目标项目的真实文档与配置。
不要把这些外部领域复制进本 Skill;完成交接后由对应事实所有者继续判断。
## 缺口时停止
主专题和候选页没有给出结论、运行时版本不明、项目事实缺失或依赖的 Skill 不可用时,明确说明缺失项并停止。不得以经验、相似语言或猜测产生新的 TSL 写法。
## 执行 TSL 前读取项目指引
需要实际执行 TSL 时,先读取目标文件附近最近的 `AGENTS.md`,完成平台检测并严格使用其中指定的解释器环境。不同平台或多个 Windows 环境不得混用、默认任选或自行回退。