# IAgentSkillStore

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.iagentskillstore/
> Summary: IAgentSkillStore: The store for a tenant's run-time skill definitions.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

The store for a tenant's run-time skill definitions.

```csharp
public interface IAgentSkillStore
```

## Remarks

**Tenant behavior — EXPECTED tenant, uniformly, with no ambient
fallback.** Every member takes `tenantId` as an explicit
parameter; an implementation does not read `ITenantContext` at all.
This differs from the neighboring [IAgentDefinitionStore](/api/tracon.iagentdefinitionstore/),
which reads the ambient tenant internally instead — see that interface's
remarks for why the shape is not uniform across the cluster.

## Methods

### <a id="Tracon_IAgentSkillStore_DeleteAsync_System_String_System_String_System_Threading_CancellationToken_"></a> DeleteAsync\(string, string, CancellationToken\)

Deletes a tenant's skill.

```csharp
ValueTask<bool> DeleteAsync(string tenantId, string name, CancellationToken cancellationToken = default)
```

#### Parameters

`tenantId` [string](https://learn.microsoft.com/dotnet/api/system.string)

The tenant identifier.

`name` [string](https://learn.microsoft.com/dotnet/api/system.string)

The skill name.

`cancellationToken` [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken)

The cancellation token.

#### Returns

 [ValueTask](https://learn.microsoft.com/dotnet/api/system.threading.tasks.valuetask\-1)<[bool](https://learn.microsoft.com/dotnet/api/system.boolean)\>

[true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) if the skill was deleted.

### <a id="Tracon_IAgentSkillStore_GetAsync_System_String_System_String_System_Threading_CancellationToken_"></a> GetAsync\(string, string, CancellationToken\)

Fetches the skill matching the given name within the tenant.

```csharp
ValueTask<AgentSkillDefinition?> GetAsync(string tenantId, string name, CancellationToken cancellationToken = default)
```

#### Parameters

`tenantId` [string](https://learn.microsoft.com/dotnet/api/system.string)

The tenant identifier.

`name` [string](https://learn.microsoft.com/dotnet/api/system.string)

The skill name.

`cancellationToken` [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken)

The cancellation token.

#### Returns

 [ValueTask](https://learn.microsoft.com/dotnet/api/system.threading.tasks.valuetask\-1)<[AgentSkillDefinition](/api/tracon.agentskilldefinition/)?\>

The skill; [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) if it does not exist.

### <a id="Tracon_IAgentSkillStore_ListAsync_System_String_System_Threading_CancellationToken_"></a> ListAsync\(string, CancellationToken\)

Lists all of a tenant's skills.

```csharp
ValueTask<IReadOnlyList<AgentSkillDefinition>> ListAsync(string tenantId, CancellationToken cancellationToken = default)
```

#### Parameters

`tenantId` [string](https://learn.microsoft.com/dotnet/api/system.string)

The tenant identifier.

`cancellationToken` [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken)

The cancellation token.

#### Returns

 [ValueTask](https://learn.microsoft.com/dotnet/api/system.threading.tasks.valuetask\-1)<[IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[AgentSkillDefinition](/api/tracon.agentskilldefinition/)\>\>

The skills, ordered by name.

### <a id="Tracon_IAgentSkillStore_SaveAsync_Tracon_AgentSkillDefinition_System_Threading_CancellationToken_"></a> SaveAsync\(AgentSkillDefinition, CancellationToken\)

Creates or updates the skill.

```csharp
ValueTask<AgentSkillDefinition> SaveAsync(AgentSkillDefinition skill, CancellationToken cancellationToken = default)
```

#### Parameters

`skill` [AgentSkillDefinition](/api/tracon.agentskilldefinition/)

The skill to save.

`cancellationToken` [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken)

The cancellation token.

#### Returns

 [ValueTask](https://learn.microsoft.com/dotnet/api/system.threading.tasks.valuetask\-1)<[AgentSkillDefinition](/api/tracon.agentskilldefinition/)\>

The skill with its identifier, timestamps, and version assigned.
