Table of Contents

Class SkillRemoteLoader

Namespace
LMKit.Agents.Skills
Assembly
LM-Kit.NET.dll

Provides functionality to load Agent Skills from remote URLs.

Supports loading skills from:

  • Direct SKILL.md file URLs
  • ZIP archives containing skill directories
  • GitHub repositories (raw content)
public sealed class SkillRemoteLoader : IDisposable
Inheritance
SkillRemoteLoader
Implements
Inherited Members

Examples

Loading a skill from a URL:

var loader = new SkillRemoteLoader();

// Load from direct SKILL.md URL
var skill = await loader.LoadFromUrlAsync(
    "https://example.com/skills/code-review/SKILL.md");

// Load from ZIP archive
var skills = await loader.LoadFromZipUrlAsync(
    "https://example.com/skills-bundle.zip");

// Load from GitHub
var ghSkill = await loader.LoadFromGitHubAsync(
    "owner", "repo", "skills/code-review");

Remarks

Security Considerations
Remote skills execute instructions in the agent's context. Only load skills from trusted sources. Consider implementing URL allowlists in production environments.

Caching
Downloaded skills are cached in a local directory. Use ClearCache() to remove cached skills.

Constructors

SkillRemoteLoader(HttpClient, string)

Initializes a new instance of the SkillRemoteLoader class.

Properties

CacheDirectory

Gets the cache directory used by this loader.

DefaultCacheDirectory

Gets the default cache directory path.

Methods

ClearCache()

Clears the local skill cache.

Dispose()
GetCacheInfo()

Gets information about the cache.

LoadAndRegisterAsync(string, SkillRegistry, bool, CancellationToken)

Loads and registers skills from a remote URL directly into a registry.

LoadFromGitHubAsync(string, string, string, string, CancellationToken)

Loads a skill from a GitHub repository.

LoadFromUrlAsync(string, CancellationToken)

Loads a skill from a direct SKILL.md URL.

LoadFromZipUrlAsync(string, CancellationToken)

Loads skills from a ZIP archive URL.

The archive should contain skill directories, each with a SKILL.md file.