> For the complete documentation index, see [llms.txt](https://docs.stepsecurity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stepsecurity.io/developer-machines/agent-skills.md).

# Agent Skills

The Agent Skills page provides an organization-wide inventory of AI agent skills detected across developer machines. It shows what skills are installed, which AI agents can load them, where they came from, and whether they contain executable content.

Agent skills are reusable capability folders, each containing a `SKILL.md` file plus optional supporting files, that AI coding agents like Claude Code, Codex, GitHub Copilot, OpenCode, Gemini CLI, Amp, and Factory load to perform specialized tasks. Because skills can ship scripts, register hooks, and embed shell commands that run with the developer's user privileges, they represent a growing supply chain surface on developer machines. This page helps security and platform teams see and review that surface.

<figure><img src="/files/kvBT0mlvtEZb1vNVJFCB" alt=""><figcaption></figcaption></figure>

The page header shows the total number of unique skills detected and the number of active devices reporting them.

### How Skills Are Detected

Dev Machine Guard scans known skill locations on each device, including:

* The shared skills directory in the user's home folder (`~/.agents/skills`), which any AI coding agent on the device can load
* Agent-specific skill directories, such as `~/.claude/skills` for Claude Code
* Project-level skill folders inside repositories
* The skills.sh lock file, which records skills installed and version-managed by the skills.sh CLI

Skills installed once in the shared directory are often symlinked into agent-specific directories. Dev Machine Guard resolves this pattern and reports a single installation.

### Filtering and Search

Two rows of filter chips let you scope the list, with each chip showing the number of matching skills:

* **Source**: `All skills`, `skills.sh managed` (installed via the skills.sh CLI), or `Local` (standalone skill folders not managed by any CLI)
* **Agent**: a chip per detected agent (for example, Claude Code, Codex, GitHub Copilot) plus `Shared` for skills installed in the shared skills directory

You can also search skills by name, narrow the table with the **All scopes** dropdown (`Global`, `Project`, or `System`) and the **Any flags** dropdown (`Has code`, `Has hooks`, or `Shell execution`), and use **Export CSV** to download the full skill inventory.

### Skill Table

The skill table shows the following columns:

* **Skill**: the skill name and its canonical key (for example, `local:imagegen`)
* **Agents**: which AI tools can load the skill. Agent badges (for example, `Claude Code`, `Codex`) indicate agent-specific installations. `Shared` means the skill is installed in the shared skills directory and can be loaded by any agent on the device.
* **Scope**: where the skill is installed
  * `Global`: in the user's home directory, available to all projects
  * `Project`: inside a specific repository
  * `System`: machine-wide
* **Source**: how the skill is managed. `Local` indicates a standalone skill folder. Skills managed by the skills.sh CLI show the GitHub repository they were installed from (for example, `https://github.com/anthropics/skills`).
* **Flags**: executable content detected in the skill
  * `code`: the skill folder ships executable script files, not just a `SKILL.md`
  * `hooks`: the skill declares a hooks block that registers commands against the agent's tool-use events, firing while the skill is active
  * `shell`: the `SKILL.md` body injects shell commands that execute when the skill loads
* **Content hashes**: the number of distinct `SKILL.md` content hashes for this skill across your devices. A value greater than one is highlighted and means devices are running different versions of the skill.
* **Devices**: the number of devices where the skill is installed

{% hint style="info" %}
Skills with flags deserve closer review. Inline shell commands execute the moment the skill loads, bundled scripts run when the agent invokes the skill, and hooks fire on the agent's tool-use events, all with the developer's user privileges. Attackers have begun distributing malicious skills through public channels.
{% endhint %}

### Skill Detail View

<figure><img src="/files/0l7qwIBu77J2dk62fgGc" alt=""><figcaption></figcaption></figure>

Select a skill to open a detail panel. Cards at the top summarize the number of devices, distinct content hashes, and installed instances. Below them, the panel shows the following sections.

#### **Skill Information**

The full description from `SKILL.md`, the skill's **Canonical Key** (a stable identifier such as `local:imagegen`), and the **Agents**, **Scopes**, and **Flags** detected across all installations.

#### **Provenance**

Where the skill originated. The fields differ by source:

* For **skills.sh managed** skills: the managing CLI, the source type and the GitHub repository or other well-known source the skill was installed from, the plugin it belongs to, the upstream folder hash, and when it was last seen
* For **Local** skills: the origin (`Authored on device`), a `Not managed` indicator, the number of content hashes, and when it was last seen. Because hand-written skills have no upstream source, consistency is inferred from device-reported content hashes.

#### **Devices**

A per-device list of every installation, showing the device name, the user, the agent that loads the skill, the installation scope, and when it was last seen. Use the toggle to group installations **By content hash** or view **All devices**.

When more than one content hash exists, the panel warns that the skill is not identical on every device, meaning some machines may be running an outdated or locally edited copy.

### Use Cases

The Agent Skills inventory allows you to:

* Discover which AI agent skills are in use across your organization
* Identify skills that contain executable code, hooks, or shell commands
* Trace a managed skill back to its source repository
* Detect version drift when devices report different content hashes for the same skill
* Investigate unmanaged, hand-written skills that were not installed through a package manager


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.stepsecurity.io/developer-machines/agent-skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
