---
title: "Provider Source"
description: "Provider source defines native input paths, pass-through validation, output ownership, and cross-target isolation."
---

> 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.

# Provider Source

<a id="provider-source"></a>

<!-- skillset:generated:start feature-support -->
| Feature | Feature status | claude | codex | cursor |
| --- | --- | --- | --- | --- |
| `target-native-islands` | `implemented` | `pass_through` | `pass_through` | `pass_through` |
<!-- skillset:generated:end feature-support -->

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

[Provider-native](/skillset/glossary/#provider-native) source is a [target-native island](/skillset/glossary/#target-native-island): an explicit source area for native files that should be mirrored to one provider without being presented as a portable Skillset concept.

## Source Contract

Project provider source uses one provider-scoped directory beneath the `.skillset/` [source root](/skillset/glossary/#source-root):

```text
.skillset/_claude/** -> .claude/**
.skillset/_codex/**  -> .codex/**
.skillset/_cursor/** -> .cursor/**
```

Plugin provider source uses the same `_claude/`, `_codex/`, or `_cursor/` directory inside `.skillset/plugins/<plugin>/` and mirrors into only that plugin's matching provider bundle. Provider-native feature owners such as plugin `hooks/hooks.json`, `.mcp.json`, `.app.json`, or plugin `subagents/` (rendered to bundle `agents/`) use their documented component paths instead.

A provider-source file may carry source frontmatter for preprocessing, but it may not declare `claude`, `codex`, `cursor`, or `targets` overrides because its path already selects the target. [Workspace layout](/skillset/reference/source/workspace-layout/) owns placement, and [source preprocessing](/skillset/reference/source/preprocessing/) owns expressions and dependencies.

## Provider Output

| Source | Managed [destination](/skillset/glossary/#destination) | Scope |
| --- | --- | --- |
| `.skillset/_claude/**` | `.claude/**` | Claude project files only |
| `.skillset/_codex/**` | `.codex/**` | Codex project files only |
| `.skillset/_cursor/**` | `.cursor/**` | Cursor project files only |
| Plugin `_provider/**` | matching provider plugin bundle | Current plugin and provider only |

Target `projectRoot` configuration can replace the default project dotfolder. Skillset claims individual generated files, not the entire provider directory, and records them in the root lock.

Known text and structured files are preprocessed and then parsed or schema-validated where their format has a contract. Unknown text and binary files copy byte-for-byte. No provider-source file may leak into another target.

Codex `.rules` files are command-execution policy and are accepted only from `.skillset/_codex/rules/**/*.rules`. Portable rule prose belongs in `.skillset/rules/**/*.md` and renders to [provider-specific rule destinations](/skillset/reference/features/rules/); Codex plugin `.rules` are unsupported.

| Portable source | Claude | Codex | Cursor |
| --- | --- | --- | --- |
| `<source-root>/rules/**/*.md` | `.claude/rules/**/*.md` | `AGENTS.md` | `.cursor/rules/**/*.mdc` |

That portable source renders to Claude `.claude/rules/**/*.md`, Codex `AGENTS.md`, and Cursor `.cursor/rules/**/*.mdc`; provider source remains the escape hatch for behavior that cannot share that contract.

## Errors and Caveats

Skillset rejects traversal outside the provider-source or destination root, cross-target routing, unmanaged destination collisions, conflicting feature output, unsupported provider overrides, malformed known structured output, project-root/output-root overlap, and unsupported Codex `.rules` locations.

Opaque pass-through preserves provider truth but provides no portable semantic validation. Prefer an [adaptive source](/skillset/glossary/#adaptive-source) feature when Skillset has a shared contract, and keep native files only for genuine provider differences.

## Provenance

The root `skillset.lock` records source and destination paths, target, hashes, preprocessing dependencies, and whether each file was opaque or structurally validated. [`skillset diff`](/skillset/reference/cli/diff/), [`skillset list`](/skillset/reference/cli/list/), and [`skillset explain`](/skillset/reference/cli/explain/) expose those file-level ownership records.

Source: https://nimbus.focal.host/skillset/reference/features/target-native-islands/index.mdx
