Skip to main content
The skill library lists every Claude Code skill, slash command, and prompt definition Weave finds across your organization — what each one contains, how good the prompt is, and how often it actually gets used. Find it at Reports → AI → Skill library.

Two independent signals

This is the single most useful thing to understand about the page: a row can appear from either of two sources, and they have completely different requirements. They are matched by skill name. A skill can therefore show up with a definition and zero invocations, or with invocations and no definition at all.
Invocation counts need a plugin, not org-level telemetry. If you send Claude Code OTLP metrics through your own collector, you’ll get cost, lines of code, and adoption — but no skill or tool-call signal, so every skill shows 0 invocations until the plugin is installed. See Claude Code plugin.

Where Weave looks for definitions

Weave scans the default branch of every connected repository. Two locations are built in and always scanned: Only SKILL.md is read from .claude/skills/ — a README.md or reference.md next to it is treated as supporting material for that skill, not as a skill of its own.

Skills that live outside those folders

If your skills live somewhere else in a repository, add the folder under Settings → Organization → Skill detection, one path per line:
Rules for these entries:
  • They are folders inside your repositories, relative to the repository root. They are not paths on a developer’s machine — ~/.claude/skills refers to a laptop Weave cannot see, and is rejected.
  • Literal prefixes only. Globs (*, ?, [), absolute paths, and .. segments are rejected.
  • Lines starting with # are comments.
  • Up to 50 entries, each up to 200 characters.
Under a custom folder Weave accepts both <name>/SKILL.md and a bare <name>.md, so flat command-style folders work too. Two kinds of markdown are skipped so they don’t show up as skills:
  • Files sitting next to a SKILL.md — a reference.md inside a skill’s own directory is that skill’s supporting material.
  • Unambiguous repository documentation: README, CONTRIBUTING, LICENSE, CHANGELOG and similar. Names that could plausibly be a real skill (reference.md, index.md) are kept when they stand alone.
Changes apply on the next repository sync.
Skills installed only on a developer’s machine — under ~/.claude/skills, or symlinked in from a global location — are not detected. Weave reads committed file content, and git stores a symlink as a pointer rather than the file it points at. To get definitions for a globally distributed skill library, connect the repository you publish it from.

Limits

  • 50 skill files per repository. Built-in .claude/ locations are scanned first, so custom folders never crowd them out.
  • 100 KB per file. Larger definitions are skipped.
  • Files are read from the default branch only.

Skills with usage but no definition

A skill that has been invoked but has no matching definition file appears with the source Usage only. The name and counts are accurate; there’s no prompt content, quality rating, or version history because Weave never found a file for it. This is expected when a skill is installed globally on developer machines rather than committed to a connected repository.
Invocation counts are attributed to the repository the Claude Code session ran in. When the same skill name is defined in more than one repository, each row shows invocations for that repository only. Invocations from a globally installed skill run outside a tracked checkout may appear as Usage only with no matching definition file.

Prompt quality

Each detected definition is scored for prompt quality with a confidence level, using the same classifier as conversation prompt quality. Re-scoring happens when the file’s contents change; the skill detail panel keeps the version history, so you can see how a prompt evolved.
Last modified on October 17, 2026