$npx -y skills add PaulRBerg/agent-skills --skill skill-mapUse to find agent skill installs, duplicate skills, cross-dependencies, invocations, and cross-references across the local machine.
| 1 | # Skill Map |
| 2 | |
| 3 | Find skill installs and references across local files without scanning macOS protected home paths or obvious transcript, |
| 4 | cache, dependency, and backup noise. |
| 5 | |
| 6 | ## Arguments |
| 7 | |
| 8 | - `--root PATH`: Scan this root. Repeatable. Default: `~`. |
| 9 | - `--skill NAME`: Restrict the report to one skill name. Repeatable. |
| 10 | - `--format text|json|dot`: Select report format. Default: `text`. |
| 11 | - `--include-catalog-sources`: Include known local source checkouts such as `~/projects/agent-skills`, |
| 12 | `~/sablier/sablier-skills`, and `~/sablier/agent-skills` during broad scans. Explicit `--root` values inside those |
| 13 | trees are always scanned. |
| 14 | - `--include-self`: Include self-references in dependency output. |
| 15 | - `--include-snippets`: Include matched line text. Default output omits snippets to avoid leaking transcript or |
| 16 | secret-adjacent content. |
| 17 | - `--show-skipped`: Include ignored path summaries in text or JSON output. |
| 18 | |
| 19 | ## Workflow |
| 20 | |
| 21 | 1. Resolve the skill directory, then run the helper from that directory: |
| 22 | |
| 23 | ```sh |
| 24 | uv run scripts/skill-map.py "$ARGUMENTS" |
| 25 | ``` |
| 26 | |
| 27 | 2. If no arguments were provided, run the default machine scan: |
| 28 | |
| 29 | ```sh |
| 30 | uv run scripts/skill-map.py |
| 31 | ``` |
| 32 | |
| 33 | 3. Use `--format json` when another command or agent will consume the result. |
| 34 | |
| 35 | 4. Use `--format dot` when the user asks for a graph, Graphviz input, or dependency visualization. |
| 36 | |
| 37 | 5. Use `--include-snippets` only when the user asks to see exact matching lines. |
| 38 | |
| 39 | 6. Read [references/ignore-policy.md](references/ignore-policy.md) only when explaining, auditing, or changing the |
| 40 | ignore policy. |
| 41 | |
| 42 | ## User-Facing Output |
| 43 | |
| 44 | Keep JSON and DOT byte-valid and undecorated. For human output, lead with |
| 45 | `### 🗺 Skill Map — <skills> skills · <duplicates> duplicates · <unresolved> unresolved` and a compact |
| 46 | skills/dependencies/duplicates/unresolved summary table. Always state the effective roots and material exclusions; for |
| 47 | the default broad scan, explicitly say that standard agent homes and catalog source checkouts were excluded. Make a |
| 48 | missing explicit `--skill` filter a visible `⚠️ Not found` result rather than a clean-looking empty map. Use section |
| 49 | labels sparingly and keep snippets, private paths, exact edges, commands, and diagnostics undecorated. |
| 50 | |
| 51 | ## Output Semantics |
| 52 | |
| 53 | - `dependency`: a skill file or support file references another discovered skill. |
| 54 | - `external-reference`: a non-skill file references a discovered skill. |
| 55 | - `duplicate-install`: multiple discovered `SKILL.md` files declare or resolve to the same skill name. |
| 56 | - `unresolved-like-reference`: explicit `$kebab-name` or `/kebab-name` tokens that do not match a discovered skill. |
| 57 | |
| 58 | ## Related Skills |
| 59 | |
| 60 | - `skill-map` only locates and cross-references skills; it does not validate them. To audit a catalog or installed root |
| 61 | for metadata and doc-link issues, use the `skill-doctor` skill when it is installed. |
| 62 | |
| 63 | ## Guard Rails |
| 64 | |
| 65 | - Do not search transcript or backup directories manually after the helper excludes them unless the user explicitly |
| 66 | requests transcript/history analysis. |
| 67 | - Do not broaden home-directory scans into macOS protected paths such as `~/Library` or `~/.Trash`; pass narrower |
| 68 | explicit roots instead when a broad scan needs more coverage. |
| 69 | - Treat local skill catalog source checkouts as false positives during broad machine scans; pass them explicitly as |
| 70 | `--root` when auditing catalog contents. |
| 71 | - Treat output paths as local private context. Do not paste snippets unless `--include-snippets` was intentionally used. |
| 72 | - Prefer adding ignore rules in the helper and documenting the rationale in `references/ignore-policy.md` instead of ad |
| 73 | hoc shell filters. |