Class: Riffer::Skills::XmlAdapter

Inherits:
Adapter
  • Object
show all
Defined in:
lib/riffer/skills/xml_adapter.rb

Overview

XML skill adapter, optimized for Anthropic/Claude.

Renders a skill catalog as XML for the system prompt.

See Riffer::Skills::MarkdownAdapter for the default variant.

Instance Method Summary collapse

Methods inherited from Adapter

#activate_tool

Instance Method Details

#render_catalog(skills) ⇒ Object

Renders a skill catalog as XML.

skills

array of Frontmatter objects to render.

– : (Array) -> String



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/riffer/skills/xml_adapter.rb', line 18

def render_catalog(skills)
  lines = []
  lines << "When a user's request matches a skill description below, call the `#{activate_tool.name}` tool with the skill name. After activation, follow the skill's instructions."
  lines << ""
  lines << "<available_skills>"
  skills.each do |skill|
    lines << "  <skill>"
    lines << "    <name>#{CGI.escapeHTML(skill.name)}</name>"
    lines << "    <description>#{CGI.escapeHTML(skill.description)}</description>"
    lines << "  </skill>"
  end
  lines << "</available_skills>"
  lines.join("\n")
end