# What Is the Purpose of the `skills/` Directory in a Claude Code Plugin?

> Discover the purpose of the skills/ directory in Claude Code plugins. Learn how markdown definitions register as slash commands, unlocking plugin capabilities.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-08-28

---

**The `skills/` directory serves as the central capability registry for Claude Code plugins, containing self-contained markdown definitions that automatically register as slash-commands.**

Every Claude Code plugin in the `anthropics/claude-plugins-community` repository uses the `skills/` directory as its functional core. This folder houses discrete capability definitions—each a standalone [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) file within its own subfolder—that tell Claude Code exactly what commands to expose and how to execute them. When you install a plugin, Claude Code scans this directory, registers every skill ID (derived from the folder name), and makes them available as invocable tools like `/tres-wallets-upload` or `/tres-onboarding`.

## Core Function: The `skills/` Directory as a Capability Registry

The `skills/` directory functions as the **single source of truth** for plugin functionality. Unlike traditional software where capabilities are buried in compiled code, Claude Code plugins expose every feature through declarative markdown documents stored in this folder.

Each subfolder under `skills/` represents one atomic capability. For example, in the `tres-finance-plugin`, the path [`tres-finance-plugin/skills/tres-wallets-upload/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/skills/tres-wallets-upload/SKILL.md) defines the "wallets upload" skill, while [`tres-finance-plugin/skills/tres-asset-balance-validation/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/skills/tres-asset-balance-validation/SKILL.md) handles DeBank balance validation. This structure enables the **"skills-only"** plugin model (`strict:false`) prevalent throughout the marketplace, allowing Claude Code to load capabilities without requiring complex build steps or compiled binaries.

## How Skill Discovery and Registration Works

Claude Code implements **automatic discovery** for the `skills/` directory. When a plugin loads, the system iterates through every immediate subfolder, extracts the folder name as the skill ID, and parses the [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) file for metadata.

According to the [`tres-finance-plugin/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/README.md) *Structure* section, this registration process requires zero configuration beyond placing the markdown file in the correct location. The folder name becomes the slash-command trigger, enabling users to invoke `tres-wallets-upload` simply by typing `/tres-wallets-upload` in the chat interface. This convention-over-configuration approach ensures that adding capabilities is as simple as creating a new directory and documenting the skill behavior.

## Anatomy of a Skill Definition

### The SKILL.md Specification

Every skill in the `skills/` directory is defined by a [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) file that acts as both documentation and functional specification. This markdown document contains:

- **Description** and trigger phrases that tell Claude Code when to suggest the skill
- **Required MCP connectors** specifying which Model Context Protocol servers the skill needs
- **Usage steps** detailing the execution flow
- **Parameter definitions** for inputs like file paths or configuration options

Because capabilities are defined entirely in markdown, they remain version-controllable, human-readable, and reviewable through standard pull request processes without requiring compilation or build artifacts.

### Reference Assets and Modularity

Skills can include optional reference assets—HTML templates, test data files, or utility scripts—stored alongside the [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) within the skill folder. This modularity allows developers to update individual skills like `tres-report-analyzer` (which processes XLSX files) or `tres-request-skill-update` (which collects user feedback) without risk of breaking unrelated functionality. The self-contained nature of each skill folder means you can add, remove, or modify capabilities independently while the plugin remains operational.

## Practical Usage: Invoking and Orchestrating Skills

### Interactive Chat Commands

Once registered from the `skills/` directory, skills become native slash-commands in Claude Code conversations. When a user mentions a relevant task, Claude Code suggests the appropriate skill from the registry:

```text
User: I want to add my new crypto wallets to TRES Finance.
Claude: Sure! Let's run the /tres-wallets-upload skill.
Claude: /tres-wallets-upload

```

### CLI Execution

You can also invoke skills directly from the terminal using the Claude CLI, specifying the skill ID that corresponds to the folder name in the `skills/` directory:

```bash

# Install the plugin (once)

/plugin marketplace add tres-finance/tres-finance-plugin

# Execute the wallets-upload skill directly

claude skill run tres-wallets-upload --input-file wallets.csv

```

### Skill Orchestration and Workflows

The `skills/` directory also encodes workflow logic through orchestrator skills. Certain skills act as coordinators that invoke a sequence of other skills defined in sibling folders. The `tres-onboarding` skill demonstrates this pattern by running a pipeline of sub-skills:

```bash

# The onboarding skill internally runs a pipeline of sub-skills:

claude skill run tres-onboarding

# → tres-wallets-upload → tres-data-collection-commit → tres-asset-balance-validation → ...

```

This orchestration capability allows complex, multi-step operations to be defined declaratively across multiple [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) files while maintaining clean separation of concerns.

## Summary

- The `skills/` directory is the **central registry** for all capabilities in a Claude Code plugin, located at the repository root.
- Each subfolder represents one skill, with the folder name serving as the unique skill ID and slash-command trigger.
- The [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) file contains the complete specification—description, MCP connectors, usage steps, and parameters—enabling the `strict:false` skills-only plugin model.
- Claude Code **automatically discovers** and registers every skill on plugin installation, requiring no manual configuration.
- Skills support **orchestration patterns**, where one skill can invoke others (like `tres-onboarding` calling `tres-wallets-upload`), enabling complex workflows.
- The markdown-based approach ensures skills are version-controllable, self-documenting, and modular, allowing independent updates to individual capabilities.

## Frequently Asked Questions

### What file format defines a skill in the `skills/` directory?

Each skill is defined by a [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) file—a markdown document that contains the skill's description, trigger phrases, required MCP connectors, usage instructions, and parameter specifications. This file lives inside a subfolder named after the skill ID (e.g., [`skills/tres-wallets-upload/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/skills/tres-wallets-upload/SKILL.md)).

### How does Claude Code discover new capabilities in a plugin?

Claude Code automatically scans the `skills/` directory during plugin installation, registering every immediate subfolder as a distinct skill. The folder name becomes the skill ID and slash-command trigger. This discovery mechanism supports the "skills-only" (`strict:false`) model documented in the repository's README files.

### Can skills depend on or call other skills?

Yes. The `skills/` directory supports orchestration patterns where one skill invokes others. For example, the `tres-onboarding` skill acts as an orchestrator that executes a sequence of sub-skills including `tres-wallets-upload`, `tres-data-collection-commit`, and `tres-asset-balance-validation` to complete complex workflows.

### What is the difference between `strict:false` and strict plugin models?

The `strict:false` model—used throughout the `anthropics/claude-plugins-community` repository—refers to the skills-only architecture where functionality is declared entirely in markdown files within the `skills/` directory. This contrasts with traditional strict models that might require compiled code or complex manifests, allowing for simpler, declarative capability definitions that Claude Code can parse and execute directly.