17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/legion/mcp/tools/skills.rb', line 17
def call
log.info('Starting legion.mcp.tools.skill_list.call')
return error_response('Skills not available: legion-llm not loaded') unless defined?(Legion::LLM::Skills::Registry)
skills = Legion::LLM::Skills::Registry.all.map do |s|
{
name: s.skill_name,
namespace: s.namespace,
description: s.description,
trigger_words: s.trigger_words,
trigger: s.trigger
}
end
text_response({ skills: skills, count: skills.size })
rescue StandardError => e
handle_exception(e, level: :warn, operation: 'legion.mcp.tools.skill_list.call')
log.warn("SkillList#call failed: #{e.message}")
error_response("Failed to list skills: #{e.message}")
end
|