# Claude Plugin Description Restrictions: Complete Rules from the Anthropic Community Repository

> Learn Claude plugin description restrictions. Avoid brand names, PII, and aggressive verbs. Define trigger phrases and scope clearly for Anthropic's community repository.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: best-practices
- Published: 2026-08-31

---

**Claude plugin descriptions must be concise, human-readable sentences that avoid brand names, aggressive verbs, copyrighted content, PII, and clearly define trigger phrases and scope boundaries.**

The `anthropics/claude-plugins-community` repository enforces strict content guidelines for plugin descriptions across all SKILL.md files and marketplace manifests. These restrictions ensure plugins pass automated validation in the CI pipeline and comply with Anthropic's moderation policies.

---

## Length and Formatting Requirements

Plugin descriptions must fit the marketplace UI as short, single-line statements.

In [`tres-finance-plugin/skills/testdino-sessions/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/skills/testdino-sessions/SKILL.md), the description follows this pattern:

```markdown
description: Use when the user wants to browse, inspect, create, or update exploratory testing sessions in TestDino.

```

This format—one sentence, action-oriented, starting with "Use when..."—appears consistently across the repository. Descriptions that exceed reasonable length or use multi-line formatting will fail validation in [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml).

---

## Prohibited Content: Brands, Copyright, and Aggressive Language

The [`quickdesign/skills/quickdesign/references/brand-and-moderation.md`](https://github.com/anthropics/claude-plugins-community/blob/main/quickdesign/skills/quickdesign/references/brand-and-moderation.md) file codifies specific restrictions:

- **No literal brand adjacency**: Avoid placing the word "brand" next to product descriptions
- **No copyrighted works**: Descriptions cannot reference protected intellectual property
- **No aggressive verbs**: Language implying violence, destruction, or policy-violating actions must be softened

The moderation guide explicitly instructs developers to *"search the prompt for aggressive verbs and soften them"* before submitting plugins.

---

## Personal and Sensitive Data Restrictions

Descriptions must exclude:
- Personal identifiable information (PII)
- Secrets or API keys
- Private organizational data

While no single file states this rule in isolation, the validation workflow enforces it across all plugin manifests. Any description containing suspected sensitive data triggers a CI failure.

---

## Trigger Phrase Clarity and Scope Definition

Every SKILL.md must enumerate natural-language trigger phrases without overlapping unrelated skills.

From [`tres-finance-plugin/skills/tres-report-create/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/skills/tres-report-create/SKILL.md):

```markdown
description: Use when the user wants to create, generate, export, or run a report in Tres Finance.

triggers:
  - create a report
  - generate a report
  - export
  - run a report
  - pull a report

```

The [`tres-finance-plugin/skills/tres-upload-tx-header-validation/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/tres-finance-plugin/skills/tres-upload-tx-header-validation/SKILL.md) demonstrates explicit negative scope:

```markdown
description: Use when the user wants to validate transaction headers in a CSV file for upload to Tres Finance. Do NOT trigger for contacts import CSV or any other non-transactional upload.

```

This **positive and negative scope definition** prevents accidental plugin invocation.

---

## Automated Enforcement via CI Pipeline

The repository validates all restrictions through [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml). This workflow runs a validation script that checks:

1. Description length and formatting
2. Prohibited term detection
3. Trigger phrase uniqueness across skills
4. Schema compliance for [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)

Pull requests cannot merge until this validation passes.

---

## Key Files Governing Description Rules

| File Path | Purpose |
|-----------|---------|
| [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) (per skill) | Contains the `description:` field and `triggers:` list |
| [`quickdesign/skills/quickdesign/references/brand-and-moderation.md`](https://github.com/anthropics/claude-plugins-community/blob/main/quickdesign/skills/quickdesign/references/brand-and-moderation.md) | Moderation policy for brand and language restrictions |
| [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml) | CI enforcement of all description constraints |
| [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) | Root marketplace schema validated against same rules |

---

## Summary

- **Keep descriptions concise**: Single-sentence, UI-friendly format starting with "Use when..."
- **Exclude prohibited content**: No brands, copyrighted works, aggressive verbs, or sensitive data
- **Define triggers explicitly**: List all natural-language phrases that should invoke the plugin
- **State negative scope**: Clearly indicate what the plugin does *not* handle
- ** Pass CI validation**: All descriptions are checked automatically before merge

---

## Frequently Asked Questions

### What happens if my plugin description violates the restrictions?

The CI validation workflow in [`.github/workflows/validate-plugins.yml`](https://github.com/anthropics/claude-plugins-community/blob/main/.github/workflows/validate-plugins.yml) blocks your pull request. The validation script outputs specific errors indicating which restriction was violated—length, prohibited terms, or schema mismatch.

### Can I use product names in my Claude plugin description?

Only generic references. The [`brand-and-moderation.md`](https://github.com/anthropics/claude-plugins-community/blob/main/brand-and-moderation.md) guide prohibits placing "brand" adjacent to product descriptions and warns against literal brand mentions that could trigger moderation flags.

### How specific must trigger phrases be in the description?

Each SKILL.md requires a dedicated `triggers:` list separate from the description. The description should summarize intent while triggers enumerate exact phrases. Overlap with unrelated skills causes validation failures.

### Where is the root marketplace configuration stored?

The [`.claude-plugin/marketplace.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json) file at repository root contains top-level metadata. Its schema undergoes the same description validation as individual SKILL.md files.