# List Skills

> List all installed skills and show which plugin each belongs to

- Skill: `amebahead/list-skills` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add amebahead/list-skills`
- Raw SKILL.md: https://api.skillmd.com/api/skills/amebahead/list-skills/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: amebahead (https://skillmd.com/u/amebahead)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/amebahead/list-skills

---


# 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:

```bash
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.md` and prints only `wrote: <path>` to stdout (so the Bash panel stays compact).

After the script returns:

- If stdout contained the table (the line `Installed Skills` appears 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.

