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
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- superpowers-mcp.js:220-254 (handler)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 }] }; }
- superpowers-mcp.js:188-196 (registration)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: [] } },
- superpowers-mcp.js:191-195 (schema)Input schema for 'find_skills' tool: an empty object (no parameters required).inputSchema: { type: 'object', properties: {}, required: [] }
- superpowers-mcp.js:95-129 (helper)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; }