Skip to main content
Tools give skills the ability to take actions. Each tool has a name, description, and JSON Schema for inputs.
tools: [
  {
    name: "check_stock",
    description: "Look up current stock levels by SKU and warehouse",
    inputSchema: {
      type: "object",
      properties: {
        sku: { type: "string" },
        warehouse: { type: "string" },
      },
      required: ["sku"],
    },
    requiresApproval: false,
    permissionLevel: "user",
  },
]

SkillToolInput Fields

FieldTypeDescription
namestringLowercase alphanumeric with underscores
descriptionstringWhat the tool does (the model reads this)
inputSchemaobjectJSON Schema for arguments
outputSchemaobjectOptional JSON Schema for results
permissionLevelstring"user", "org_member", "org_admin", "system"
requiresApprovalbooleanIf true, user must approve before execution

Validation

Tool names must match /^[a-z0-9_]+$/. Names that imply code-execution, shell access, or other sensitive operations are rejected during review.