66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/legion/mcp/tools/skills.rb', line 66
def call(name:)
log.info('Starting legion.mcp.tools.skill_describe.call')
return error_response('Skills not available: legion-llm not loaded') unless defined?(Legion::LLM::Skills::Registry)
skill = find_skill(name)
return error_response("Skill '#{name}' not found") if skill.nil?
text_response({
name: skill.skill_name,
namespace: skill.namespace,
description: skill.description,
trigger_words: skill.trigger_words,
trigger: skill.trigger,
follows_skill: skill.follows_skill,
steps: skill.steps
})
rescue StandardError => e
handle_exception(e, level: :warn, operation: 'legion.mcp.tools.skill_describe.call')
log.warn("SkillDescribe#call failed: #{e.message}")
error_response("Failed to describe skill: #{e.message}")
end
|