# Repo layout

Source: https://docs.coderhelm.com/plugins/layout

Where each file of a plugin goes. The layout matches Claude Code plugins and CoderHelm skill repos.

> Coming soon: this page describes work that is not on main yet.

<Callout type="info" title="Coming soon">Plugins are being built and switched on team by team; they are not on main yet. This page follows the work in progress and will be updated when plugins ship.</Callout>

A plugin is one git repository (or one folder of a [marketplace](/plugins/marketplace) repo) with `plugin.yaml` at its root.

<Files>
  <File name="plugin.yaml" />
  <File name="README.md" />
  <Folder name="skills" defaultOpen>
    <Folder name="brand-voice" defaultOpen>
      <File name="SKILL.md" />
    </Folder>
    <Folder name="launch-checklist" defaultOpen>
      <File name="SKILL.md" />
    </Folder>
  </Folder>
  <Folder name="agents" defaultOpen>
    <File name="launch-writer.md" />
  </Folder>
</Files>

| Path | What it is |
| --- | --- |
| `plugin.yaml` | The manifest. Required. See the [manifest reference](/plugins/manifest-reference). |
| `skills/<name>/SKILL.md` | Instructions the plugin's agents read, with optional text files next to them. Same format as [skills](/concepts/skills#frontmatter). |
| `agents/<name>.md` | The agents that do the work. The body is the agent's instructions; `tools:` in the frontmatter lists the tools it uses. |
| `README.md` | For people: what the plugin does and what it needs. Not read by agents. |

The `skills` and `agents` fields in the manifest default to `skills/*/SKILL.md` and `agents/*.md`. Change them if your files live elsewhere, for example to share a folder with a Claude Code plugin under `.claude/`.

## Limits [#limits]

The same limits as skill repos apply: up to 200 skills and agents, 64,000 bytes per file, 32,000 bytes per file next to a skill, and 2,000,000 bytes in total.

## What doesn't go in the repo [#what-doesnt-go-in-the-repo]

Each team's own values never live in the plugin: brand documents, account ids, keys, approvers. They are [settings](/plugins/settings), filled in by each team when it installs the plugin. That is what lets one public plugin serve many teams.
