{
  "type": "record",
  "Aspect": {
    "name": "agentSkillInfo"
  },
  "name": "AgentSkillInfo",
  "namespace": "com.linkedin.pegasus2avro.agentskill",
  "fields": [
    {
      "Searchable": {
        "boostScore": 10.0,
        "enableAutocomplete": true,
        "fieldNameAliases": [
          "_entityName"
        ],
        "fieldType": "WORD_GRAM"
      },
      "type": "string",
      "name": "name",
      "doc": "Display name of the skill."
    },
    {
      "Searchable": {
        "fieldType": "TEXT",
        "hasValuesFieldName": "hasDescription"
      },
      "type": [
        "null",
        "string"
      ],
      "name": "description",
      "default": null,
      "doc": "Description of what the skill does and when to use it."
    },
    {
      "type": [
        "null",
        "string"
      ],
      "name": "instructions",
      "default": null,
      "doc": "Markdown body of the skill's SKILL.md file, excluding YAML frontmatter.\nThis is the execution guidance loaded when the skill is activated."
    },
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "SkillSourceRepository",
          "namespace": "com.linkedin.pegasus2avro.agentskill",
          "fields": [
            {
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.Urn"
              },
              "type": [
                "null",
                "string"
              ],
              "name": "repositoryUrn",
              "default": null,
              "doc": "URN of the Repository entity in DataHub that owns this skill definition.\nPreferred over url when the repository is already cataloged in DataHub.",
              "Urn": "Urn"
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "url",
              "default": null,
              "doc": "External URL of the git repository, for repositories not cataloged as\nDataHub Repository entities."
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "path",
              "default": null,
              "doc": "Path within the repository to the skill definition file (e.g.\n\"customer-service/SKILL.md\")."
            }
          ],
          "doc": "Pointer to the git location where a skill is defined. Skills follow a\n\"git as source of truth\" pattern (e.g. the agentskills.io standard):\nthe repository owns the skill definition, DataHub catalogs it."
        }
      ],
      "name": "sourceRepository",
      "default": null,
      "doc": "Git location where the skill is defined (source of truth)."
    },
    {
      "Relationship": {
        "/*": {
          "entityTypes": [
            "api"
          ],
          "name": "SkillRequiresTool"
        }
      },
      "Searchable": {
        "/*": {
          "fieldName": "requiredTools",
          "fieldType": "URN",
          "queryByDefault": false
        }
      },
      "type": [
        "null",
        {
          "type": "array",
          "items": "string"
        }
      ],
      "name": "requiredTools",
      "default": null,
      "doc": "Tools this skill requires to operate.",
      "Urn": "Urn",
      "urn_is_array": true
    },
    {
      "Searchable": {
        "/time": {
          "fieldName": "createdAt",
          "fieldType": "DATETIME",
          "queryByDefault": false
        }
      },
      "type": [
        "null",
        {
          "type": "record",
          "name": "AuditStamp",
          "namespace": "com.linkedin.pegasus2avro.common",
          "fields": [
            {
              "type": "long",
              "name": "time",
              "doc": "When did the resource/association/sub-resource move into the specific lifecycle stage represented by this AuditEvent."
            },
            {
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.Urn"
              },
              "type": "string",
              "name": "actor",
              "doc": "The entity (e.g. a member URN) which will be credited for moving the resource/association/sub-resource into the specific lifecycle stage. It is also the one used to authorize the change.",
              "Urn": "Urn"
            },
            {
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.Urn"
              },
              "type": [
                "null",
                "string"
              ],
              "name": "impersonator",
              "default": null,
              "doc": "The entity (e.g. a service URN) which performs the change on behalf of the Actor and must be authorized to act as the Actor.",
              "Urn": "Urn"
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "message",
              "default": null,
              "doc": "Additional context around how DataHub was informed of the particular change. For example: was the change created by an automated process, or manually."
            }
          ],
          "doc": "Data captured on a resource/association/sub-resource level giving insight into when that resource/association/sub-resource moved into a particular lifecycle stage, and who acted to move it into that specific lifecycle stage."
        }
      ],
      "name": "created",
      "default": null,
      "doc": "When this skill was registered."
    },
    {
      "Searchable": {
        "/time": {
          "fieldName": "lastModifiedAt",
          "fieldType": "DATETIME",
          "queryByDefault": false
        }
      },
      "type": [
        "null",
        "com.linkedin.pegasus2avro.common.AuditStamp"
      ],
      "name": "lastModified",
      "default": null,
      "doc": "When this skill was last modified."
    }
  ],
  "doc": "Properties of an AgentSkill \u2014 a high-level capability bundle (specialized\nprompts/instructions + the tools it relies on). Skills are\nhigher-level than tools: a skill packages domain expertise and the\nlow-level tools needed to apply it."
}