بنقرة واحدة
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"]
}