
Ls Library
- 1 installs
- 1 repo stars
- Updated June 3, 2026
- ahostbr/liteharness-plugin
ls-library is a Claude Code skill that catalogs all skills, commands, and agents across locations into a searchable YAML index with list, search, describe, refresh, and register commands.
About
ls-library is a Claude Code skill that discovers, lists, searches, and describes the skills, commands, and agents available across a user's codebases. It maintains a searchable library.yaml index built by scanning registered sources and offers list, search, describe, refresh, and register commands. A developer uses it to check whether a skill or agent exists, inventory their available agentics, or summarize a specific item. The catalog ships empty and auto-populates on first use.
- Catalogs all skills, commands, and agents across locations into a searchable YAML index
- Provides list, search, describe, refresh, and register commands
- Auto-populates the catalog on first use by scanning registered sources
Ls Library by the numbers
- 1 all-time installs (skills.sh)
- Ranked #642 of 782 Skill Development skills by installs in the Skillselion catalog
- Data as of Jul 7, 2026 (Skillselion catalog sync)
ls-library capabilities & compatibility
- Capabilities
- skill discovery · agent catalog · command inventory · describe skill
- Use cases
- documentation · orchestration
What ls-library says it does
Use when needing to discover, search, list, or describe available skills, commands, and agents across all codebases and locations.
One command to see everything. Catalogs all skills, commands, and agents across every location into a searchable YAML index.
npx skills add https://github.com/ahostbr/liteharness-plugin --skill ls-libraryAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 1 |
| Last updated | June 3, 2026 |
| Repository | ahostbr/liteharness-plugin ↗ |
What it does
Discover, search, and describe the skills, commands, and agents available across a developer's codebases.
Who is it for?
Developers who want a single searchable inventory of their skills, commands, and agents.
Skip if: Installing new skills from external registries; it catalogs what already exists locally.
When should I use this skill?
Discovering, listing, searching, or describing skills, commands, and agents, or checking whether a specific one exists across codebases.
What you get
- a searchable library.yaml catalog of skills, commands, and agents
By the numbers
- 5 commands: list, search, describe, refresh, register
- 20 bundled trigger evals
Files
Library — Agentics Catalog & Discovery
One command to see everything. Catalogs all skills, commands, and agents across every location into a searchable YAML index.
Commands
| Command | Usage | Purpose |
|---|---|---|
| list | /library list | Show full catalog grouped by location then category |
| search | /library search <query> | Filter catalog by keyword (name, category, description) |
| describe | /library describe <name> | Read source file and summarize a specific item |
| refresh | /library refresh | Re-scan all sources, update library.yaml |
| register | /library register <path> | Add a new codebase to scan |
Workflow by Command
list
1. Read ${CLAUDE_SKILL_DIR}/library.yaml 2. Group entries by source (location), then sub-group by category 3. Display using this format per group:
## <Source Name> (<count>)
### <Category>
- <name> (<type>) — <description>First-use auto-populate: The catalog ships empty (template). If catalog: is empty or missing, automatically run the refresh workflow below to scan the user's sources and build the catalog for their machine, then continue with list. Don't make the user run /library refresh manually — just do it.
search
1. Read ${CLAUDE_SKILL_DIR}/library.yaml 2. Filter catalog entries where query appears in name, category, OR description (case-insensitive) 3. Display matches using same grouped format as list 4. Show match count: "Found N items matching '<query>'"
describe
1. Read ${CLAUDE_SKILL_DIR}/library.yaml 2. Find entry matching <name> (fuzzy — partial match OK) 3. If multiple matches, list them and ask user to clarify 4. Read the source file at the entry's path 5. Present: name, type, source, category, full path, then a concise summary (not the entire file)
refresh
This is the core workflow. Scan all registered sources and rebuild the catalog.
1. Read ${CLAUDE_SKILL_DIR}/library.yaml to get sources section 2. For each source, scan using its scan_pattern or scan paths 3. For each discovered file, extract metadata:
Extraction rules by file type:
| File type | Name | Description | Category |
|---|---|---|---|
| SKILL.md (with frontmatter) | name: field | description: field, first sentence only | From taxonomy below |
| Command .md | Filename without .md | First non-heading paragraph, first sentence | From taxonomy below |
| Agent .md (with frontmatter) | name: field or filename | description: field, first sentence | From taxonomy below |
| Agent .md (no frontmatter) | Filename without .md | First paragraph, first sentence | From taxonomy below |
| Other .md | Filename without .md | First paragraph, first sentence | From taxonomy below |
Category assignment heuristics:
| Pattern | Category |
|---|---|
polymathic-* | thinking |
marketing/*, ad_*, seo_*, copy* | marketing |
excalidraw/*, canvas*, diagram* | creative |
k-start*, k-spawn*, k-leader*, k-worker*, ralph*, max-* | orchestration |
plan*, quizmaster* | planning |
consult*, *-reviewer*, prd-* | analysis |
playwright*, e2e*, test* | testing |
vault*, rag*, research* | knowledge |
train*, find-skill*, library*, meta-* | meta |
*watch*, local-lens*, litewatch* | observability |
rebuild*, deploy*, release* | devops |
youtube*, ao-*, gen-image* | utility |
Superpowers skills (brainstorming, debugging, tdd, verification, worktree, writing-*, executing-*, dispatching-*, finishing-*, receiving-*, requesting-*, subagent-*) | workflow |
| Everything else | general |
4. Write updated catalog back to library.yaml, preserving the sources section 5. Report: "Refreshed: N skills, M commands, K agents across L sources"
Important: Use Glob to discover files, Read to extract metadata. Do NOT use Bash for scanning.
register
1. Read ${CLAUDE_SKILL_DIR}/library.yaml 2. Add new source entry with the provided path:
new-source:
path: "<user-provided-path>"
type: registered
scan:
- ".claude/skills/*/SKILL.md"
- ".claude/commands/*.md"
- ".claude/agents/*.md"
- "ai/skills/**/*.md"3. Derive source name from the directory name (e.g., /home/user/my-project becomes my-project) 4. Run refresh for just that source 5. Report what was found
Filtering Tips
When the user asks vague questions, map to search:
- "what marketing skills do I have?" →
/library search marketing - "do I have anything for testing?" →
/library search testing - "what can I use for planning?" →
/library search planning - "show me all polymathic agents" →
/library search polymathic - "what's in <project>?" →
/library search <project>(matches source field)
Notes
- The YAML file is a read index — Claude reads skills from their source path, never copies them
- Refresh is idempotent — safe to run repeatedly
- Categories are best-effort heuristics — manually edit the YAML to fix misassignments
- When scanning a registered codebase, skip directories without
.claude/orai/skills/ - Superpowers version directory is dynamic — scan for the latest version subfolder
[
{ "query": "list all my skills", "should_trigger": true },
{ "query": "what skills do I have available?", "should_trigger": true },
{ "query": "show me all agents across my codebases", "should_trigger": true },
{ "query": "what commands can I use in <your-project>?", "should_trigger": true },
{ "query": "do I have a skill for marketing?", "should_trigger": true },
{ "query": "search my library for testing tools", "should_trigger": true },
{ "query": "what capabilities do I have?", "should_trigger": true },
{ "query": "describe the polymathic-feynman agent", "should_trigger": true },
{ "query": "catalog all my agentics", "should_trigger": true },
{ "query": "is there a skill for video analysis?", "should_trigger": true },
{ "query": "install a new skill from skills.sh", "should_trigger": false },
{ "query": "create a new agent configuration", "should_trigger": false },
{ "query": "write a marketing plan for my product", "should_trigger": false },
{ "query": "run my playwright e2e tests", "should_trigger": false },
{ "query": "generate an image of a sunset", "should_trigger": false },
{ "query": "help me debug this TypeError", "should_trigger": false },
{ "query": "train the test-subject agent", "should_trigger": false },
{ "query": "get the transcript from this YouTube video", "should_trigger": false },
{ "query": "consult the polymaths about this architecture", "should_trigger": false },
{ "query": "plan out the authentication feature", "should_trigger": false }
]
# Library Meta-Skill Catalog
#
# This file ships as a TEMPLATE. The `catalog:` is built per-machine and starts EMPTY.
# On first use, if the catalog is empty, the skill auto-runs `refresh` to scan your
# `sources` and populate it for you. Edit `sources` to add your own codebases —
# the `catalog` is auto-generated, so don't edit it by hand.
sources:
global-skills:
path: "~/.claude/skills"
type: auto
scan_pattern: "**/SKILL.md"
global-agents:
path: "~/.claude/agents"
type: auto
scan_pattern: "*.md"
global-commands:
path: "~/.claude/commands"
type: auto
scan_pattern: "*.md"
# Auto-generated by `/library refresh` — starts empty, populated on first use.
catalog: []