This checklist defines the minimum requirements for a Prompt Component to be considered compliant with the Open Prompt Specification (OPS) v1.0.
A compliant component is:
- structurally valid
- auditable
- reusable
- suitable for automated validation
- The component is a valid JSON or YAML document
-
ops_versionis present and equals"1.0" - All required top-level fields are present:
-
meta -
roles -
variables -
rules -
outputs
-
- No unexpected top-level fields are present
-
meta.nameexists and is a string -
meta.versionexists and follows semantic versioning -
meta.descriptionexists and clearly describes the component purpose
- Optional metadata fields do not contain execution logic
- Optional fields are descriptive only (author, license, tags, domain)
-
roles.system.templateexists and is a string - Defines the role and intent of the model
- Defines behavioral constraints
- Does NOT include user-provided data
- Does NOT reference raw input directly
-
roles.user.templateexists and is a string - Contains only user input or placeholders
- Does NOT contain instructions or behavioral guidance
-
variables.schemaexists and is an object - All variables have explicitly defined types
- Variable names are consistent across the component
-
variables.requiredis an array of strings - All required variables exist in
variables.schema
-
rules.behavioral_rulesexists and is an array - Rules constrain reasoning behavior
- Rules prohibit unsupported assumptions
-
rules.validation_rulesexists and is an array - Rules define invalid execution conditions
- Missing or invalid inputs are explicitly handled
-
rules.output_rulesexists and is an array - Rules define output structure or style
- Rules are compatible with the declared output format
-
outputs.formatexists and is valid - Output format matches one of the supported types:
- text
- markdown
- json
- structured
-
outputs.schemaexists - Output schema defines all expected fields
- No implicit or undocumented output fields exist
- The component can be executed independently
- The component exposes a clear variable interface
- The output contract can be consumed by other components
- The component does not reference specific model names
- The component does not depend on vendor-specific features
- The component is portable across compatible models
- The component can be read and understood without proprietary tooling
- All behaviors and constraints are explicitly declared
- No hidden or implicit logic is present
Based on this checklist, a Prompt Component may be classified as:
- ✅ OPS v1.0 Compliant
⚠️ OPS v1.0 Compatible (partial compliance)- ❌ Not OPS v1.0 Compliant
The compliance result MUST be justifiable using the checks above.
This checklist is intended to be:
- human-readable
- machine-verifiable
- extensible in future OPS versions
Automated validators SHOULD follow this checklist as their source of truth.