Class: Riffer::Skills::Backend

Inherits:
Object
  • Object
show all
Defined in:
lib/riffer/skills/backend.rb,
sig/generated/riffer/skills/backend.rbs

Overview

Interface for skill storage backends. Subclass and implement list_skills and read_skill for custom storage (database, S3, etc.); use Riffer::Skills::Frontmatter.parse on raw SKILL.md content.

Direct Known Subclasses

FilesystemBackend

Constant Summary collapse

SKILL_FILENAME =

: String

Returns:

  • (String)
"SKILL.md"

Instance Method Summary collapse

Constructor Details

#initializeBackend

Returns a new instance of Backend.



10
# File 'lib/riffer/skills/backend.rb', line 10

def initialize = nil

Instance Method Details

#list_skillsArray[Riffer::Skills::Frontmatter]

Returns frontmatter for all available skills; called once at the start of generate/stream.

: () -> Array

Returns:



16
17
18
# File 'lib/riffer/skills/backend.rb', line 16

def list_skills
  raise NotImplementedError, "#{self.class} must implement #list_skills"
end

#read_skill(name) ⇒ String

Returns the full SKILL.md body (without frontmatter) for a skill. Raises Riffer::ArgumentError if the skill is not found.

: (String) -> String

Parameters:

  • (String)

Returns:

  • (String)


24
25
26
# File 'lib/riffer/skills/backend.rb', line 24

def read_skill(name)
  raise NotImplementedError, "#{self.class} must implement #read_skill"
end