Skip to main content
Use plugin manifests to select capabilities without another copy of their implementation. Use profiles for repeatable Codex selections.

Marketplace and plugins

source/adaptable.marketplace.json owns the provider-neutral marketplace and primitive references. Each source/plugins/<name>/plugin.json selects those references for one installable plugin. References name a type, canonical path, source, and identity. For example, Software Engineering selects skills/semantic-ratchet and the software-engineering-context hook. The hook depends on the shared instruction files. The resolver carries those dependencies into the package. The plugin folder does not own copies of their payloads. The catalog lists current selections. Regenerate it after composition changes:

Profiles

source/profiles/ declares marketplace sources, selected plugins, hook policy, and reconciliation behavior. The Kotlin repository profile selects Software Engineering and Kotlin Engineering. It does not select Repository Knowledge. A profile describes an explicit configuration operation. Its selection does not tell an agent to run every skill. The profile lifecycle owns planning, application, receipts, and recovery. Amp does not support workflow profiles.

Admission and projection

The graph validator rejects missing paths, conflicting identities, cycles, and duplicate hook selection. The Pkl models translate admitted source into finite provider representations. Projection captures bytes and modes, then seals digests before publication. Its publisher rejects an existing destination. After a composition edit, run:
Set PKL_BIN to Pkl 0.32.0 and use fresh destinations. The projection runbook includes runtime setup and Pi packaging. These gates establish composition and package content. Native discovery and model behavior need separate host evidence.