Dust · Schema

Dust Skill

A reusable Skill bundle that can be imported into a Dust workspace and called by agents.

AgentsAIArtificial IntelligenceCustom WorkflowsData SourcesDustEnterprise AIKnowledge ManagementLLMMCPMulti-ModelRAG

Properties

Name Type Description
sId string Unique string identifier for the skill
createdAt number Timestamp of when the skill was created
updatedAt number Timestamp of when the skill was last updated
editedBy integer Numeric identifier of the last editor
status string Current status of the skill
name string Name of the skill
agentFacingDescription string Description shown to agents when selecting or using the skill
userFacingDescription string Description shown to workspace users
icon string Icon identifier for the skill
source string Source used to create or import the skill
sourceMetadata object
reinforcement string Reinforcement setting for the skill
lastReinforcementAnalysisAt string Timestamp of the last reinforcement analysis, when available
requestedSpaceIds array Space identifiers the skill needs access to
fileAttachments array
canWrite boolean Whether the authenticated actor can edit the skill
isExtendable boolean Whether this skill can be extended by another skill
isDefault boolean Whether this skill is enabled by default
extendedSkillId string Identifier of the extended skill, when applicable
instructions string Instructions used by the agent when running the skill
instructionsHtml string HTML representation of the skill instructions
tools array
View JSON Schema on GitHub

JSON Schema

dust-skill-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/dust-tt/main/json-schema/dust-skill-schema.json",
  "title": "Dust Skill",
  "description": "A reusable Skill bundle that can be imported into a Dust workspace and called by agents.",
  "type": "object",
  "properties": {
    "sId": {
      "type": "string",
      "description": "Unique string identifier for the skill",
      "example": "skill_abc123"
    },
    "createdAt": {
      "type": "number",
      "nullable": true,
      "description": "Timestamp of when the skill was created"
    },
    "updatedAt": {
      "type": "number",
      "nullable": true,
      "description": "Timestamp of when the skill was last updated"
    },
    "editedBy": {
      "type": "integer",
      "nullable": true,
      "description": "Numeric identifier of the last editor"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "archived",
        "suggested"
      ],
      "description": "Current status of the skill",
      "example": "active"
    },
    "name": {
      "type": "string",
      "description": "Name of the skill",
      "example": "Customer Support"
    },
    "agentFacingDescription": {
      "type": "string",
      "description": "Description shown to agents when selecting or using the skill",
      "example": "Use this skill to answer customer support questions."
    },
    "userFacingDescription": {
      "type": "string",
      "description": "Description shown to workspace users",
      "example": "Answers support questions with the right workspace context."
    },
    "icon": {
      "type": "string",
      "nullable": true,
      "description": "Icon identifier for the skill",
      "example": "ActionRobotIcon"
    },
    "source": {
      "type": "string",
      "nullable": true,
      "enum": [
        "web_app",
        "github",
        "api",
        "local_file"
      ],
      "description": "Source used to create or import the skill"
    },
    "sourceMetadata": {
      "type": "object",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/SkillSourceMetadata"
        }
      ]
    },
    "reinforcement": {
      "type": "string",
      "enum": [
        "auto",
        "on",
        "off"
      ],
      "description": "Reinforcement setting for the skill"
    },
    "lastReinforcementAnalysisAt": {
      "type": "string",
      "nullable": true,
      "description": "Timestamp of the last reinforcement analysis, when available"
    },
    "requestedSpaceIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Space identifiers the skill needs access to"
    },
    "fileAttachments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "description": "Unique string identifier for the attached file"
          },
          "fileName": {
            "type": "string",
            "description": "Name of the attached file"
          }
        }
      }
    },
    "canWrite": {
      "type": "boolean",
      "description": "Whether the authenticated actor can edit the skill"
    },
    "isExtendable": {
      "type": "boolean",
      "description": "Whether this skill can be extended by another skill"
    },
    "isDefault": {
      "type": "boolean",
      "description": "Whether this skill is enabled by default"
    },
    "extendedSkillId": {
      "type": "string",
      "nullable": true,
      "description": "Identifier of the extended skill, when applicable"
    },
    "instructions": {
      "type": "string",
      "nullable": true,
      "description": "Instructions used by the agent when running the skill"
    },
    "instructionsHtml": {
      "type": "string",
      "nullable": true,
      "description": "HTML representation of the skill instructions"
    },
    "tools": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MCPServerView"
      }
    }
  },
  "$defs": {
    "MCPServerView": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Unique identifier for the MCP server view",
          "example": 123
        },
        "sId": {
          "type": "string",
          "description": "Unique string identifier for the MCP server view",
          "example": "mcp_sv_abc123"
        },
        "name": {
          "type": "string",
          "nullable": true,
          "description": "Custom name for the MCP server view (null if not set)",
          "example": "My Custom MCP Server"
        },
        "description": {
          "type": "string",
          "nullable": true,
          "description": "Custom description for the MCP server view (null if not set)",
          "example": "This MCP server handles customer data operations"
        },
        "createdAt": {
          "type": "number",
          "description": "Unix timestamp of when the MCP server view was created",
          "example": 1625097600
        },
        "updatedAt": {
          "type": "number",
          "description": "Unix timestamp of when the MCP server view was last updated",
          "example": 1625184000
        },
        "spaceId": {
          "type": "string",
          "description": "ID of the space containing the MCP server view",
          "example": "spc_xyz789"
        },
        "serverType": {
          "type": "string",
          "enum": [
            "remote",
            "internal"
          ],
          "description": "Type of the MCP server",
          "example": "remote"
        },
        "server": {
          "type": "object",
          "properties": {
            "sId": {
              "type": "string",
              "description": "Unique string identifier for the MCP server",
              "example": "mcp_srv_def456"
            },
            "name": {
              "type": "string",
              "description": "Name of the MCP server",
              "example": "Customer Data Server"
            },
            "version": {
              "type": "string",
              "description": "Version of the MCP server",
              "example": "1.0.0"
            },
            "description": {
              "type": "string",
              "description": "Description of the MCP server",
              "example": "Handles customer data operations and queries"
            },
            "icon": {
              "type": "string",
              "description": "Icon identifier for the MCP server",
              "example": "database"
            },
            "authorization": {
              "type": "object",
              "nullable": true,
              "properties": {
                "provider": {
                  "type": "string",
                  "description": "OAuth provider for authorization",
                  "example": "github"
                },
                "supported_use_cases": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "platform_actions",
                      "personal_actions"
                    ]
                  },
                  "description": "Supported use cases for the authorization",
                  "example": [
                    "platform_actions"
                  ]
                },
                "scope": {
                  "type": "string",
                  "description": "OAuth scope required",
                  "example": "repo:read"
                }
              }
            },
            "tools": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the tool",
                    "example": "query_customers"
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of what the tool does",
                    "example": "Query customer database for information"
                  },
                  "inputSchema": {
                    "type": "object",
                    "description": "JSON Schema for the tool's input parameters",
                    "example": {
                      "type": "object",
                      "properties": {
                        "customerId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            },
            "availability": {
              "type": "string",
              "description": "Availability status of the MCP server",
              "example": "production"
            },
            "allowMultipleInstances": {
              "type": "boolean",
              "description": "Whether multiple instances of this server can be created",
              "example": false
            },
            "documentationUrl": {
              "type": "string",
              "nullable": true,
              "description": "URL to the server's documentation",
              "example": "https://docs.example.com/mcp-server"
            }
          }
        },
        "oAuthUseCase": {
          "type": "string",
          "nullable": true,
          "enum": [
            "platform_actions",
            "personal_actions"
          ],
          "description": "OAuth use case for the MCP server view",
          "example": "platform_actions"
        },
        "editedByUser": {
          "type": "object",
          "nullable": true,
          "description": "Information about the user who last edited the MCP server view",
          "properties": {
            "editedAt": {
              "type": "number",
              "nullable": true,
              "description": "Unix timestamp of when the edit occurred",
              "example": 1625184000
            },
            "fullName": {
              "type": "string",
              "nullable": true,
              "description": "Full name of the editor",
              "example": "John Doe"
            },
            "imageUrl": {
              "type": "string",
              "nullable": true,
              "description": "Profile image URL of the editor",
              "example": "https://example.com/profile/johndoe.jpg"
            }
          }
        }
      }
    },
    "SkillSourceMetadata": {
      "type": "object",
      "properties": {
        "repoUrl": {
          "type": "string",
          "description": "URL of the source repository, when applicable",
          "example": "https://github.com/dust-tt/skills"
        },
        "filePath": {
          "type": "string",
          "description": "Path to the source skill file",
          "example": "support/SKILL.md"
        }
      }
    }
  }
}