File contents Kingscript 专家(Qoder 适配版)
这个入口把 Qoder 场景下最常用的检索顺序和输出约束集中到一个文件里,避免在平台侧缺少额外引导文件时走偏。
本地资源发现
这个 skill 不应该把某一台机器的路径写死。每次进入 Kingscript 任务时,先按下面顺序解析本地资源根目录:
优先读取 skill 同目录下的 local-paths.json
如果没有,再读取当前工作区的 AGENTS.md 或同类本地说明文件,查找用户声明的本地资源路径
如果还没有,再尝试默认目录发现
只有在上一步路径真实存在时,才允许继续使用;不存在就继续降级,不要直接假设目录一定在。
local-paths.json 约定
文件位置:
skill 安装目录下的 local-paths.json
建议字段:
workspace_root
repo_root
references_root
docs_root
examples_root
sdk_root
templates_root
language_root
java_sample_jar
bos_docs_path
默认目录发现
只有在 local-paths.json 和工作区说明文件都没有提供可用路径时,才按下面顺序尝试:
当前工作区下是否存在 references/examples、references/sdk、references/templates
当前工作区的 kingscript-code-generator/references
当前工作区的上级或同级目录里是否存在名为 kingscript-code-generator 的仓库副本
解析后的固定入口
<references_root>\docs\README.md
<references_root>\docs\custom-development\README.md
<references_root>\docs\custom-development\脚本控制器开发指南.md
<examples_root>\README.md
<examples_root>\plugins\README.md
<templates_root>\README.md
<sdk_root>\README.md
<sdk_root>\strategy.md
<sdk_root>\indexes\class-index.md
<sdk_root>\indexes\method-index.md
<sdk_root>\indexes\methods-by-name.md
<sdk_root>\indexes\scenario-index.md
<sdk_root>\indexes\keyword-index.md
<language_root>\README.md
推荐检索顺序
先解析 references_root / docs_root / examples_root / sdk_root / templates_root / language_root
用户提到 KWC、脚本控制器、controller、REST API、Web API 时,先看:<references_root>\docs\custom-development\脚本控制器开发指南.md
先看最接近的代码示例:<examples_root>
需要起手骨架时看:<templates_root>\README.md
涉及 SDK 语义时看:<sdk_root>\README.md、<sdk_root>\indexes\
涉及语法、关键字和命名规则时看:<language_root>\README.md
降级查找顺序
先开目标目录下的 README.md
再看文件名是否已能直接定位
只知道类名、方法名、事件名时,优先回到 <sdk_root>\indexes\
只知道场景时,优先回到 <examples_root>\plugins\README.md 和对应“场景拆分”目录 README
如果仍然不够,再对 <references_root> 做关键字检索
索引和 examples 都不够时,再降级到 <sdk_root>\manifests\
仍不足时,再看本地 .d.ts、jar 反编译结果或在线 Javadoc
本地检索方式
优先 rg --files 或 rg -n
如果 rg 不可用或权限异常,改用 PowerShell:
Get-ChildItem -Path '<references_root>' -Recurse -Include *.md |
Select-String -Pattern 'SearchEnterEvent|EntryGridBindDataEvent|AbstractReportFormPlugin' -Encoding UTF8
如果要从 jar 里找 Java 来源,用:
jar tf '<java_sample_jar>' | Select-String 'SearchSample|TreeViewSample|ReportColumnMergePlugin'
Qoder 下的任务路由
用户问“这段代码怎么写”:先去 <examples_root>
用户问“KWC controller / 脚本控制器怎么配、怎么写、怎么部署”:先去 <references_root>\docs\custom-development\脚本控制器开发指南.md
用户问“这个类/事件是什么”:先去 <sdk_root>\classes\ 或 <sdk_root>\packages\
用户问“我该从哪个插件起手”:先去 <templates_root>
用户贴错误或异常:先去 <sdk_root>\indexes\error-index.md
仓库内资料不足且本地挂载了外部知识盘时:按 <sdk_root>\strategy.md 进入外部扩展层,先读 *-description.md,需要代码和坑点时再读 *-example.md
如果 local-paths.json 中配置了 bos_docs_path,把它视为外部知识盘主入口;只有仓库内资料不足时才进入
输出规则
先说明场景,再给代码或结论。
代码前先声明关键假设。
生成代码前先确认每个外部类、助手类、事件类、枚举和工具类的 import 路径。
最终输出前必须自检所有非全局符号都已显式 import,不能依赖 IDE 或编辑器自动导入。
如果某个符号不需要 import,必须说明它是运行时全局、当前文件局部定义,或由框架自动注入。
必须指出风险点和待确认项。
优先复用本 skill 里的示例和模板,不凭空发明 API。
本地知识不够时,按 indexes -> classes/packages -> manifests -> 外部知识盘(可选) -> 本地 .d.ts -> 在线 Javadoc 降级。
页面提示、通知、消息框相关方法,先回到 IFormView 或本地声明层确认,再决定是否可用。
调用 obj.method() 前,必须确认 method 属于 obj 当前类型或其声明继承链,不能把别的事件参数或上下文对象的方法直接套过来。
生成代码时不得把事件参数写成 any;如果当前版本声明只给出 BizDataEventArgs 或 $.java.util.EventObject,也要按声明原样输出。
禁止事项
不编造 Kingscript API、事件名或上下文对象。
不默认假设 Java 开放能力一定可用。
不忽略权限、组织、租户、账套和生命周期边界。
1 --- 2 name: kingscript-code-generator 3 description: 用于处理 Kingscript 定制化任务,包括脚本生成或修改、SDK 声明解释、Java 开放能力映射、运行时错误诊断、实现风险审查或二开模式设计。优先复用共享示例、模板、SDK 索引和语法索引,不编造不可用的 API。 4 --- 5 6 # Kingscript 专家(Qoder 适配版) 7 8 这个入口把 Qoder 场景下最常用的检索顺序和输出约束集中到一个文件里,避免在平台侧缺少额外引导文件时走偏。 9 10 ## 本地资源发现 11 12 这个 skill 不应该把某一台机器的路径写死。每次进入 Kingscript 任务时,先按下面顺序解析本地资源根目录: 13 14 1. 优先读取 skill 同目录下的 `local-paths.json` 15 2. 如果没有,再读取当前工作区的 `AGENTS.md` 或同类本地说明文件,查找用户声明的本地资源路径 16 3. 如果还没有,再尝试默认目录发现 17 18 只有在上一步路径真实存在时,才允许继续使用;不存在就继续降级,不要直接假设目录一定在。 19 20 ### `local-paths.json` 约定 21 22 文件位置: 23 24 - skill 安装目录下的 `local-paths.json` 25 26 建议字段: 27 28 - `workspace_root` 29 - `repo_root` 30 - `references_root` 31 - `docs_root` 32 - `examples_root` 33 - `sdk_root` 34 - `templates_root` 35 - `language_root` 36 - `java_sample_jar` 37 - `bos_docs_path` 38 39 ### 默认目录发现 40 41 只有在 `local-paths.json` 和工作区说明文件都没有提供可用路径时,才按下面顺序尝试: 42 43 1. 当前工作区下是否存在 `references/examples`、`references/sdk`、`references/templates` 44 2. 当前工作区的 `kingscript-code-generator/references` 45 3. 当前工作区的上级或同级目录里是否存在名为 `kingscript-code-generator` 的仓库副本 46 47 ## 解析后的固定入口 48 49 - `<references_root>\docs\README.md` 50 - `<references_root>\docs\custom-development\README.md` 51 - `<references_root>\docs\custom-development\脚本控制器开发指南.md` 52 - `<examples_root>\README.md` 53 - `<examples_root>\plugins\README.md` 54 - `<templates_root>\README.md` 55 - `<sdk_root>\README.md` 56 - `<sdk_root>\strategy.md` 57 - `<sdk_root>\indexes\class-index.md` 58 - `<sdk_root>\indexes\method-index.md` 59 - `<sdk_root>\indexes\methods-by-name.md` 60 - `<sdk_root>\indexes\scenario-index.md` 61 - `<sdk_root>\indexes\keyword-index.md` 62 - `<language_root>\README.md` 63 64 ## 推荐检索顺序 65 66 1. 先解析 `references_root / docs_root / examples_root / sdk_root / templates_root / language_root` 67 2. 用户提到 `KWC`、`脚本控制器`、`controller`、`REST API`、`Web API` 时,先看:`<references_root>\docs\custom-development\脚本控制器开发指南.md` 68 3. 先看最接近的代码示例:`<examples_root>` 69 4. 需要起手骨架时看:`<templates_root>\README.md` 70 5. 涉及 SDK 语义时看:`<sdk_root>\README.md`、`<sdk_root>\indexes\` 71 6. 涉及语法、关键字和命名规则时看:`<language_root>\README.md` 72 73 ## 降级查找顺序 74 75 1. 先开目标目录下的 `README.md` 76 2. 再看文件名是否已能直接定位 77 3. 只知道类名、方法名、事件名时,优先回到 `<sdk_root>\indexes\` 78 4. 只知道场景时,优先回到 `<examples_root>\plugins\README.md` 和对应“场景拆分”目录 README 79 5. 如果仍然不够,再对 `<references_root>` 做关键字检索 80 6. 索引和 examples 都不够时,再降级到 `<sdk_root>\manifests\` 81 7. 仍不足时,再看本地 `.d.ts`、`jar` 反编译结果或在线 Javadoc 82 83 ## 本地检索方式 84 85 1. 优先 `rg --files` 或 `rg -n` 86 2. 如果 `rg` 不可用或权限异常,改用 PowerShell: 87 88 ```powershell 89 Get-ChildItem -Path '<references_root>' -Recurse -Include *.md | 90 Select-String -Pattern 'SearchEnterEvent|EntryGridBindDataEvent|AbstractReportFormPlugin' -Encoding UTF8 91 ``` 92 93 3. 如果要从 `jar` 里找 Java 来源,用: 94 95 ```powershell 96 jar tf '<java_sample_jar>' | Select-String 'SearchSample|TreeViewSample|ReportColumnMergePlugin' 97 ``` 98 99 ## Qoder 下的任务路由 100 101 - 用户问“这段代码怎么写”:先去 `<examples_root>` 102 - 用户问“KWC controller / 脚本控制器怎么配、怎么写、怎么部署”:先去 `<references_root>\docs\custom-development\脚本控制器开发指南.md` 103 - 用户问“这个类/事件是什么”:先去 `<sdk_root>\classes\` 或 `<sdk_root>\packages\` 104 - 用户问“我该从哪个插件起手”:先去 `<templates_root>` 105 - 用户贴错误或异常:先去 `<sdk_root>\indexes\error-index.md` 106 - 仓库内资料不足且本地挂载了外部知识盘时:按 `<sdk_root>\strategy.md` 进入外部扩展层,先读 `*-description.md`,需要代码和坑点时再读 `*-example.md` 107 - 如果 `local-paths.json` 中配置了 `bos_docs_path`,把它视为外部知识盘主入口;只有仓库内资料不足时才进入 108 109 ## 输出规则 110 111 - 先说明场景,再给代码或结论。 112 - 代码前先声明关键假设。 113 - 生成代码前先确认每个外部类、助手类、事件类、枚举和工具类的 import 路径。 114 - 最终输出前必须自检所有非全局符号都已显式 import,不能依赖 IDE 或编辑器自动导入。 115 - 如果某个符号不需要 import,必须说明它是运行时全局、当前文件局部定义,或由框架自动注入。 116 - 必须指出风险点和待确认项。 117 - 优先复用本 skill 里的示例和模板,不凭空发明 API。 118 - 本地知识不够时,按 `indexes -> classes/packages -> manifests -> 外部知识盘(可选) -> 本地 .d.ts -> 在线 Javadoc` 降级。 119 - 页面提示、通知、消息框相关方法,先回到 `IFormView` 或本地声明层确认,再决定是否可用。 120 - 调用 `obj.method()` 前,必须确认 `method` 属于 `obj` 当前类型或其声明继承链,不能把别的事件参数或上下文对象的方法直接套过来。 121 - 生成代码时不得把事件参数写成 `any`;如果当前版本声明只给出 `BizDataEventArgs` 或 `$.java.util.EventObject`,也要按声明原样输出。 122 123 ## 禁止事项 124 125 - 不编造 Kingscript API、事件名或上下文对象。 126 - 不默认假设 Java 开放能力一定可用。 127 - 不忽略权限、组织、租户、账套和生命周期边界。
kingdee/kwc-skills/tree/main/skills/kingscript-code-generator commit 66fb911bc2
Frequently asked questions How do I install the Kingscript Code Generator skill? Run npx skillmds@latest add kingdee/kingscript-code-generator in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Kingscript Code Generator skill do? 用于处理 Kingscript 定制化任务,包括脚本生成或修改、SDK 声明解释、Java 开放能力映射、运行时错误诊断、实现风险审查或二开模式设计。优先复用共享示例、模板、SDK 索引和语法索引,不编造不可用的 API。 It is listed under Integrations & APIs on SkillMD.
Is Kingscript Code Generator safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Kingscript Code Generator? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Kingscript Code Generator free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Kingscript Code Generator? kingdee (@kingdee) published this skill. Their other Agent Skills are listed on their SkillMD profile.