Class: KairosMcp::Tools::SkillsList

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/kairos_mcp/tools/skills_list.rb

Instance Method Summary collapse

Methods inherited from BaseTool

#initialize, #invoke_tool, #to_full_schema, #to_schema

Constructor Details

This class inherits a constructor from KairosMcp::Tools::BaseTool

Instance Method Details

#call(arguments) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/kairos_mcp/tools/skills_list.rb', line 43

def call(arguments)
  parser = SkillsParser.new
  sections = parser.list_sections

  if sections.empty?
    return text_content("No skills sections found. Check if skills/kairos.md exists.")
  end

  output = "Available KairosChain Skills Sections:\n\n"
  output += "| ID | Title | Use When |\n"
  output += "|-----|-------|----------|\n"

  sections.each do |section|
    use_when = section[:use_when] || '-'
    output += "| #{section[:id]} | #{section[:title]} | #{use_when} |\n"
  end

  output += "\nUse `skills_get` with a section ID to retrieve full content."
  text_content(output)
end

#categoryObject



15
16
17
# File 'lib/kairos_mcp/tools/skills_list.rb', line 15

def category
  :skills
end

#descriptionObject



11
12
13
# File 'lib/kairos_mcp/tools/skills_list.rb', line 11

def description
  'List all available KairosChain skills sections (Markdown).'
end

#examplesObject



23
24
25
26
27
28
29
30
# File 'lib/kairos_mcp/tools/skills_list.rb', line 23

def examples
  [
    {
      title: 'List all skill sections',
      code: 'skills_list()'
    }
  ]
end

#input_schemaObject



36
37
38
39
40
41
# File 'lib/kairos_mcp/tools/skills_list.rb', line 36

def input_schema
  {
    type: 'object',
    properties: {}
  }
end

#nameObject



7
8
9
# File 'lib/kairos_mcp/tools/skills_list.rb', line 7

def name
  'skills_list'
end


32
33
34
# File 'lib/kairos_mcp/tools/skills_list.rb', line 32

def related_tools
  %w[skills_get skills_dsl_list resource_list]
end

#usecase_tagsObject



19
20
21
# File 'lib/kairos_mcp/tools/skills_list.rb', line 19

def usecase_tags
  %w[list L0 markdown skills philosophy browse]
end