> ## Documentation Index
> Fetch the complete documentation index at: https://docs.promptlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tune skills for your team

> Edit Skill Collections you own in the dashboard: provider layout, folder names, frontmatter, size limits, and SDK pull pins.

Use this guide when you **edit by hand** in the PromptLayer UI. For bulk edits and migrations with natural language, see [Editing with Wrangler AI](/features/skill-collections/editing-with-wrangler).

## Switch provider layout

The dashboard lets you align the collection with **Claude Code**, **OpenAI/Codex**, **OpenClaw**, or **Universal**. Switching layout preserves your skill content while changing which root files and paths PromptLayer expects.

<img src="https://mintcdn.com/promptlayer/aKQsKdqK312I4T8x/images/skill-collections/provider-selector.gif?s=fe26bd621de7b7e86ad6992b9183d1be" alt="Provider selector" width="800" height="474" data-path="images/skill-collections/provider-selector.gif" />

If you use **Codex**, treat it as the **OpenAI** provider: include **`AGENTS.md`** and each skill folder should have **`agents/openai.yaml`** alongside **`SKILL.md`**.

## Rename skills to match your conventions

Each skill usually lives in its own folder with a **`SKILL.md`**. Renaming the folder effectively renames the skill; update the **`name`** field in frontmatter to match.

<img src="https://mintcdn.com/promptlayer/aKQsKdqK312I4T8x/images/skill-collections/folder-renaming.gif?s=d67f57569ad352fbd1b511b4e4d05048" alt="Renaming a skill folder" width="800" height="474" data-path="images/skill-collections/folder-renaming.gif" />

## Frontmatter

Machine-readable metadata belongs in the **first** YAML block at the top of **`SKILL.md`**. The editor treats the first `--- ... ---` block as frontmatter.

**Required:**

* **`name`** — Short identifier used in the editor and for discovery.
* **`description`** — What the skill does **and when** it should run (discovery text).

**Optional:**

* **`disable-model-invocation: true`** — Manual-only skill (no implicit invocation).

**Example:**

```markdown theme={null}
---
name: search-logs
description: Search PromptLayer request logs. Use when the user asks to find or filter past requests.
---

# Search logs

## Instructions

...
```

For **OpenAI/Codex**, keep UX and policy fields in **`my-skill/agents/openai.yaml`** (for example `interface.display_name`, `policy.allow_implicit_invocation`) rather than stuffing provider-specific metadata into **`SKILL.md`** frontmatter.

**YAML tips:** If a value contains `:` or quotes, use valid YAML; the editor will reserialize safely.

<img src="https://mintcdn.com/promptlayer/aKQsKdqK312I4T8x/images/skill-collections/frontmatter-title-editor.gif?s=2525da549ed380879c4f25a5f9a8c5cf" alt="Editing skill frontmatter" width="800" height="474" data-path="images/skill-collections/frontmatter-title-editor.gif" />

## Adapt examples to your stack

Replace generic examples with your ticket system, runbooks, and internal links so the skills match how your team works.

## Size and plan limits

PromptLayer shows **recommended** sizes in the editor; the hard ceiling is **5 MiB per file**.

| File / area                        | Guidance                                                   |
| ---------------------------------- | ---------------------------------------------------------- |
| **`SKILL.md`**                     | About **8,000 characters** (\~1,500–2,000 words) per skill |
| **`CLAUDE.md`**                    | Up to **\~40,000 characters** recommended                  |
| **`AGENTS.md`**                    | Up to **32,768 characters** (32 KB) recommended            |
| **OpenClaw `workspace/AGENTS.md`** | About **32,000 characters** recommended                    |

**Plan file counts:** Free up to **30** files per collection, Pro **50**, Team **100** (defaults; see [changelog](/changelog)).

Put long reference material in sibling files (**`reference.md`**, **`examples.md`**) and link from **`SKILL.md`**.

## Versioning and review

Every save creates a new version with a **commit message**. Optional **release labels** (for example `staging`, `production`) mark which version agents should pull.

<img src="https://mintcdn.com/promptlayer/aKQsKdqK312I4T8x/images/skill-collections/version-diff.png?fit=max&auto=format&n=aKQsKdqK312I4T8x&q=85&s=56736f6821f3ccdf7c07b12def5c5ff7" alt="Version diff" width="800" height="568" data-path="images/skill-collections/version-diff.png" />

Use version history to compare changes and roll back if needed.

## Pin SDK pulls to a label

After you label a stable version, clients can pull that snapshot instead of latest:

<CodeGroup>
  ```python Python theme={null}
  from promptlayer import PromptLayer
  import os

  client = PromptLayer(api_key=os.environ["PROMPTLAYER_API_KEY"])
  client.skills.pull("my-collection", label="production")
  ```

  ```js JavaScript theme={null}
  import { PromptLayer } from "promptlayer";

  const client = new PromptLayer({ apiKey: process.env.PROMPTLAYER_API_KEY });
  await client.skills.pull("my-collection", { label: "production" });
  ```
</CodeGroup>

<Tip>
  Publish experimental changes under a **`staging`** label first. Point automation at **`production`** only after you have reviewed the diff and tested with your agent.
</Tip>
