Class: Riffer::Skills::MarkdownAdapter
- Defined in:
- lib/riffer/skills/markdown_adapter.rb,
sig/generated/riffer/skills/markdown_adapter.rbs
Overview
Default skill adapter — renders a skill catalog as Markdown for the system prompt.
Instance Attribute Summary
Attributes inherited from Adapter
Instance Method Summary collapse
-
#render_catalog(skills) ⇒ String
Renders a skill catalog as Markdown.
-
#single_line(description) ⇒ String
Collapses whitespace so a multi-line (block scalar) description stays within its
-list item instead of breaking out to column 0, where continuation lines would read as top-level prompt text or fabricated catalog entries.
Methods inherited from Adapter
#catalog_instructions, #initialize, #render_activation
Constructor Details
This class inherits a constructor from Riffer::Skills::Adapter
Instance Method Details
#render_catalog(skills) ⇒ String
Renders a skill catalog as Markdown.
: (Array) -> String
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/riffer/skills/markdown_adapter.rb', line 10 def render_catalog(skills) lines = [] #: Array[String] lines << "## Available Skills" lines << "" lines << catalog_instructions lines << "" skills.each do |skill| lines << "- **#{skill.name}**: #{single_line(skill.description)}" end lines.join("\n") end |
#single_line(description) ⇒ String
Collapses whitespace so a multi-line (block scalar) description stays within
its - list item instead of breaking out to column 0, where continuation
lines would read as top-level prompt text or fabricated catalog entries.
: (String) -> String
29 30 31 |
# File 'lib/riffer/skills/markdown_adapter.rb', line 29 def single_line(description) description.gsub(/\s+/, " ").strip end |