# SkillSource

interface SkillSource

Core interface for accessing skill components.

Implementations are expected to be safe for concurrent use by multiple coroutines.

All methods return a Result whose failure case is a SkillSourceException with a detailed error message intended to be surfaced to the LLM. Implementations should only wrap SkillSourceException in Result.failure.

#### Inheritors

NewFileSystemSource

## Types

Companion
Link copied to clipboard
object Companion

## Functions

listFrontmatters
Link copied to clipboard
abstract suspend fun listFrontmatters(): Result<List<Frontmatter>>

Returns the frontmatter for all available skills.

listResources
Link copied to clipboard
abstract suspend fun listResources(skillName: String, resourceDirectoryPath: String): Result<List<String>>

Returns a list of resource paths within a specific directory for a given skill.

loadFrontmatter
Link copied to clipboard
abstract suspend fun loadFrontmatter(skillName: String): Result<Frontmatter>

Loads the frontmatter for a single skill by name.

loadInstructions
Link copied to clipboard
abstract suspend fun loadInstructions(skillName: String): Result<String>

Loads the instruction body for a single skill by name.

loadResource
Link copied to clipboard
abstract suspend fun loadResource(skillName: String, resourcePath: String): Result<ByteArray>

Loads a specific resource file for a given skill.