Title: PromptPack Specification
Type
object
Required
No
Additional properties
Not allowed
Description: Schema for packaging, testing, and running multi-prompt conversational systems with multimodal, workflow, agent, agent-loop, and skills support
Examples:
"$schema" : " https://promptpack.org/schema/v1/promptpack.schema.json " ,
"id" : " customer-support " ,
"name" : " Customer Support Pack " ,
"description" : " Complete customer support prompt pack with multiple task types " ,
"syntax" : " {{variable}} " ,
"description" : " General customer support assistant " ,
"system_template" : " You are a {{role}} assistant for {{company}}. " ,
"description" : " The role of the assistant " ,
"example" : " support agent "
"description" : " Look up order details by order ID " ,
"description" : " The order ID to look up "
"$schema" : " https://promptpack.org/schema/v1/promptpack.schema.json " ,
"name" : " Image Analysis Pack " ,
"description" : " Multimodal pack for analyzing images with vision models " ,
"syntax" : " {{variable}} " ,
"name" : " Image Analyzer " ,
"description" : " Analyzes images and provides detailed descriptions " ,
"system_template" : " You are an expert image analyst. Provide detailed, accurate descriptions of images. " ,
"default_detail" : " high " ,
"name" : " simple-image-analysis " ,
"description" : " Basic image analysis with a single photo " ,
"text" : " What's in this image? "
"file_path" : " examples/photo.jpg " ,
"mime_type" : " image/jpeg " ,
"caption" : " Sample photo for analysis "
Property
Pattern
Type
Deprecated
Definition
Title/Description
- $schema
No
string
No
-
JSON Schema reference for validation and IDE support
+ id
No
string
No
-
Unique identifier for the pack. Used for referencing and caching. Should be lowercase with hyphens.
+ name
No
string
No
-
Human-readable name for the pack. Displayed in UIs and documentation.
+ version
No
string
No
-
Pack version following Semantic Versioning 2.0.0 (MAJOR.MINOR.PATCH). Can optionally include ‘v’ prefix. Use MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes. This version tracks the pack as a whole, while individual prompts can have independent versions.
- description
No
string
No
-
Detailed description of the pack’s purpose, use cases, and contents. Supports markdown formatting.
+ template_engine
No
object
No
-
Template engine configuration shared across all prompts in the pack. Defines how variables are substituted and fragments are resolved.
+ prompts
No
object
No
-
Map of task_type to prompt configuration. Each key is a task type (e.g., ‘support’, ‘sales’) and each value is a complete prompt definition. A pack must contain at least one prompt.
- fragments
No
object
No
-
Shared template fragments that can be referenced by any prompt in the pack. Fragments are reusable text blocks resolved at compile time. Keys are fragment names, values are fragment content.
- tools
No
object
No
-
Tool definitions that can be referenced by prompts. Tools enable the LLM to call external functions. Keys are tool names, values are tool specifications following the JSON Schema for function calling.
- metadata
No
object
No
-
Optional pack-level metadata for categorization, discovery, and operational planning.
- compilation
No
object
No
-
Information about when and how this pack was compiled. Generated automatically by the packc compiler.
- evals
No
array
No
-
Pack-level eval definitions that apply across all prompts. Useful for cross-cutting quality concerns like brand consistency or safety checks. Prompt-level evals with the same id override pack-level evals.
- workflow
No
object
No
In #/$defs/WorkflowConfig
Workflow configuration defining a state machine over the pack’s prompts. Each state references a prompt key and declares event-driven transitions.
- agents
No
object
No
In #/$defs/AgentsConfig
Agent configuration mapping prompts to A2A-compatible agent definitions. Enables multi-agent orchestration via the Agent-to-Agent protocol.
- skills
No
array
No
-
Skill sources for progressive-disclosure knowledge loading. Each entry is either a string (path or package reference), a SkillPathSource object, or an InlineSkill object.
1. Property PromptPack Specification > $schema
Type
string
Required
No
Default
"https://promptpack.org/schema/v1/promptpack.schema.json"
Description: JSON Schema reference for validation and IDE support
Example:
" https://promptpack.org/schema/v1/promptpack.schema.json "
2. Property PromptPack Specification > id
Description: Unique identifier for the pack. Used for referencing and caching. Should be lowercase with hyphens.
Examples:
Restrictions
Min length
1
Max length
100
Must match regular expression
^[a-z][a-z0-9-]*$ Test
3. Property PromptPack Specification > name
Description: Human-readable name for the pack. Displayed in UIs and documentation.
Examples:
Restrictions
Min length
1
Max length
200
4. Property PromptPack Specification > version
Description: Pack version following Semantic Versioning 2.0.0 (MAJOR.MINOR.PATCH). Can optionally include ‘v’ prefix. Use MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes. This version tracks the pack as a whole, while individual prompts can have independent versions.
Examples:
Restrictions
Must match regular expression
^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ Test
5. Property PromptPack Specification > description
Description: Detailed description of the pack’s purpose, use cases, and contents. Supports markdown formatting.
Example:
" Complete customer support prompt pack with multiple task types for handling support, sales, and technical inquiries "
Restrictions
Max length
5000
6. Property PromptPack Specification > template_engine
Type
object
Required
Yes
Additional properties
Not allowed
Description: Template engine configuration shared across all prompts in the pack. Defines how variables are substituted and fragments are resolved.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ version
No
string
No
-
Template engine version. Use ‘v1’ for the current stable version.
+ syntax
No
string
No
-
Variable substitution syntax pattern. Defines how variables appear in templates.
- features
No
array of enum (of string)
No
-
Optional list of supported template features beyond basic substitution.
6.1. Property PromptPack Specification > template_engine > version
Description: Template engine version. Use ‘v1’ for the current stable version.
Examples:
6.2. Property PromptPack Specification > template_engine > syntax
Description: Variable substitution syntax pattern. Defines how variables appear in templates.
Examples:
6.3. Property PromptPack Specification > template_engine > features
Type
array of enum (of string)
Required
No
Description: Optional list of supported template features beyond basic substitution.
Example:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
6.3.1. PromptPack Specification > template_engine > features > features items
Type
enum (of string)
Required
No
Must be one of:
“basic_substitution”
“fragments”
“conditionals”
“loops”
“filters”
7. Property PromptPack Specification > prompts
Description: Map of task_type to prompt configuration. Each key is a task type (e.g., ‘support’, ‘sales’) and each value is a complete prompt definition. A pack must contain at least one prompt.
Example:
"system_template" : " You are a helpful assistant. "
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/Prompt
A single prompt configuration within a pack. Each prompt represents a specific task type (e.g., ‘support’, ‘sales’) with its own template, variables, tools, and validation rules. Prompts within a pack can evolve independently with their own version numbers.
7.1. Property PromptPack Specification > prompts > Prompt
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Prompt
Description: A single prompt configuration within a pack. Each prompt represents a specific task type (e.g., ‘support’, ‘sales’) with its own template, variables, tools, and validation rules. Prompts within a pack can evolve independently with their own version numbers.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ id
No
string
No
-
Unique identifier for this prompt, typically matching the task_type key
+ name
No
string
No
-
Human-readable name for this prompt
- description
No
string
No
-
Detailed description of this prompt’s purpose and behavior
+ version
No
string
No
-
Prompt version following Semantic Versioning 2.0.0. Independent from pack version, allowing individual prompts to evolve separately.
+ system_template
No
string
No
-
The system prompt template. Use template syntax (e.g., {{variable}}) for variable substitution. This is the core instruction that guides the LLM’s behavior.
- variables
No
array
No
-
Variable definitions for this prompt. Variables are placeholders in the template that are replaced with actual values at runtime.
- tools
No
array of string
No
-
List of tool names that this prompt is allowed to use. Tools must be defined in the pack-level ‘tools’ object.
- tool_policy
No
object
No
In #/$defs/ToolPolicy
Policy governing how tools can be used by this prompt
- pipeline
No
object
No
In #/$defs/PipelineConfig
Pipeline configuration defining processing stages and middleware
- parameters
No
object
No
In #/$defs/Parameters
LLM generation parameters like temperature and max_tokens
- validators
No
array
No
-
Validation rules (guardrails) applied to LLM responses
- evals
No
array
No
-
Eval definitions scoped to this prompt. These evals assess the quality of responses generated by this specific prompt. Prompt-level evals with the same id override pack-level evals.
- tested_models
No
array
No
-
Model testing results documenting which models have been tested with this prompt and their performance
- model_overrides
No
object
No
-
Model-specific template modifications. Keys are model names (e.g., ‘claude-3-opus’, ‘gpt-4’), values are override configurations.
- media
No
object
No
In #/$defs/MediaConfig
Multimodal content configuration for this prompt. Defines supported media types and validation rules.
7.1.1. Property PromptPack Specification > prompts > additionalProperties > id
Description: Unique identifier for this prompt, typically matching the task_type key
Examples:
Restrictions
Must match regular expression
^[a-z][a-z0-9_-]*$ Test
7.1.2. Property PromptPack Specification > prompts > additionalProperties > name
Description: Human-readable name for this prompt
Examples:
Restrictions
Min length
1
7.1.3. Property PromptPack Specification > prompts > additionalProperties > description
Description: Detailed description of this prompt’s purpose and behavior
Example:
" General customer support assistant for handling inquiries "
7.1.4. Property PromptPack Specification > prompts > additionalProperties > version
Description: Prompt version following Semantic Versioning 2.0.0. Independent from pack version, allowing individual prompts to evolve separately.
Examples:
Restrictions
Must match regular expression
^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ Test
7.1.5. Property PromptPack Specification > prompts > additionalProperties > system_template
Description: The system prompt template. Use template syntax (e.g., {{variable}}) for variable substitution. This is the core instruction that guides the LLM’s behavior.
Examples:
" You are a {{role}} assistant for {{company}}. \\ n \\ nProvide helpful, professional support. "
" You are an expert in {{domain}}. Help users with {{task_description}}. "
Restrictions
Min length
1
7.1.6. Property PromptPack Specification > prompts > additionalProperties > variables
Description: Variable definitions for this prompt. Variables are placeholders in the template that are replaced with actual values at runtime.
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
Variable
A template variable definition with type information and validation rules. Variables are replaced with actual values when the prompt is rendered.
7.1.6.1. PromptPack Specification > prompts > additionalProperties > variables > Variable
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Variable
Description: A template variable definition with type information and validation rules. Variables are replaced with actual values when the prompt is rendered.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ name
No
string
No
-
Variable name used in templates (e.g., {{name}})
+ type
No
string
No
-
Data type of the variable
+ required
No
boolean
No
-
Whether this variable must be provided. Required variables without values will cause an error.
- default
No
object
No
-
Default value used when variable is not provided. Cannot be set if required is true.
- description
No
string
No
-
Human-readable description of the variable’s purpose
- example
No
object
No
-
Example value showing expected format and content
- validation
No
object
No
-
Validation rules applied to the variable value at runtime
- binding
No
object
No
-
Declares how this variable is automatically populated from runtime context.
7.1.6.1.1. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > name
Description: Variable name used in templates (e.g., {{name}})
Examples:
Restrictions
Must match regular expression
^[a-zA-Z_][a-zA-Z0-9_]*$ Test
7.1.6.1.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > type
Description: Data type of the variable
Examples:
7.1.6.1.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > required
Type
boolean
Required
Yes
Description: Whether this variable must be provided. Required variables without values will cause an error.
7.1.6.1.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > default
Type
object
Required
No
Additional properties
Any type allowed
Description: Default value used when variable is not provided. Cannot be set if required is true.
Examples:
7.1.6.1.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > description
Description: Human-readable description of the variable’s purpose
Examples:
" The role of the assistant "
7.1.6.1.6. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > example
Type
object
Required
No
Additional properties
Any type allowed
Description: Example value showing expected format and content
Examples:
7.1.6.1.7. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation
Type
object
Required
No
Additional properties
Not allowed
Description: Validation rules applied to the variable value at runtime
Property
Pattern
Type
Deprecated
Definition
Title/Description
- pattern
No
string
No
-
Regular expression pattern (for string types)
- min_length
No
integer
No
-
Minimum string length (for string types)
- max_length
No
integer
No
-
Maximum string length (for string types)
- minimum
No
number
No
-
Minimum numeric value (for number types)
- maximum
No
number
No
-
Maximum numeric value (for number types)
- enum
No
array
No
-
List of allowed values
7.1.6.1.7.1. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > pattern
Description: Regular expression pattern (for string types)
Examples:
" ^[a-z0-9._%+-]+@[a-z0-9.-]+ \\\\ .[a-z]{2,}$ "
7.1.6.1.7.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > min_length
Description: Minimum string length (for string types)
Examples:
7.1.6.1.7.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > max_length
Description: Maximum string length (for string types)
Examples:
7.1.6.1.7.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > minimum
Description: Minimum numeric value (for number types)
Examples:
7.1.6.1.7.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > maximum
Description: Maximum numeric value (for number types)
Examples:
7.1.6.1.7.6. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > enum
Description: List of allowed values
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
enum items
-
7.1.6.1.7.6.1. PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > enum > enum items
Type
object
Required
No
Additional properties
Any type allowed
7.1.6.1.8. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding
Type
object
Required
No
Additional properties
Not allowed
Description: Declares how this variable is automatically populated from runtime context.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- kind
No
string
No
-
The binding source kind.
- field
No
string
No
-
The field name within the binding source to extract.
- auto_populate
No
boolean
No
-
Whether this variable is automatically populated at runtime without caller input.
- filter
No
string
No
-
Optional filter expression applied to the bound value.
7.1.6.1.8.1. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding > kind
Description: The binding source kind.
Examples:
7.1.6.1.8.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding > field
Description: The field name within the binding source to extract.
Examples:
7.1.6.1.8.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding > auto_populate
Type
boolean
Required
No
Default
false
Description: Whether this variable is automatically populated at runtime without caller input.
7.1.6.1.8.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding > filter
Description: Optional filter expression applied to the bound value.
Examples:
Type
array of string
Required
No
Description: List of tool names that this prompt is allowed to use. Tools must be defined in the pack-level ‘tools’ object.
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
tools items
-
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/ToolPolicy
Description: Policy governing how tools can be used by this prompt
Property
Pattern
Type
Deprecated
Definition
Title/Description
- tool_choice
No
enum (of string)
No
-
‘auto’ lets the LLM decide when to use tools, ‘required’ forces tool use, ‘none’ disables tools
- max_rounds
No
integer
No
-
Maximum number of LLM → tool → LLM cycles allowed per turn
- max_tool_calls_per_turn
No
integer
No
-
Maximum number of tool calls allowed in a single turn
- blocklist
No
array of string
No
-
List of tool names that are not allowed for this prompt (overrides tools list)
Type
enum (of string)
Required
No
Default
"auto"
Description: ‘auto’ lets the LLM decide when to use tools, ‘required’ forces tool use, ‘none’ disables tools
Examples:
Must be one of:
Type
integer
Required
No
Default
5
Description: Maximum number of LLM → tool → LLM cycles allowed per turn
Examples:
Type
integer
Required
No
Default
10
Description: Maximum number of tool calls allowed in a single turn
Examples:
Type
array of string
Required
No
Description: List of tool names that are not allowed for this prompt (overrides tools list)
Example:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
7.1.9. Property PromptPack Specification > prompts > additionalProperties > pipeline
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/PipelineConfig
Description: Pipeline configuration defining processing stages and middleware
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ stages
No
array of string
No
-
Ordered list of pipeline stages. Common stages: ‘template’, ‘provider’, ‘validator’
- middleware
No
array
No
-
Middleware components with their configurations. Applied in order during pipeline execution.
7.1.9.1. Property PromptPack Specification > prompts > additionalProperties > pipeline > stages
Type
array of string
Required
Yes
Description: Ordered list of pipeline stages. Common stages: ‘template’, ‘provider’, ‘validator’
Example:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
7.1.9.1.1. PromptPack Specification > prompts > additionalProperties > pipeline > stages > stages items
7.1.9.2. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware
Description: Middleware components with their configurations. Applied in order during pipeline execution.
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
MiddlewareConfig
Configuration for a single middleware component in the pipeline
7.1.9.2.1. PromptPack Specification > prompts > additionalProperties > pipeline > middleware > MiddlewareConfig
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/MiddlewareConfig
Description: Configuration for a single middleware component in the pipeline
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ type
No
string
No
-
Middleware type identifier
- config
No
object
No
-
Type-specific configuration for the middleware
7.1.9.2.1.1. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware > middleware items > type
Description: Middleware type identifier
Examples:
7.1.9.2.1.2. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware > middleware items > config
Type
object
Required
No
Additional properties
Any type allowed
Description: Type-specific configuration for the middleware
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
7.1.10. Property PromptPack Specification > prompts > additionalProperties > parameters
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Parameters
Description: LLM generation parameters like temperature and max_tokens
Property
Pattern
Type
Deprecated
Definition
Title/Description
- temperature
No
number
No
-
Sampling temperature (0-2). Higher values make output more random, lower values more deterministic.
- max_tokens
No
integer
No
-
Maximum number of tokens to generate in the response
- top_p
No
number
No
-
Nucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.
- top_k
No
integer or null
No
-
Top-k sampling parameter. Limits to top K tokens. Null means no limit.
- frequency_penalty
No
number
No
-
Penalty for token frequency (-2 to 2). Positive values reduce repetition.
- presence_penalty
No
number
No
-
Penalty for token presence (-2 to 2). Positive values encourage new topics.
7.1.10.1. Property PromptPack Specification > prompts > additionalProperties > parameters > temperature
Description: Sampling temperature (0-2). Higher values make output more random, lower values more deterministic.
Examples:
Restrictions
Minimum
≥ 0
Maximum
≤ 2
7.1.10.2. Property PromptPack Specification > prompts > additionalProperties > parameters > max_tokens
Description: Maximum number of tokens to generate in the response
Examples:
7.1.10.3. Property PromptPack Specification > prompts > additionalProperties > parameters > top_p
Description: Nucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.
Examples:
Restrictions
Minimum
≥ 0
Maximum
≤ 1
7.1.10.4. Property PromptPack Specification > prompts > additionalProperties > parameters > top_k
Type
integer or null
Required
No
Description: Top-k sampling parameter. Limits to top K tokens. Null means no limit.
Examples:
7.1.10.5. Property PromptPack Specification > prompts > additionalProperties > parameters > frequency_penalty
Description: Penalty for token frequency (-2 to 2). Positive values reduce repetition.
Examples:
Restrictions
Minimum
≥ -2
Maximum
≤ 2
7.1.10.6. Property PromptPack Specification > prompts > additionalProperties > parameters > presence_penalty
Description: Penalty for token presence (-2 to 2). Positive values encourage new topics.
Examples:
Restrictions
Minimum
≥ -2
Maximum
≤ 2
7.1.11. Property PromptPack Specification > prompts > additionalProperties > validators
Description: Validation rules (guardrails) applied to LLM responses
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
Validator
A validation rule (guardrail) applied to LLM responses. Validators can check content, length, format, and other constraints to ensure response quality and safety.
7.1.11.1. PromptPack Specification > prompts > additionalProperties > validators > Validator
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Validator
Description: A validation rule (guardrail) applied to LLM responses. Validators can check content, length, format, and other constraints to ensure response quality and safety.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ type
No
string
No
-
The validator type that determines how validation is performed. Not an enum — runtimes define and register their own validator types.
- enabled
No
boolean
No
-
Whether this validator is active. Allows temporarily disabling validators without removing them.
- message
No
string
No
-
User-facing message returned when the validator blocks content.
- fail_on_violation
No
boolean
No
-
If true, validation failures cause an error. If false, violations are logged but allowed.
- params
No
object
No
-
Validator-specific parameters
7.1.11.1.1. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > type
Description: The validator type that determines how validation is performed. Not an enum — runtimes define and register their own validator types.
Examples:
Restrictions
Min length
1
7.1.11.1.2. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > enabled
Type
boolean
Required
No
Default
true
Description: Whether this validator is active. Allows temporarily disabling validators without removing them.
7.1.11.1.3. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > message
Description: User-facing message returned when the validator blocks content.
Examples:
" Response contains banned words "
" Response exceeds maximum length "
7.1.11.1.4. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > fail_on_violation
Type
boolean
Required
No
Default
false
Description: If true, validation failures cause an error. If false, violations are logged but allowed.
7.1.11.1.5. Property PromptPack Specification > prompts > additionalProperties > validators > validators items > params
Type
object
Required
No
Additional properties
Any type allowed
Description: Validator-specific parameters
Examples:
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
7.1.12. Property PromptPack Specification > prompts > additionalProperties > evals
Description: Eval definitions scoped to this prompt. These evals assess the quality of responses generated by this specific prompt. Prompt-level evals with the same id override pack-level evals.
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
Eval
An eval definition that declares how to assess LLM output quality. Evals run asynchronously and produce scores or metrics, unlike validators which run inline and block.
7.1.12.1. PromptPack Specification > prompts > additionalProperties > evals > Eval
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Eval
Description: An eval definition that declares how to assess LLM output quality. Evals run asynchronously and produce scores or metrics, unlike validators which run inline and block.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ id
No
string
No
-
Unique identifier for this eval within its scope (prompt-level or pack-level).
- description
No
string
No
-
Human-readable description of what this eval measures and why it matters.
+ type
No
string
No
-
The assertion type that determines how this eval is executed. Not an enum — runtimes define and register their own types.
+ trigger
No
string
No
-
When this eval should be triggered.
- sample_percentage
No
number
No
-
Percentage of turns or sessions to sample when trigger is sample_turns or sample_sessions. Ignored for other trigger types.
- enabled
No
boolean
No
-
Whether this eval is active. Allows temporarily disabling evals without removing them.
- params
No
object
No
-
Type-specific configuration for the eval. Structure depends on the eval type — runtimes interpret these based on the type field.
- metric
No
object
No
In #/$defs/MetricDef
Prometheus-style metric declaration describing the output shape of this eval. Runtimes use this to expose results to monitoring systems.
- threshold
No
object
No
-
Pass/fail threshold for the eval score.
- message
No
string
No
-
Human-readable message describing the eval result or failure reason.
- when
No
object
No
-
Conditional expression that determines whether this eval runs for a given turn or session.
- groups
No
array of string
No
-
Eval group tags for organizing and filtering evals.
7.1.12.1.1. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > id
Description: Unique identifier for this eval within its scope (prompt-level or pack-level).
Examples:
Restrictions
Min length
1
7.1.12.1.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > description
Description: Human-readable description of what this eval measures and why it matters.
7.1.12.1.3. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > type
Description: The assertion type that determines how this eval is executed. Not an enum — runtimes define and register their own types.
Examples:
Restrictions
Min length
1
7.1.12.1.4. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > trigger
Description: When this eval should be triggered.
Examples:
" on_conversation_complete "
7.1.12.1.5. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > sample_percentage
Type
number
Required
No
Default
5
Description: Percentage of turns or sessions to sample when trigger is sample_turns or sample_sessions. Ignored for other trigger types.
Examples:
Restrictions
Minimum
≥ 0
Maximum
≤ 100
7.1.12.1.6. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > enabled
Type
boolean
Required
No
Default
true
Description: Whether this eval is active. Allows temporarily disabling evals without removing them.
7.1.12.1.7. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > params
Type
object
Required
No
Additional properties
Any type allowed
Description: Type-specific configuration for the eval. Structure depends on the eval type — runtimes interpret these based on the type field.
Examples:
"judge_prompt" : " Rate the response tone on a scale of 1-5 for professionalism. " ,
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
7.1.12.1.8. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric
Type
object
Required
No
Additional properties
Any type allowed
Defined in
#/$defs/MetricDef
Description: Prometheus-style metric declaration describing the output shape of this eval. Runtimes use this to expose results to monitoring systems.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ name
No
string
No
-
Metric name. Should follow Prometheus naming conventions (snake_case, namespace prefix recommended).
+ type
No
enum (of string)
No
-
Prometheus metric type that describes the value semantics.
- range
No
object
No
-
Optional value bounds. Useful for gauge metrics with known ranges.
- - additionalProperties
No
object
No
-
-
7.1.12.1.8.1. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > name
Description: Metric name. Should follow Prometheus naming conventions (snake_case, namespace prefix recommended).
Examples:
" promptpack_brand_consistency "
Restrictions
Must match regular expression
^[a-zA-Z_:][a-zA-Z0-9_:]*$ Test
7.1.12.1.8.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > type
Type
enum (of string)
Required
Yes
Description: Prometheus metric type that describes the value semantics.
Must be one of:
“gauge”
“counter”
“histogram”
“boolean”
7.1.12.1.8.3. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > range
Type
object
Required
No
Additional properties
Any type allowed
Description: Optional value bounds. Useful for gauge metrics with known ranges.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- min
No
number
No
-
Minimum expected value
- max
No
number
No
-
Maximum expected value
7.1.12.1.8.3.1. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > range > min
Description: Minimum expected value
7.1.12.1.8.3.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > range > max
Description: Maximum expected value
7.1.12.1.9. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > threshold
Type
object
Required
No
Additional properties
Not allowed
Description: Pass/fail threshold for the eval score.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- operator
No
string
No
-
Comparison operator for the threshold.
- value
No
number
No
-
The threshold value to compare against.
7.1.12.1.9.1. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > threshold > operator
Description: Comparison operator for the threshold.
Examples:
7.1.12.1.9.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > threshold > value
Description: The threshold value to compare against.
Examples:
7.1.12.1.10. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > message
Description: Human-readable message describing the eval result or failure reason.
Examples:
" Tone score below threshold "
" Response failed brand consistency check "
7.1.12.1.11. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > when
Type
object
Required
No
Additional properties
Any type allowed
Description: Conditional expression that determines whether this eval runs for a given turn or session.
Examples:
"has_variable" : " customer_tier "
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
7.1.12.1.12. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > groups
Type
array of string
Required
No
Description: Eval group tags for organizing and filtering evals.
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
7.1.12.1.12.1. PromptPack Specification > prompts > additionalProperties > evals > evals items > groups > groups items
7.1.13. Property PromptPack Specification > prompts > additionalProperties > tested_models
Description: Model testing results documenting which models have been tested with this prompt and their performance
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
TestedModel
Testing results for a specific model. Documents which models have been tested with this prompt and their performance metrics.
7.1.13.1. PromptPack Specification > prompts > additionalProperties > tested_models > TestedModel
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/TestedModel
Description: Testing results for a specific model. Documents which models have been tested with this prompt and their performance metrics.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ provider
No
string
No
-
LLM provider name
+ model
No
string
No
-
Specific model identifier
+ date
No
string
No
-
Date when the model was tested (YYYY-MM-DD)
- success_rate
No
number
No
-
Success rate (0-1) from test runs
- avg_tokens
No
number
No
-
Average number of tokens used per response
- avg_cost
No
number
No
-
Average cost per execution in USD
- avg_latency_ms
No
number
No
-
Average response latency in milliseconds
- notes
No
string
No
-
Additional notes about model performance or observations
7.1.13.1.1. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > provider
Description: LLM provider name
Examples:
7.1.13.1.2. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > model
Description: Specific model identifier
Examples:
7.1.13.1.3. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > date
Type
string
Required
Yes
Format
date
Description: Date when the model was tested (YYYY-MM-DD)
Examples:
7.1.13.1.4. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > success_rate
Description: Success rate (0-1) from test runs
Examples:
Restrictions
Minimum
≥ 0
Maximum
≤ 1
7.1.13.1.5. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_tokens
Description: Average number of tokens used per response
Examples:
7.1.13.1.6. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_cost
Description: Average cost per execution in USD
Examples:
7.1.13.1.7. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_latency_ms
Description: Average response latency in milliseconds
Examples:
7.1.13.1.8. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > notes
Description: Additional notes about model performance or observations
7.1.14. Property PromptPack Specification > prompts > additionalProperties > model_overrides
Description: Model-specific template modifications. Keys are model names (e.g., ‘claude-3-opus’, ‘gpt-4’), values are override configurations.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/ModelOverride
Model-specific template modifications. Allows customizing prompts for specific models without changing the base template.
7.1.14.1. Property PromptPack Specification > prompts > additionalProperties > model_overrides > ModelOverride
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/ModelOverride
Description: Model-specific template modifications. Allows customizing prompts for specific models without changing the base template.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- system_template_prefix
No
string
No
-
Text prepended to the system template for this model
- system_template_suffix
No
string
No
-
Text appended to the system template for this model
- system_template
No
string
No
-
Complete replacement system template for this model (overrides the base template entirely)
- parameters
No
object
No
Same as parameters
Model-specific parameter overrides
7.1.14.1.1. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template_prefix
Description: Text prepended to the system template for this model
Examples:
7.1.14.1.2. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template_suffix
Description: Text appended to the system template for this model
Examples:
" \\ n \\ nBe concise and direct. "
7.1.14.1.3. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template
Description: Complete replacement system template for this model (overrides the base template entirely)
7.1.14.1.4. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > parameters
Type
object
Required
No
Additional properties
Not allowed
Same definition as
parameters
Description: Model-specific parameter overrides
Description: Multimodal content configuration for this prompt. Defines supported media types and validation rules.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ enabled
No
boolean
No
-
Whether multimodal content is enabled for this prompt
- supported_types
No
array of string
No
-
List of supported media types for this prompt. Common types include: image, audio, video, document, model3d, archive. Custom types are allowed - each type should have a corresponding configuration object (e.g., ‘foo’ type requires a ‘foo’ field with GenericMediaTypeConfig or a specific schema).
- image
No
object
No
In #/$defs/ImageConfig
Image-specific configuration and constraints
- audio
No
object
No
In #/$defs/AudioConfig
Audio-specific configuration and constraints
- video
No
object
No
In #/$defs/VideoConfig
Video-specific configuration and constraints
- document
No
object
No
In #/$defs/DocumentConfig
Document-specific configuration and constraints (PDFs, CAD files, spreadsheets, etc.)
- examples
No
array
No
-
Example multimodal messages showing how to use media with this prompt
- - additionalProperties
No
Combination
No
-
-
Type
boolean
Required
Yes
Description: Whether multimodal content is enabled for this prompt
Type
array of string
Required
No
Description: List of supported media types for this prompt. Common types include: image, audio, video, document, model3d, archive. Custom types are allowed - each type should have a corresponding configuration object (e.g., ‘foo’ type requires a ‘foo’ field with GenericMediaTypeConfig or a specific schema).
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Restrictions
Must match regular expression
^[a-z0-9_]+$ Test
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/ImageConfig
Description: Image-specific configuration and constraints
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_size_mb
No
integer
No
-
Maximum file size in megabytes
- allowed_formats
No
array of string
No
-
List of allowed image formats
- default_detail
No
string
No
-
Default detail level for image processing. ‘low’ uses fewer tokens, ‘high’ provides more detail, ‘auto’ lets the model decide.
- require_caption
No
boolean
No
-
Whether image captions are required
- max_images_per_msg
No
integer
No
-
Maximum number of images allowed per message
Description: Maximum file size in megabytes
Examples:
Type
array of string
Required
No
Description: List of allowed image formats
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Type
string
Required
No
Default
"auto"
Description: Default detail level for image processing. ‘low’ uses fewer tokens, ‘high’ provides more detail, ‘auto’ lets the model decide.
Examples:
Type
boolean
Required
No
Default
false
Description: Whether image captions are required
Description: Maximum number of images allowed per message
Examples:
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/AudioConfig
Description: Audio-specific configuration and constraints
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_size_mb
No
integer
No
-
Maximum file size in megabytes
- allowed_formats
No
array of string
No
-
List of allowed audio formats
- max_duration_sec
No
integer
No
-
Maximum audio duration in seconds
- require_metadata
No
boolean
No
-
Whether audio metadata (title, description) is required
Description: Maximum file size in megabytes
Examples:
Type
array of string
Required
No
Description: List of allowed audio formats
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Description: Maximum audio duration in seconds
Examples:
Type
boolean
Required
No
Default
false
Description: Whether audio metadata (title, description) is required
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/VideoConfig
Description: Video-specific configuration and constraints
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_size_mb
No
integer
No
-
Maximum file size in megabytes
- allowed_formats
No
array of string
No
-
List of allowed video formats
- max_duration_sec
No
integer
No
-
Maximum video duration in seconds
- require_metadata
No
boolean
No
-
Whether video metadata (title, description) is required
Description: Maximum file size in megabytes
Examples:
Type
array of string
Required
No
Description: List of allowed video formats
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Description: Maximum video duration in seconds
Examples:
Type
boolean
Required
No
Default
false
Description: Whether video metadata (title, description) is required
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/DocumentConfig
Description: Document-specific configuration and constraints (PDFs, CAD files, spreadsheets, etc.)
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_size_mb
No
integer
No
-
Maximum file size in megabytes
- allowed_formats
No
array of string
No
-
List of allowed document formats
- max_pages
No
integer
No
-
Maximum number of pages/sheets for paginated documents
- require_metadata
No
boolean
No
-
Whether document metadata (title, author, description) is required
- extraction_mode
No
enum (of string)
No
-
How to extract content from documents. ‘text’ extracts text only, ‘structured’ preserves formatting, ‘raw’ keeps original binary format.
Description: Maximum file size in megabytes
Examples:
Type
array of string
Required
No
Description: List of allowed document formats
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
7.1.15.6.3. Property PromptPack Specification > prompts > additionalProperties > media > document > max_pages
Description: Maximum number of pages/sheets for paginated documents
Examples:
Type
boolean
Required
No
Default
false
Description: Whether document metadata (title, author, description) is required
Type
enum (of string)
Required
No
Default
"text"
Description: How to extract content from documents. ‘text’ extracts text only, ‘structured’ preserves formatting, ‘raw’ keeps original binary format.
Examples:
Must be one of:
“text”
“structured”
“raw”
Description: Example multimodal messages showing how to use media with this prompt
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
MultimodalExample
Example multimodal message demonstrating how to use media content with a prompt
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/MultimodalExample
Description: Example multimodal message demonstrating how to use media content with a prompt
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ name
No
string
No
-
Name identifying this example
- description
No
string
No
-
Description of what this example demonstrates
+ role
No
enum (of string)
No
-
Message role (typically ‘user’ or ‘assistant’)
+ parts
No
array
No
-
Message content parts (text and/or media)
Description: Name identifying this example
Examples:
Description: Description of what this example demonstrates
Type
enum (of string)
Required
Yes
Description: Message role (typically ‘user’ or ‘assistant’)
Example:
Must be one of:
“user”
“assistant”
“system”
Description: Message content parts (text and/or media)
Array restrictions
Min items
1
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
ContentPart
A single content part within a multimodal message. Can be text or media.
7.1.15.7.1.4.1. PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > ContentPart
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/ContentPart
Description: A single content part within a multimodal message. Can be text or media.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ type
No
string
No
-
Type of content part. Common types include: text, image, audio, video, document. Custom types are allowed for extensibility.
- text
No
string
No
-
Text content (required when type is ‘text’)
- media
No
object
No
In #/$defs/MediaReference
Media reference (required when type is ‘image’, ‘audio’, or ‘video’)
Description: Type of content part. Common types include: text, image, audio, video, document. Custom types are allowed for extensibility.
Examples:
Restrictions
Must match regular expression
^[a-z0-9_]+$ Test
7.1.15.7.1.4.1.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > text
Description: Text content (required when type is ‘text’)
Examples:
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/MediaReference
Description: Media reference (required when type is ‘image’, ‘audio’, or ‘video’)
Property
Pattern
Type
Deprecated
Definition
Title/Description
- file_path
No
string
No
-
Path to media file (relative to pack or absolute). Validated at compile time.
- url
No
string
No
-
URL to media file. Must be publicly accessible or require authentication.
- base64
No
string
No
-
Base64-encoded media data. Use for small files or when embedding is preferred.
+ mime_type
No
string
No
-
MIME type of the media file
- detail
No
enum (of string)
No
-
Detail level for image processing (images only). Overrides default_detail from ImageConfig.
- caption
No
string
No
-
Caption or description for the media
Description: Path to media file (relative to pack or absolute). Validated at compile time.
Examples:
Type
string
Required
No
Format
uri
Description: URL to media file. Must be publicly accessible or require authentication.
Examples:
" https://example.com/image.jpg "
" https://cdn.example.com/video.mp4 "
Description: Base64-encoded media data. Use for small files or when embedding is preferred.
Example:
" iVBORw0KGgoAAAANSUhEUgAAAAUA... "
Description: MIME type of the media file
Examples:
Type
enum (of string)
Required
No
Description: Detail level for image processing (images only). Overrides default_detail from ImageConfig.
Example:
Must be one of:
Description: Caption or description for the media
Examples:
" Customer's voice recording "
Type
combining
Required
No
Additional properties
Any type allowed
Type
object
Required
No
Additional properties
Not allowed
Same definition as
image
Description: Configuration and validation rules for image content
Type
object
Required
No
Additional properties
Not allowed
Same definition as
audio
Description: Configuration and validation rules for audio content
Type
object
Required
No
Additional properties
Not allowed
Same definition as
video
Description: Configuration and validation rules for video content
Type
object
Required
No
Additional properties
Not allowed
Same definition as
document
Description: Configuration and validation rules for document content (PDFs, CAD files, spreadsheets, etc.)
Type
object
Required
No
Additional properties
Any type allowed
Defined in
#/$defs/GenericMediaTypeConfig
Description: Generic configuration for custom media types. Use this for types not covered by specific configs (ImageConfig, AudioConfig, etc.). Provides common validation properties that apply to most media types.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_size_mb
No
integer
No
-
Maximum file size in megabytes
- allowed_formats
No
array of string
No
-
List of allowed file formats/extensions
- require_metadata
No
boolean
No
-
Whether metadata is required for this media type
- validation_params
No
object
No
-
Custom validation parameters specific to this media type. Structure depends on the type.
- - additionalProperties
No
object
No
-
-
Description: Maximum file size in megabytes
Examples:
Type
array of string
Required
No
Description: List of allowed file formats/extensions
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Type
boolean
Required
No
Default
false
Description: Whether metadata is required for this media type
Type
object
Required
No
Additional properties
Any type allowed
Description: Custom validation parameters specific to this media type. Structure depends on the type.
Examples:
"require_textures" : false
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
8. Property PromptPack Specification > fragments
Description: Shared template fragments that can be referenced by any prompt in the pack. Fragments are reusable text blocks resolved at compile time. Keys are fragment names, values are fragment content.
Example:
"customer_context" : " Customer: {{customer_name}} \\ nIssue: {{issue}} " ,
"greeting" : " Hello! How can I help you today? "
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
string
No
-
-
8.1. Property PromptPack Specification > fragments > additionalProperties
Description: Tool definitions that can be referenced by prompts. Tools enable the LLM to call external functions. Keys are tool names, values are tool specifications following the JSON Schema for function calling.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/Tool
A tool definition following OpenAI’s function calling format. Tools enable the LLM to call external functions to retrieve data or perform actions.
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/Tool
Description: A tool definition following OpenAI’s function calling format. Tools enable the LLM to call external functions to retrieve data or perform actions.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ name
No
string
No
-
Tool name used for referencing and calling
+ description
No
string
No
-
Clear description of what the tool does. The LLM uses this to decide when to call the tool.
- parameters
No
object
No
-
JSON Schema defining the tool’s parameters. Follows JSON Schema specification.
Description: Tool name used for referencing and calling
Examples:
Restrictions
Must match regular expression
^[a-zA-Z_][a-zA-Z0-9_]*$ Test
Description: Clear description of what the tool does. The LLM uses this to decide when to call the tool.
Examples:
" Look up order details by order ID "
" Create a support ticket with title, description, and priority "
Restrictions
Min length
1
Type
object
Required
No
Additional properties
Any type allowed
Description: JSON Schema defining the tool’s parameters. Follows JSON Schema specification.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ type
No
enum (of string)
No
-
Must be ‘object’ for tool parameters
+ properties
No
object
No
-
Parameter definitions
- required
No
array of string
No
-
List of required parameter names
Type
enum (of string)
Required
Yes
Description: Must be ‘object’ for tool parameters
Must be one of:
Description: Parameter definitions
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
-
-
Type
object
Required
No
Additional properties
Any type allowed
Type
array of string
Required
No
Description: List of required parameter names
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Type
object
Required
No
Additional properties
Any type allowed
Description: Optional pack-level metadata for categorization, discovery, and operational planning.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- domain
No
string
No
-
Domain or category for this pack
- language
No
string
No
-
Primary language code (ISO 639-1)
- tags
No
array of string
No
-
Tags for categorization and discovery
- cost_estimate
No
object
No
-
Cost estimation for using this pack
- - additionalProperties
No
object
No
-
-
10.1. Property PromptPack Specification > metadata > domain
Description: Domain or category for this pack
Examples:
Description: Primary language code (ISO 639-1)
Examples:
Restrictions
Must match regular expression
^[a-z]{2}$ Test
Type
array of string
Required
No
Description: Tags for categorization and discovery
Example:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
tags items
-
Type
object
Required
No
Additional properties
Any type allowed
Description: Cost estimation for using this pack
Property
Pattern
Type
Deprecated
Definition
Title/Description
- min_cost_usd
No
number
No
-
Minimum cost per execution in USD
- max_cost_usd
No
number
No
-
Maximum cost per execution in USD
- avg_cost_usd
No
number
No
-
Average cost per execution in USD
Description: Minimum cost per execution in USD
Description: Maximum cost per execution in USD
Description: Average cost per execution in USD
11. Property PromptPack Specification > compilation
Type
object
Required
No
Additional properties
Any type allowed
Description: Information about when and how this pack was compiled. Generated automatically by the packc compiler.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ compiled_with
No
string
No
-
Version of the packc compiler used to create this pack
+ created_at
No
string
No
-
ISO 8601 timestamp when the pack was compiled
+ schema
No
string
No
-
Pack format schema version used
- source
No
string
No
-
Optional source configuration file path
11.1. Property PromptPack Specification > compilation > compiled_with
Description: Version of the packc compiler used to create this pack
Examples:
11.2. Property PromptPack Specification > compilation > created_at
Type
string
Required
Yes
Format
date-time
Description: ISO 8601 timestamp when the pack was compiled
Example:
11.3. Property PromptPack Specification > compilation > schema
Description: Pack format schema version used
Examples:
11.4. Property PromptPack Specification > compilation > source
Description: Optional source configuration file path
Examples:
12. Property PromptPack Specification > evals
Description: Pack-level eval definitions that apply across all prompts. Useful for cross-cutting quality concerns like brand consistency or safety checks. Prompt-level evals with the same id override pack-level evals.
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
Eval
An eval definition that declares how to assess LLM output quality. Evals run asynchronously and produce scores or metrics, unlike validators which run inline and block.
12.1. PromptPack Specification > evals > Eval
Description: An eval definition that declares how to assess LLM output quality. Evals run asynchronously and produce scores or metrics, unlike validators which run inline and block.
13. Property PromptPack Specification > workflow
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/WorkflowConfig
Description: Workflow configuration defining a state machine over the pack’s prompts. Each state references a prompt key and declares event-driven transitions.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ version
No
integer
No
-
Workflow schema version. Use 1 for the current stable format.
+ entry
No
string
No
-
Name of the initial state. Must match a key in the states object.
+ states
No
object
No
-
Map of state name to state definition. Each state references a prompt and declares transitions.
- engine
No
object
No
-
Optional runtime engine configuration for workflow execution. Hosts standardized fields like ‘budget’ for resource limits, alongside runtime-specific hints (timeout, concurrency, etc.).
13.1. Property PromptPack Specification > workflow > version
Type
integer
Required
Yes
Description: Workflow schema version. Use 1 for the current stable format.
Example:
13.2. Property PromptPack Specification > workflow > entry
Description: Name of the initial state. Must match a key in the states object.
Examples:
13.3. Property PromptPack Specification > workflow > states
Description: Map of state name to state definition. Each state references a prompt and declares transitions.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/WorkflowState
A single state in the workflow state machine. References a prompt task and declares event-driven transitions to other states. May be marked as terminal to indicate workflow completion, or guarded with max_visits to bound loop iterations.
13.3.1. Property PromptPack Specification > workflow > states > WorkflowState
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/WorkflowState
Description: A single state in the workflow state machine. References a prompt task and declares event-driven transitions to other states. May be marked as terminal to indicate workflow completion, or guarded with max_visits to bound loop iterations.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ prompt_task
No
string
No
-
Reference to a prompt key defined in the pack’s prompts object.
- description
No
string
No
-
Human-readable description of this state’s purpose.
- on_event
No
object
No
-
Map of event name to target state name. When the named event fires, the workflow transitions to the target state.
- persistence
No
string
No
-
Whether conversation context is kept (persistent) or reset (transient) on entry.
- orchestration
No
string
No
-
How this state is orchestrated: internal (runtime manages), external (caller manages), or hybrid.
- skills
No
string
No
-
Skill filter for this workflow state. A path to a skill directory/file that scopes which skills are available in this state, or the literal ‘none’ to disable skills.
- terminal
No
boolean
No
-
If true, this state is a terminal state. The workflow completes after this state’s prompt executes. Terminal states should not declare on_event transitions.
- max_visits
No
integer
No
-
Maximum number of times this state can be entered during a single workflow execution. When the limit is reached, the workflow transitions to the state named in on_max_visits. If on_max_visits is not set, the workflow terminates.
- on_max_visits
No
string
No
-
Target state to transition to when max_visits is reached. Must reference a key in the states object. If omitted and max_visits is reached, the workflow terminates with a budget-exhausted status.
- artifacts
No
object
No
-
Named artifact slots for lightweight, structured metadata that flows across state visits. Artifacts should be pointers (commit SHAs, URIs), compact representations (schemas, summaries, diffs), or small structured results — not bulk data. Artifact values are available to the prompt as template variables under the ‘artifacts’ namespace (e.g., {{artifacts.commit_sha}}).
13.3.1.1. Property PromptPack Specification > workflow > states > additionalProperties > prompt_task
Description: Reference to a prompt key defined in the pack’s prompts object.
Examples:
13.3.1.2. Property PromptPack Specification > workflow > states > additionalProperties > description
Description: Human-readable description of this state’s purpose.
13.3.1.3. Property PromptPack Specification > workflow > states > additionalProperties > on_event
Description: Map of event name to target state name. When the named event fires, the workflow transitions to the target state.
Example:
"escalate" : " human_handoff " ,
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
string
No
-
-
13.3.1.3.1. Property PromptPack Specification > workflow > states > additionalProperties > on_event > additionalProperties
13.3.1.4. Property PromptPack Specification > workflow > states > additionalProperties > persistence
Description: Whether conversation context is kept (persistent) or reset (transient) on entry.
Examples:
13.3.1.5. Property PromptPack Specification > workflow > states > additionalProperties > orchestration
Description: How this state is orchestrated: internal (runtime manages), external (caller manages), or hybrid.
Examples:
13.3.1.6. Property PromptPack Specification > workflow > states > additionalProperties > skills
Description: Skill filter for this workflow state. A path to a skill directory/file that scopes which skills are available in this state, or the literal ‘none’ to disable skills.
Examples:
13.3.1.7. Property PromptPack Specification > workflow > states > additionalProperties > terminal
Type
boolean
Required
No
Default
false
Description: If true, this state is a terminal state. The workflow completes after this state’s prompt executes. Terminal states should not declare on_event transitions.
Example:
13.3.1.8. Property PromptPack Specification > workflow > states > additionalProperties > max_visits
Description: Maximum number of times this state can be entered during a single workflow execution. When the limit is reached, the workflow transitions to the state named in on_max_visits. If on_max_visits is not set, the workflow terminates.
Examples:
13.3.1.9. Property PromptPack Specification > workflow > states > additionalProperties > on_max_visits
Description: Target state to transition to when max_visits is reached. Must reference a key in the states object. If omitted and max_visits is reached, the workflow terminates with a budget-exhausted status.
Examples:
13.3.1.10. Property PromptPack Specification > workflow > states > additionalProperties > artifacts
Description: Named artifact slots for lightweight, structured metadata that flows across state visits. Artifacts should be pointers (commit SHAs, URIs), compact representations (schemas, summaries, diffs), or small structured results — not bulk data. Artifact values are available to the prompt as template variables under the ‘artifacts’ namespace (e.g., {{artifacts.commit_sha}}).
Example:
"description" : " Git commit of the latest generated code "
"type" : " application/json " ,
"description" : " Structured test runner summary "
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/ArtifactDef
Declares a named artifact slot for carrying lightweight, structured metadata across workflow state visits. Artifacts are typically pointers (commit SHAs, file paths, URIs), compact representations (schemas, summaries, diffs), or small structured results — not bulk data. Values are captured at each state transition, forming an observable trace that enables time-travel debugging and workflow audit. They persist across loop iterations and are accessible to prompts as template variables.
13.3.1.10.1. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > ArtifactDef
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/ArtifactDef
Description: Declares a named artifact slot for carrying lightweight, structured metadata across workflow state visits. Artifacts are typically pointers (commit SHAs, file paths, URIs), compact representations (schemas, summaries, diffs), or small structured results — not bulk data. Values are captured at each state transition, forming an observable trace that enables time-travel debugging and workflow audit. They persist across loop iterations and are accessible to prompts as template variables.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ type
No
string
No
-
MIME type indicating the artifact’s content type. Used by runtimes to determine serialization and presentation.
- description
No
string
No
-
Human-readable description of what this artifact contains and how it’s used.
- mode
No
enum (of string)
No
-
How the artifact is updated across visits. ‘replace’ overwrites the previous value on each visit. ‘append’ accumulates content across visits (e.g., a log). Defaults to ‘replace’.
13.3.1.10.1.1. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > additionalProperties > type
Description: MIME type indicating the artifact’s content type. Used by runtimes to determine serialization and presentation.
Examples:
13.3.1.10.1.2. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > additionalProperties > description
Description: Human-readable description of what this artifact contains and how it’s used.
13.3.1.10.1.3. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > additionalProperties > mode
Type
enum (of string)
Required
No
Default
"replace"
Description: How the artifact is updated across visits. ‘replace’ overwrites the previous value on each visit. ‘append’ accumulates content across visits (e.g., a log). Defaults to ‘replace’.
Examples:
Must be one of:
13.4. Property PromptPack Specification > workflow > engine
Type
object
Required
No
Additional properties
Any type allowed
Description: Optional runtime engine configuration for workflow execution. Hosts standardized fields like ‘budget’ for resource limits, alongside runtime-specific hints (timeout, concurrency, etc.).
Property
Pattern
Type
Deprecated
Definition
Title/Description
- budget
No
object
No
In #/$defs/WorkflowBudget
Resource budget for workflow execution. Provides safety limits to prevent unbounded loops.
- - additionalProperties
No
object
No
-
-
13.4.1. Property PromptPack Specification > workflow > engine > budget
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/WorkflowBudget
Description: Resource budget for workflow execution. Provides safety limits to prevent unbounded loops.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- max_total_visits
No
integer
No
-
Maximum total state visits across all states in the workflow. This is a global safety net independent of per-state max_visits.
- max_tool_calls
No
integer
No
-
Maximum total tool calls across all states in the workflow.
- max_wall_time_sec
No
integer
No
-
Maximum wall-clock time in seconds for the entire workflow execution.
13.4.1.1. Property PromptPack Specification > workflow > engine > budget > max_total_visits
Description: Maximum total state visits across all states in the workflow. This is a global safety net independent of per-state max_visits.
Examples:
Description: Maximum total tool calls across all states in the workflow.
Examples:
13.4.1.3. Property PromptPack Specification > workflow > engine > budget > max_wall_time_sec
Description: Maximum wall-clock time in seconds for the entire workflow execution.
Examples:
14. Property PromptPack Specification > agents
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/AgentsConfig
Description: Agent configuration mapping prompts to A2A-compatible agent definitions. Enables multi-agent orchestration via the Agent-to-Agent protocol.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ entry
No
string
No
-
Prompt key of the entry agent — the default agent that receives incoming requests.
+ members
No
object
No
-
Map of prompt key to agent definition. Each key must match a prompt defined in the pack’s prompts object.
14.1. Property PromptPack Specification > agents > entry
Description: Prompt key of the entry agent — the default agent that receives incoming requests.
Examples:
14.2. Property PromptPack Specification > agents > members
Description: Map of prompt key to agent definition. Each key must match a prompt defined in the pack’s prompts object.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- - additionalProperties
No
object
No
In #/$defs/AgentDef
Agent definition for a single prompt, providing A2A Agent Card metadata. Overrides or extends the prompt’s own metadata for agent discovery.
14.2.1. Property PromptPack Specification > agents > members > AgentDef
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/AgentDef
Description: Agent definition for a single prompt, providing A2A Agent Card metadata. Overrides or extends the prompt’s own metadata for agent discovery.
Property
Pattern
Type
Deprecated
Definition
Title/Description
- description
No
string
No
-
Agent description published in the A2A Agent Card. Overrides the prompt’s description if set.
- tags
No
array of string
No
-
Discovery tags for the agent, used by A2A registries and routers.
- input_modes
No
array of string
No
-
MIME types the agent accepts as input. Defaults to [“text/plain”] if omitted.
- output_modes
No
array of string
No
-
MIME types the agent can produce as output. Defaults to [“text/plain”] if omitted.
14.2.1.1. Property PromptPack Specification > agents > members > additionalProperties > description
Description: Agent description published in the A2A Agent Card. Overrides the prompt’s description if set.
Type
array of string
Required
No
Description: Discovery tags for the agent, used by A2A registries and routers.
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
tags items
-
Type
array of string
Required
No
Default
["text/plain"]
Description: MIME types the agent accepts as input. Defaults to [“text/plain”] if omitted.
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
14.2.1.4. Property PromptPack Specification > agents > members > additionalProperties > output_modes
Type
array of string
Required
No
Default
["text/plain"]
Description: MIME types the agent can produce as output. Defaults to [“text/plain”] if omitted.
Examples:
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
14.2.1.4.1. PromptPack Specification > agents > members > additionalProperties > output_modes > output_modes items
15. Property PromptPack Specification > skills
Description: Skill sources for progressive-disclosure knowledge loading. Each entry is either a string (path or package reference), a SkillPathSource object, or an InlineSkill object.
Array restrictions
Min items
N/A
Max items
N/A
Items unicity
False
Additional items
False
Tuple validation
See below
Each item of this array must be
Description
SkillSource
A skill source for progressive-disclosure knowledge loading. Can be a simple string path, a path object with preload config, or an inline skill definition.
15.1. PromptPack Specification > skills > SkillSource
Type
combining
Required
No
Additional properties
Any type allowed
Defined in
#/$defs/SkillSource
Description: A skill source for progressive-disclosure knowledge loading. Can be a simple string path, a path object with preload config, or an inline skill definition.
15.1.1. Property PromptPack Specification > skills > skills items > oneOf > item 0
Description: Path to a skill directory/file or a package reference (e.g., ‘./skills’, ‘@acme/billing-skills’).
15.1.2. Property PromptPack Specification > skills > skills items > oneOf > SkillPathSource
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/SkillPathSource
Description: A skill source with a path and optional preload configuration.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ path
No
string
No
-
Path to a skill directory, file, or package reference.
- preload
No
boolean
No
-
If true, load this skill source eagerly at pack initialization rather than on demand.
15.1.2.1. Property PromptPack Specification > skills > skills items > oneOf > item 1 > path
Description: Path to a skill directory, file, or package reference.
Examples:
15.1.2.2. Property PromptPack Specification > skills > skills items > oneOf > item 1 > preload
Type
boolean
Required
No
Default
false
Description: If true, load this skill source eagerly at pack initialization rather than on demand.
Examples:
15.1.3. Property PromptPack Specification > skills > skills items > oneOf > InlineSkill
Type
object
Required
No
Additional properties
Not allowed
Defined in
#/$defs/InlineSkill
Description: A skill defined inline within the pack. Useful for small, pack-specific skills that don’t warrant a separate file.
Property
Pattern
Type
Deprecated
Definition
Title/Description
+ name
No
string
No
-
Human-readable name for this skill.
+ description
No
string
No
-
Brief description of what this skill provides.
+ instructions
No
string
No
-
The skill’s instructions or knowledge content. Loaded into the agent’s context when the skill is activated.
15.1.3.1. Property PromptPack Specification > skills > skills items > oneOf > item 2 > name
Description: Human-readable name for this skill.
Examples:
Restrictions
Min length
1
15.1.3.2. Property PromptPack Specification > skills > skills items > oneOf > item 2 > description
Description: Brief description of what this skill provides.
Example:
" Steps for escalating unresolved customer issues "
Restrictions
Min length
1
15.1.3.3. Property PromptPack Specification > skills > skills items > oneOf > item 2 > instructions
Description: The skill’s instructions or knowledge content. Loaded into the agent’s context when the skill is activated.
Example:
" When a customer issue cannot be resolved within 3 exchanges: \n 1. Acknowledge the complexity \n 2. Collect case details \n 3. Create an escalation ticket "
Restrictions
Min length
1
Generated using json-schema-for-humans on 2026-04-30 at 12:03:27 +0100