prompt-atoms-atom-v1
draft 1.0.0 json-schema
| id | schema-atoms/json-schema/prompt-atoms-atom-v1 |
| created | 2026-05-26 |
prompt-atoms-atom-v1.json json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://prompt-atoms.com/schemas/atom-v1.json",
"title": "prompt-atoms v1 atom",
"description": "A single atom in the prompt-atoms catalog. Discriminated by the top-level `type` field; one of: persona, constraint, format-instruction, tool-use-template, refusal-pattern, output-schema.",
"type": "object",
"required": ["schema", "type", "id", "version", "name", "content"],
"additionalProperties": false,
"properties": {
"schema": {
"type": "string",
"const": "https://prompt-atoms.com/schemas/atom-v1.json"
},
"type": {
"type": "string",
"enum": ["persona", "constraint", "format-instruction", "tool-use-template", "refusal-pattern", "output-schema"]
},
"id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$",
"description": "URL-safe slug; unique within the atom's type."
},
"version": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[A-Za-z0-9.-]+)?$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 500
},
"tags": {
"type": "array",
"items": { "type": "string", "minLength": 1, "maxLength": 40 },
"uniqueItems": true
},
"vendors": {
"type": "array",
"items": { "type": "string", "enum": ["claude", "gpt", "llama", "gemini", "mistral", "any"] },
"uniqueItems": true,
"description": "LLM families this atom is known to work well with. 'any' means vendor-agnostic."
},
"content": {
"type": "string",
"minLength": 1,
"description": "The prompt fragment itself. For atoms with structured content (output-schema, tool-use-template), use the schema or template form; the renderer assembles it into a prompt turn."
},
"applicable_turns": {
"type": "array",
"items": { "type": "string", "enum": ["system", "user", "assistant", "tool"] },
"uniqueItems": true,
"description": "Which turns this atom legally appears in. Defaults to ['system'] for persona/constraint/format-instruction/refusal-pattern; ['tool'] for tool-use-template; ['system','assistant'] for output-schema."
},
"see_also": {
"type": "array",
"items": { "type": "string", "pattern": "^prompt-atoms://atoms/[a-z-]+/[a-z0-9-]+$" },
"description": "Sibling atoms commonly composed with this one."
}
}
}
atom.toml
id = "schema-atoms/json-schema/prompt-atoms-atom-v1"
version = "1.0.0"
content_hash = ""
lifecycle = "draft"
created_at = "2026-05-26T00:00:00Z"
[spec]
class = "json-schema"
schema_version = "2020-12"
root_schema_id = "https://prompt-atoms.com/schemas/atom-v1.json"
asset = "prompt-atoms-atom-v1.json"
[protocol]
provenance = "https://github.com/convergent-systems-co/prompt-atoms/blob/main/schemas/atom-v1.json"
license = "Apache-2.0"