♻️ refactor(tsl-syntax): make reference lookup-only
This commit is contained in:
@@ -5,48 +5,54 @@ description: Use when Codex 需要编写、修改、审查或解释 TSL/TSF 代
|
||||
|
||||
# TSL Syntax Reference
|
||||
|
||||
## 范围判断
|
||||
## 唯一检索入口
|
||||
|
||||
只处理 TSL/TSF 的语言语法、文件模型、表达式、控制流、对象、运行时语言结构和 TS-SQL 外形。先判断用户的问题是否属于“语言怎么写”;API 函数事实、命名偏好、代码风格、工具链、模块集成和项目执行事实分别交给其事实所有者。
|
||||
本 Skill 只通过随附的 `scripts/lookup.py` 检索权威 TSL/TSF 语法事实,不手工选择或顺序通读 `references/` 页面。根据任务意图选择模式,并用用户的原始术语、错误文本和关键语法词组成查询:
|
||||
|
||||
## 写代码前确定文件模型
|
||||
```powershell
|
||||
python <this-skill-dir>/scripts/lookup.py --query "命名参数 默认参数" --mode write
|
||||
python <this-skill-dir>/scripts/lookup.py --query "invalid statement 声明区" --mode diagnose
|
||||
python <this-skill-dir>/scripts/lookup.py --query "数组下标" --mode explain
|
||||
```
|
||||
|
||||
生成或修改代码前,先读 [references/01_quickstart.md](references/01_quickstart.md),再根据交付目标确定 `.tsl` 或 `.tsf` 文件模型。后缀或顶层结构会影响正确性而需求不足时,停止并向用户确认;不要凭 Pascal、Python、JavaScript、TypeScript 或其他相似语言补全 TSL 语法。
|
||||
- `write`:编写或修改代码。
|
||||
- `diagnose`:定位语法错误或错误写法。
|
||||
- `explain`:解释语言规则或代码含义。
|
||||
|
||||
## 选择一个主专题
|
||||
以 lookup 返回的章节作为本次任务的事实来源;需要补充时改进查询词并再次检索,不得绕过 lookup 手工路由。
|
||||
|
||||
从 [references/index.md](references/index.md) 的“任务 → 主专题 → 停止条件”表选择一个主专题。先按最具体的任务信号命中,不要顺序通读全部专题,也不要把路由页本身当成语法事实页。
|
||||
## 事实边界
|
||||
|
||||
## 渐进读取候选页
|
||||
本 Skill 只拥有 TSL/TSF 的语言语法、文件模型、表达式、控制流、对象、运行时语言结构和 TS-SQL 外形。其他事实交给对应所有者:
|
||||
|
||||
先读主专题,只在主专题明确列出的候选页中继续读取。每次只补当前缺口;得到足够事实后停止。遇到语法错误、相互矛盾的写法或高频误写时,再读 [references/11_pitfalls.md](references/11_pitfalls.md) 交叉核对。
|
||||
- API 名称、签名、参数、返回值和金融取数事实:使用 `tsl-api-reference` skill。
|
||||
- 命名、代码风格、工具链和模块集成:使用目标仓库相应文档、脚本或 CI。
|
||||
- 项目路径、数据结构、部署方式和运行参数:只使用目标项目的真实文档与配置。
|
||||
|
||||
## 遵守代码块身份协议
|
||||
不要把外部领域事实复制或猜测进本 Skill。
|
||||
|
||||
页面级元数据只用于粗筛,生成代码时以紧邻代码块的 `代码块身份` 为准:
|
||||
## 代码块身份
|
||||
|
||||
- `可直接照写示例`:可以作为源码外形,但仍需按当前任务替换业务内容。
|
||||
生成或判断代码时,必须遵守 lookup 结果中紧邻代码围栏的身份。只允许以下五种身份:
|
||||
|
||||
- `可直接照写示例`:可作为源码外形,但仍需按当前任务替换业务内容。
|
||||
- `反例 / 不可照写`:只用于识别错误边界,不得复制为实现。
|
||||
- `输出片段`:只表示结果,不得当作源码。
|
||||
- `配置片段 / 概念骨架`:只表达结构或配置意图,不得假定为可直接运行代码。
|
||||
|
||||
代码块没有身份、身份与正文冲突或缺少支持当前结论的事实时,停止生成并报告缺口。
|
||||
|
||||
## 交接其他事实所有者
|
||||
|
||||
- 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 写法。
|
||||
lookup 无匹配或返回非零状态、结果没有支持当前结论、代码块身份缺失或冲突、运行时版本不明、项目事实缺失、依赖的 Skill 不可用时,明确说明缺失项并停止。不得改为手工浏览全部参考页,也不得凭经验、相似语言或猜测产生新的 TSL 写法。
|
||||
|
||||
## 执行 TSL 前读取项目指引
|
||||
|
||||
需要实际执行 TSL 时,先读取目标文件附近最近的 `AGENTS.md`,完成平台检测并严格使用其中指定的解释器环境。不同平台或多个 Windows 环境不得混用、默认任选或自行回退。
|
||||
|
||||
## 维护校验
|
||||
|
||||
维护本 Skill、参考页或 lookup 实现后必须运行:
|
||||
|
||||
```powershell
|
||||
python <this-skill-dir>/scripts/lookup.py --check
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user