Back to Skills

skill-discovery

verified

Use when needing to discover available skills across project/user directories - automatically scans for SKILL.md files, parses YAML frontmatter, extracts metadata (name, description, type, MCP requirements), and builds comprehensive skill catalog. Enables intelligent skill selection and auto-invocation. NO competitor has automated skill discovery system.

View on GitHub

Marketplace

shannon-framework

krzemienski/shannon-framework

Plugin

shannon

Repository

krzemienski/shannon-framework
1stars

skills/skill-discovery/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/krzemienski/shannon-framework/blob/main/skills/skill-discovery/SKILL.md -a claude-code --skill skill-discovery

Installation paths:

Claude
.claude/skills/skill-discovery/
Powered by add-skill CLI

Instructions

# Automatic Skill Discovery & Inventory

## Overview

This skill provides systematic discovery of ALL available skills on the system, enabling automatic skill selection and invocation instead of manual checklist-based approaches.

**Core Principle**: Skills discovered automatically, selected intelligently, invoked explicitly

**Output**: Comprehensive skill catalog with metadata for intelligent selection

**Why This Matters**: ALL competitor frameworks (SuperClaude, Hummbl, Superpowers) rely on manual skill discovery via checklists. Shannon automates this completely.

---

## When to Use

**Trigger Conditions**:
- Session start (via SessionStart hook)
- User requests skill inventory (/shannon:discover_skills)
- Before command execution (check applicable skills)
- When updating skill catalog after adding new skills

**Symptoms That Need This**:
- Forgetting applicable skills exists
- Manual "list skills in your mind" checklist burden
- Inconsistent skill application across sessions
- Time wasted re-discovering skills

---

## The Discovery Protocol

### Step 1: Scan All Skill Directories

**Directories to Scan**:
```bash
# Project skills
<project_root>/skills/*/SKILL.md
shannon-plugin/skills/*/SKILL.md

# User skills
~/.claude/skills/*/SKILL.md

# Plugin skills (if plugin system available)
<plugin_install_dir>/*/skills/*/SKILL.md
```

**Scanning Method**:
```bash
# Use Glob for efficient discovery
project_skills = Glob(pattern="skills/*/SKILL.md")
user_skills = Glob(pattern="~/.claude/skills/*/SKILL.md", path=Path.home())

# Combine results
all_skill_files = project_skills + user_skills
```

**Output**: List of all SKILL.md file paths

### Step 2: Parse Metadata from Each Skill

**For each SKILL.md file**:

1. **Extract skill name** from directory:
   ```
   skills/spec-analysis/SKILL.md → skill_name = "spec-analysis"
   ```

2. **Read and parse YAML frontmatter**:
   ```python
   # Read file
   content = Read(skill_file)

   # Extract frontmatter (between --- delimi

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
13864 chars