一键导入
openai-tool-schema-strict
Enforce strict OpenAI function tool JSON schema rules when defining tool parameters
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Enforce strict OpenAI function tool JSON schema rules when defining tool parameters
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guided wizard for adding a new LLM tool to Minibot. Asks targeted questions then generates all required files: tool class, description .txt, config schema entry, and factory registration. Use when the user wants to add a new tool to minibot/llm/tools/.
Review and refactor Python code to preserve Minibot's mini hex architecture. Use when checking layer boundaries across `minibot.core`, `minibot.app`, `minibot.adapters`, `minibot.llm`, channel handlers, provider/tool integrations, async orchestration, dependency direction, or when a refactor risks moving logic into the wrong layer.
| name | openai-tool-schema-strict |
| description | Enforce strict OpenAI function tool JSON schema rules when defining tool parameters |
| compatibility | opencode |
| metadata | {"audience":"ai-agents","scope":"tool-schema"} |
parameters with type: object, properties, required, and additionalProperties: false.required must include every key declared in properties, even nullable ones."type": ["string", "null"]), not by omitting from required.invalid_function_parameters and Missing '<field>'.parameters.properties, add the same key to parameters.required.null in runtime validation.additionalProperties: false unless there is an explicit requirement to allow arbitrary keys.null, runtime coercion must accept None.set(properties.keys()) with set(required); they must match exactly.required.{
"type": "object",
"properties": {
"input": { "type": "string" },
"limit": { "type": ["integer", "null"], "minimum": 1 }
},
"required": ["input", "limit"],
"additionalProperties": false
}
{
"type": "object",
"properties": {
"input": { "type": "string" },
"limit": { "type": ["integer", "null"] }
},
"required": ["input"]
}