class Riffer::Skills::Backend
Base class defining the interface for skill storage backends.
Subclass and implement list_skills and read_skill to provide custom skill storage (database, S3, etc.).
Use Riffer::Skills::Frontmatter.parse to parse raw SKILL.md content.
See Riffer::Skills::FilesystemBackend for the built-in implementation.
Constants
- SKILL_FILENAME
Public Class Methods
Source
# File lib/riffer/skills/backend.rb, line 15 def initialize = nil # Returns frontmatter for all available skills. # # Called once at the start of generate/stream. # # Raises NotImplementedError if not implemented by subclass. # #-- #: () -> Array[Riffer::Skills::Frontmatter] def list_skills raise NotImplementedError, "#{self.class} must implement #list_skills" end # Returns the full SKILL.md body (without frontmatter) for a skill. # # [name] the skill name to read. # # Raises NotImplementedError if not implemented by subclass. # Raises Riffer::ArgumentError if skill not found. # #-- #: (String) -> String def read_skill(name) raise NotImplementedError, "#{self.class} must implement #read_skill" end end
Public Instance Methods
Source
# File lib/riffer/skills/backend.rb, line 25 def list_skills raise NotImplementedError, "#{self.class} must implement #list_skills" end
Returns frontmatter for all available skills.
Called once at the start of generate/stream.
Raises NotImplementedError if not implemented by subclass.
Source
# File lib/riffer/skills/backend.rb, line 38 def read_skill(name) raise NotImplementedError, "#{self.class} must implement #read_skill" end
Returns the full SKILL.md body (without frontmatter) for a skill.
- name
-
the skill name to read.
Raises NotImplementedError if not implemented by subclass. Raises Riffer::ArgumentError if skill not found.