How to use profile-atoms

The catalog

curl https://profile-atoms.com/exports/catalog.json
curl https://profile-atoms.com/profiles/jmfamily-profiles-developer.json
curl https://profile-atoms.com/schemas/profile-atom-v1.json

Schema

Every profile validates against /schemas/profile-atom-v1.json (Draft 2020-12). The schema is the contract; the on-disk serialization is JSON, but other forms (YAML, TOML) are equivalent representations.

Required fields

Optional fields

Reference shape

All cross-catalog references use:

{ "ref": "<namespace>/<type>/<slug>", "version": "<semver>" }

The role_packs array additionally carries a priority (integer, lower = higher priority) to break vocabulary collisions.

Composition semantics

How a profile's referenced atoms combine at activation (see design doc for the full model):

What's NOT in a profile

Not the secrets engine state. Not the cache. Not the transcript history. Not the active model. Not LLM provider credentials. Not the active identity or active channels (those live on the situational context). Not session state. See design for the full boundary.

Caching

The catalog is cached for 60s at the edge. Individual profile files for 5 minutes. The schema for 1 hour. CORS is open.