Skip to content

Provider Source

Provider source defines native input paths, pass-through validation, output ownership, and cross-target isolation.

Updated

Feature Feature status claude codex cursor
target-native-islands implemented pass_through pass_through pass_through

Support vocabulary: Feature Reference

Provider-native source is a 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/_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 owns placement, and source preprocessing owns expressions and dependencies.

Provider Output

Source Managed 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; 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 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 list, and skillset explain expose those file-level ownership records.

Type to search…

↑↓ navigate↵ selectEsc close