Skip to main content
Glama

find_skills

Discover available skills in personal and community libraries to access expert-crafted workflows for coding tasks.

Instructions

List all available skills in the personal and superpowers skill libraries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler for the 'find_skills' tool. Scans personal (~/.augment/skills) and superpowers (~/.augment/superpowers/skills) directories recursively for SKILL.md files, extracts metadata using frontmatter, and returns a formatted markdown list of all available skills grouped by source.
    if (name === 'find_skills') { const personalSkills = findSkillsInDir(personalSkillsDir, 'personal', 3); const superpowersSkills = findSkillsInDir(superpowersSkillsDir, 'superpowers', 3); const allSkills = [...personalSkills, ...superpowersSkills]; if (allSkills.length === 0) { return { content: [{ type: 'text', text: 'No skills found. Install superpowers skills to ~/.augment/superpowers/skills/ or add personal skills to ~/.augment/skills/' }] }; } let output = 'Available skills:\n\n'; for (const skill of allSkills) { const namespace = skill.sourceType === 'personal' ? '' : 'superpowers:'; const skillName = skill.name || path.basename(skill.path); output += `${namespace}${skillName}\n`; if (skill.description) { output += ` ${skill.description}\n`; } output += ` Directory: ${skill.path}\n\n`; } return { content: [{ type: 'text', text: output }] }; }
  • Registration of the 'find_skills' tool in the ListToolsRequestSchema handler. Defines the tool name, description, and input schema (no required parameters).
    { name: 'find_skills', description: 'List all available skills in the personal and superpowers skill libraries.', inputSchema: { type: 'object', properties: {}, required: [] } },
  • Input schema for 'find_skills' tool: an empty object (no parameters required).
    inputSchema: { type: 'object', properties: {}, required: [] }
  • Core helper function used by 'find_skills' handler. Recursively scans a skills directory up to maxDepth=3, finds directories containing SKILL.md files, extracts YAML frontmatter for name/description, and returns an array of skill metadata objects.
    function findSkillsInDir(dir, sourceType, maxDepth = 3) { const skills = []; if (!fs.existsSync(dir)) return skills; function recurse(currentDir, depth) { if (depth > maxDepth) return; const entries = fs.readdirSync(currentDir, { withFileTypes: true }); for (const entry of entries) { const fullPath = path.join(currentDir, entry.name); if (entry.isDirectory()) { const skillFile = path.join(fullPath, 'SKILL.md'); if (fs.existsSync(skillFile)) { const { name, description } = extractFrontmatter(skillFile); skills.push({ path: fullPath, skillFile: skillFile, name: name || entry.name, description: description || '', sourceType: sourceType, dirName: entry.name }); } recurse(fullPath, depth + 1); } } } recurse(dir, 0); return skills; }

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmcdice/superpower-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server