.NET API
AgentSkillDefinition
Tracon.Abstractions.dllA markdown-based skill definition that can be loaded into an agent at run time.
public sealed record AgentSkillDefinition : IEquatable<AgentSkillDefinition>- Inheritance
- object ← AgentSkillDefinition
- Implements
- IEquatable<AgentSkillDefinition>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”A skill carries instructions, resources, and AgentSkillDefinition.Scripts. Script
execution is a separate security boundary: unless
TraconSkillScriptOptions.AllowStoredScripts is enabled, stored
scripts are only kept in storage and never executed.
Constructors
Section titled “Constructors”AgentSkillDefinition()
Section titled “ AgentSkillDefinition()”public AgentSkillDefinition()Properties
Section titled “Properties”AllowedTools
Section titled “ AllowedTools”The allowed-tools declaration in the MAF frontmatter.
public string? AllowedTools { get; init; }Property Value
Section titled “Property Value”Compatibility
Section titled “ Compatibility”The skill’s compatibility statement.
public string? Compatibility { get; init; }Property Value
Section titled “Property Value”CreatedAt
Section titled “ CreatedAt”The skill’s creation time.
public DateTimeOffset CreatedAt { get; init; }Property Value
Section titled “Property Value”Description
Section titled “ Description”The skill’s short description.
public required string Description { get; init; }Property Value
Section titled “Property Value”Enabled
Section titled “ Enabled”Whether the skill is included in compilation.
public bool Enabled { get; init; }Property Value
Section titled “Property Value”The skill’s unique identifier.
public Guid Id { get; init; }Property Value
Section titled “Property Value”Instructions
Section titled “ Instructions”The markdown instructions given to the model.
public required string Instructions { get; init; }Property Value
Section titled “Property Value”License
Section titled “ License”The skill license.
public string? License { get; init; }Property Value
Section titled “Property Value”Metadata
Section titled “ Metadata”Application-specific free-form metadata.
public IReadOnlyDictionary<string, JsonElement> Metadata { get; init; }Property Value
Section titled “Property Value”IReadOnlyDictionary<string, JsonElement>
The skill name. Agent definitions bind to the skill with this name.
public required string Name { get; init; }Property Value
Section titled “Property Value”Origin
Section titled “ Origin”Where the definition comes from: AgentDefinitionOrigin.Code
for a skill registered with AddSkill, AgentDefinitionOrigin.Database
for a stored one.
public AgentDefinitionOrigin Origin { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”A code skill wins over a stored skill with the same name: it is the one the
runtime loads and the one whose scripts run. GET /api/skills/{name}
resolves the name the same way and reports which one it returned.
Resources
Section titled “ Resources”The skill’s resources.
public IReadOnlyList<AgentSkillResourceDefinition> Resources { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<AgentSkillResourceDefinition>
ScriptSetHash
Section titled “ ScriptSetHash”The fingerprint of the whole script set: every script’s name and content hash. Computed, never stored; a value sent in a request is ignored.
public string ScriptSetHash { get; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”A grant without a script name (SkillScriptGrant.ScriptName is null) pins this value. Adding, removing, renaming, or changing any script changes it, and the grant stops authorizing every script of the skill until it is granted again. A skill without scripts has a fingerprint too, so its first script changes it. 64 upper-case hexadecimal characters (SHA-256).
Scripts
Section titled “ Scripts”The skill’s scripts, stored in the database or registered in code.
public IReadOnlyList<AgentSkillScriptDefinition> Scripts { get; init; }Property Value
Section titled “Property Value”IReadOnlyList<AgentSkillScriptDefinition>
Remarks
Section titled “Remarks”These scripts run on the server. They are visible to the model only
when TraconSkillScriptOptions.AllowStoredScripts is on;
while off, the record is stored but cannot be executed. Each one runs only
under a grant pinned to its content.
TenantId
Section titled “ TenantId”The tenant the skill belongs to.
public required string TenantId { get; init; }Property Value
Section titled “Property Value”UpdatedAt
Section titled “ UpdatedAt”The skill’s last-updated time.
public DateTimeOffset UpdatedAt { get; init; }Property Value
Section titled “Property Value”Version
Section titled “ Version”The skill record’s version.
public int Version { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(AgentSkillDefinition?)
Section titled “ Equals(AgentSkillDefinition?)”public bool Equals(AgentSkillDefinition? other)Parameters
Section titled “Parameters”other AgentSkillDefinition?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(AgentSkillDefinition?, AgentSkillDefinition?)
Section titled “ operator ==(AgentSkillDefinition?, AgentSkillDefinition?)”public static bool operator ==(AgentSkillDefinition? left, AgentSkillDefinition? right)Parameters
Section titled “Parameters”left AgentSkillDefinition?
right AgentSkillDefinition?
Returns
Section titled “Returns”operator !=(AgentSkillDefinition?, AgentSkillDefinition?)
Section titled “ operator !=(AgentSkillDefinition?, AgentSkillDefinition?)”public static bool operator !=(AgentSkillDefinition? left, AgentSkillDefinition? right)Parameters
Section titled “Parameters”left AgentSkillDefinition?
right AgentSkillDefinition?