List Skills
Show all installed skills with their source (project / personal / plugin) and a short purpose hint, names emphasised for scannability.
When to Use
- When the user wants to see what skills are installed
- When checking which plugin a skill belongs to
Process
Step 1: Run the collection script
The bundled script scans three locations — project (<cwd>/.claude/skills/**, walking up to find the nearest one), personal (~/.claude/skills/**), and plugin cache (~/.claude/plugins/cache/**) — extracts each skill's frontmatter, deduplicates across versions, shortens each description to a keyword-style summary, and groups the result. Project skills come first when present, then personal, then plugin groups alphabetically.
Step 2: Display the table
Run the script in a single Bash call with no flags — nothing else. The script auto-detects the user's Claude Code verbose setting (~/.claude/settings.json, with ~/.claude/settings.local.json taking precedence) and routes its own output:
python3 "${CLAUDE_PLUGIN_ROOT}/skills/list-skills/scripts/collect_skills.py"
verbose: true→ prints the ANSI-colored text table to stdout. The Bash result panel shows the full table directly.verbose !== true→ writes the markdown version to~/.claude/.cache/skills-cleaner-list.mdand prints onlywrote: <path>to stdout (so the Bash panel stays compact).
After the script returns:
- If stdout contained the table (the line
Installed Skillsappears in the Bash output), stay silent — do not re-paste, summarize, or reformat. - If stdout was just the cache-file path (one line starting with
wrote:), Read that file and paste its contents verbatim as plain markdown — NOT inside a fenced code block. Pasting in a code block would show literal`name`instead of rendered skill names. The pasted markdown becomes the user's only visible output. Don't rephrase or reformat.
Never read ~/.claude/settings.json yourself, never run grep/cat beforehand, and never add commentary before or after unless the user follows up. The script handles verbose detection internally so the user only sees the result.
Explicit flags (--format, --out, --color) skip the auto-routing and behave as documented below.
Flags worth knowing
--no-project— skip the project-local scan (useful when the cwd is irrelevant).--project-dir <path>— point the project scan somewhere other than$PWD.--format json— raw array, for piping into other tooling.