---
title: "Supports"
description: "Support constraints define compatibility ranges, mismatch policy, inheritance, and source-unit provenance."
---

> Documentation Index
> Fetch the complete documentation index at: https://nimbus.focal.host/llms.txt
> Use this file to discover all available pages before exploring further.

# Supports

<a id="supports"></a>

<!-- skillset:generated:start feature-support -->
| Feature | Feature status | claude | codex | cursor |
| --- | --- | --- | --- | --- |
| `supports` | `implemented` | `metadata_only` | `metadata_only` | `metadata_only` |
<!-- skillset:generated:end feature-support -->

Support vocabulary: [Feature Reference](/skillset/reference/features/#support-vocabulary)

`supports` declares compatibility with an external package, tool, API, plugin, or version range. It does not set the [source unit's](/skillset/glossary/#source-unit) own version and does not create a plugin dependency.

## Source Contract

Compact entries combine package name and range:

```yaml
supports:
  - "@acme/docs-cli@>=2.4 <3"
```

Expanded entries can identify a local package source and mismatch policy:

```yaml
supports:
  packages:
    - name: "@acme/docs-cli"
      range: ">=2.4 <3"
      source: repo:packages/docs-cli/package.json
      onMismatch: warn
```

The generated [frontmatter schemas](/skillset/reference/schemas/) own accepted shapes. `range` accepts the documented comparator, caret, and tilde forms. `source: repo:<path>` resolves package JSON relative to the repository. `onMismatch` defaults to `warn`; `error` makes a detected local-version mismatch fail validation.

Constraints apply only to the source unit that declares them. [Workspace](/skillset/glossary/#workspace) or plugin constraints do not implicitly [cascade](/skillset/glossary/#cascade) to nested skills, agents, provider source, or feature pointers.

## Provider Output

Claude and Codex retain support constraints as provenance and diagnostics rather than target-enforced metadata. Cursor support remains planned as shown in the generated matrix. A constraint can therefore document and validate compatibility without claiming that a provider installs or enforces the dependency.

## Errors and Caveats

Skillset rejects malformed compact entries, invalid ranges, invalid package names or repository source paths, and mismatches configured with `onMismatch: error`. Checks and status warn for the default mismatch policy.

A supports-only edit is source-significant but is not inherently severity-bearing: the default suggested release bump is `none`, or `patch` when the change alters rendered user-facing metadata. Use [dependencies](/skillset/reference/features/dependencies/) when another plugin is required for operation.

## Provenance

Normalized constraints participate in hashes, history evidence, [`skillset status`](/skillset/reference/cli/status/), and [`skillset explain`](/skillset/reference/cli/explain/). Aggregates may report child constraints for inspection, but they do not copy them into child identity.

The release rationale is recorded in [ADR 0014](https://github.com/outfitter-dev/skillset/blob/24800e02ed4e7150ea1bc7130c35603c98ea9da2/docs/adrs/0014-source-change-release-provenance.md) and [ADR 0016](https://github.com/outfitter-dev/skillset/blob/24800e02ed4e7150ea1bc7130c35603c98ea9da2/docs/adrs/0016-change-release-edge-decisions.md).

Source: https://nimbus.focal.host/skillset/reference/features/supports/index.mdx
