Skip to content

PromptPack Specification

PromptPack Specification

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, skills, and composition support. Agents may be backed by a workflow state (AgentDef.state) to expose stateful, looping behavior. Workflow states may use ‘composition’ orchestration to run a declarative step graph (RFC 0010). A pack may declare the model providers it needs to run via the optional ‘requires.providers’ block (RFC 0012). Packs may declare governance facts (metadata.governance) and per-tool action scope (Tool.action_scope) so consequence is recorded alongside capability.

Examples:

{
"$schema": "https://promptpack.org/schema/v1/promptpack.schema.json",
"id": "customer-support",
"name": "Customer Support Pack",
"version": "1.0.0",
"description": "Complete customer support prompt pack with multiple task types",
"template_engine": {
"version": "v1",
"syntax": "{{variable}}",
"features": [
"basic_substitution",
"fragments"
]
},
"prompts": {
"support": {
"id": "support",
"name": "Support Bot",
"description": "General customer support assistant",
"version": "1.0.0",
"system_template": "You are a {{role}} assistant for {{company}}.",
"variables": [
{
"name": "role",
"type": "string",
"required": true,
"description": "The role of the assistant",
"example": "support agent"
}
],
"tools": [
"lookup_order"
],
"parameters": {
"temperature": 0.7,
"max_tokens": 1500
}
}
},
"tools": {
"lookup_order": {
"name": "lookup_order",
"description": "Look up order details by order ID",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The order ID to look up"
}
},
"required": [
"order_id"
]
}
}
}
}
{
"$schema": "https://promptpack.org/schema/v1/promptpack.schema.json",
"id": "image-analyzer",
"name": "Image Analysis Pack",
"version": "1.0.0",
"description": "Multimodal pack for analyzing images with vision models",
"template_engine": {
"version": "v1",
"syntax": "{{variable}}",
"features": [
"basic_substitution"
]
},
"prompts": {
"analyze": {
"id": "analyze",
"name": "Image Analyzer",
"description": "Analyzes images and provides detailed descriptions",
"version": "1.0.0",
"system_template": "You are an expert image analyst. Provide detailed, accurate descriptions of images.",
"parameters": {
"temperature": 0.7,
"max_tokens": 1000
},
"media": {
"enabled": true,
"supported_types": [
"image"
],
"image": {
"max_size_mb": 20,
"allowed_formats": [
"jpeg",
"png",
"webp"
],
"default_detail": "high",
"max_images_per_msg": 5
},
"examples": [
{
"name": "simple-image-analysis",
"description": "Basic image analysis with a single photo",
"role": "user",
"parts": [
{
"type": "text",
"text": "What's in this image?"
},
{
"type": "image",
"media": {
"file_path": "examples/photo.jpg",
"mime_type": "image/jpeg",
"detail": "high",
"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.
- compositions No object No - Map of composition name to composition definition (RFC 0010). Each composition declares a named step graph that a runtime may invoke as a structured-input/structured-output unit. Compositions are reached only through workflow states whose orchestration is ‘composition’. Optional; packs without it are unaffected.
- requires No object No - External resources the pack needs to run (RFC 0012). Optional; when present, validated strictly. Reserved for future requirement categories (e.g. tools, skills).

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

Type string
Required Yes

Description: Unique identifier for the pack. Used for referencing and caching. Should be lowercase with hyphens.

Examples:

"customer-support"
"sales-assistant"
"technical-help"
Restrictions
Min length 1
Max length 100
Must match regular expression ^[a-z][a-z0-9-]*$ Test

3. Property PromptPack Specification > name

Type string
Required Yes

Description: Human-readable name for the pack. Displayed in UIs and documentation.

Examples:

"Customer Support Pack"
"Sales Assistant"
"Technical Support"
Restrictions
Min length 1
Max length 200

4. Property PromptPack Specification > version

Type string
Required Yes

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:

"1.0.0"
"v2.1.3"
"1.0.0-alpha"
"2.0.0-beta.1+build.123"
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

Type string
Required No

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

Type string
Required Yes

Description: Template engine version. Use ‘v1’ for the current stable version.

Examples:

"v1"
"v2"

6.2. Property PromptPack Specification > template_engine > syntax

Type string
Required Yes

Description: Variable substitution syntax pattern. Defines how variables appear in templates.

Examples:

"{{variable}}"
"${variable}"
"{variable}"

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:

[
"basic_substitution",
"fragments"
]
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
features items -

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

Type object
Required Yes
Additional properties Each additional property must conform to the schema

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:

{
"support": {
"id": "support",
"name": "Support Bot",
"version": "1.0.0",
"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

Type string
Required Yes

Description: Unique identifier for this prompt, typically matching the task_type key

Examples:

"support"
"sales"
"technical_support"
Restrictions
Must match regular expression ^[a-z][a-z0-9_-]*$ Test

7.1.2. Property PromptPack Specification > prompts > additionalProperties > name

Type string
Required Yes

Description: Human-readable name for this prompt

Examples:

"Support Bot"
"Sales Assistant"
Restrictions
Min length 1

7.1.3. Property PromptPack Specification > prompts > additionalProperties > description

Type string
Required No

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

Type string
Required Yes

Description: Prompt version following Semantic Versioning 2.0.0. Independent from pack version, allowing individual prompts to evolve separately.

Examples:

"1.0.0"
"v2.1.0"
"1.5.2-beta"
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

Type string
Required Yes

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

Type array
Required No

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
Type string
Required Yes

Description: Variable name used in templates (e.g., {{name}})

Examples:

"role"
"company"
"customer_name"
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
Type string
Required Yes

Description: Data type of the variable

Examples:

"string"
"number"
"boolean"
"object"
"array"
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:

"TechCo"
42
true
{
"key": "value"
}
7.1.6.1.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > description
Type string
Required No

Description: Human-readable description of the variable’s purpose

Examples:

"The role of the assistant"
"Customer's account ID"
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:

"support agent"
"12345"
"john@example.com"
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
Type string
Required No

Description: Regular expression pattern (for string types)

Examples:

"^[a-zA-Z\\\\s]+$"
"^\\\\d{5}$"
"^[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
Type integer
Required No

Description: Minimum string length (for string types)

Examples:

3
10
Restrictions
Minimum ≥ 0
7.1.6.1.7.3. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > max_length
Type integer
Required No

Description: Maximum string length (for string types)

Examples:

50
1000
Restrictions
Minimum ≥ 1
7.1.6.1.7.4. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > minimum
Type number
Required No

Description: Minimum numeric value (for number types)

Examples:

0
1
100
7.1.6.1.7.5. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > maximum
Type number
Required No

Description: Maximum numeric value (for number types)

Examples:

100
1000
7.1.6.1.7.6. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > validation > enum
Type array
Required No

Description: List of allowed values

Examples:

[
"low",
"medium",
"high"
]
[
1,
2,
3
]
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
Type string
Required No

Description: The binding source kind.

Examples:

"context"
"session"
"env"
"header"
7.1.6.1.8.2. Property PromptPack Specification > prompts > additionalProperties > variables > variables items > binding > field
Type string
Required No

Description: The field name within the binding source to extract.

Examples:

"user_id"
"session_id"
"locale"
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
Type string
Required No

Description: Optional filter expression applied to the bound value.

Examples:

"lowercase"
"trim"

7.1.7. Property PromptPack Specification > prompts > additionalProperties > tools

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:

[
"lookup_order",
"create_ticket"
]
[
"search_products",
"get_pricing"
]
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 -
7.1.7.1. PromptPack Specification > prompts > additionalProperties > tools > tools items
Type string
Required No

7.1.8. Property PromptPack Specification > prompts > additionalProperties > tool_policy

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)
7.1.8.1. Property PromptPack Specification > prompts > additionalProperties > tool_policy > tool_choice
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:

"auto"
"required"

Must be one of:

  • “auto”
  • “required”
  • “none”
7.1.8.2. Property PromptPack Specification > prompts > additionalProperties > tool_policy > max_rounds
Type integer
Required No
Default 5

Description: Maximum number of LLM → tool → LLM cycles allowed per turn

Examples:

3
5
10
Restrictions
Minimum ≥ 1
7.1.8.3. Property PromptPack Specification > prompts > additionalProperties > tool_policy > max_tool_calls_per_turn
Type integer
Required No
Default 10

Description: Maximum number of tool calls allowed in a single turn

Examples:

1
5
10
Restrictions
Minimum ≥ 1
7.1.8.4. Property PromptPack Specification > prompts > additionalProperties > tool_policy > blocklist
Type array of string
Required No

Description: List of tool names that are not allowed for this prompt (overrides tools list)

Example:

[
"dangerous_tool",
"delete_data"
]
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
blocklist items -
7.1.8.4.1. PromptPack Specification > prompts > additionalProperties > tool_policy > blocklist > blocklist items
Type string
Required No

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:

[
"template",
"provider",
"validator"
]
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
stages items -
7.1.9.1.1. PromptPack Specification > prompts > additionalProperties > pipeline > stages > stages items
Type string
Required No
7.1.9.2. Property PromptPack Specification > prompts > additionalProperties > pipeline > middleware
Type array
Required No

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
Type string
Required Yes

Description: Middleware type identifier

Examples:

"template"
"provider"
"validator"
"custom"
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
Type number
Required No

Description: Sampling temperature (0-2). Higher values make output more random, lower values more deterministic.

Examples:

0.7
1.0
Restrictions
Minimum ≥ 0
Maximum ≤ 2
7.1.10.2. Property PromptPack Specification > prompts > additionalProperties > parameters > max_tokens
Type integer
Required No

Description: Maximum number of tokens to generate in the response

Examples:

100
1000
4000
Restrictions
Minimum ≥ 1
7.1.10.3. Property PromptPack Specification > prompts > additionalProperties > parameters > top_p
Type number
Required No

Description: Nucleus sampling parameter (0-1). Alternative to temperature for controlling randomness.

Examples:

0.9
1.0
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:

40
100
null
Restrictions
Minimum ≥ 1
7.1.10.5. Property PromptPack Specification > prompts > additionalProperties > parameters > frequency_penalty
Type number
Required No

Description: Penalty for token frequency (-2 to 2). Positive values reduce repetition.

Examples:

0
0.5
Restrictions
Minimum ≥ -2
Maximum ≤ 2
7.1.10.6. Property PromptPack Specification > prompts > additionalProperties > parameters > presence_penalty
Type number
Required No

Description: Penalty for token presence (-2 to 2). Positive values encourage new topics.

Examples:

0
0.5
Restrictions
Minimum ≥ -2
Maximum ≤ 2

7.1.11. Property PromptPack Specification > prompts > additionalProperties > validators

Type array
Required No

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
Type string
Required Yes

Description: The validator type that determines how validation is performed. Not an enum — runtimes define and register their own validator types.

Examples:

"banned_words"
"max_length"
"length"
"max_sentences"
"regex_match"
"sentiment"
"custom"
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
Type string
Required No

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:

{
"words": [
"inappropriate",
"banned"
]
}
{
"max_characters": 1000,
"max_tokens": 250
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

7.1.12. Property PromptPack Specification > prompts > additionalProperties > evals

Type array
Required No

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
Type string
Required Yes

Description: Unique identifier for this eval within its scope (prompt-level or pack-level).

Examples:

"tone-check"
"brand-consistency"
"json_format"
Restrictions
Min length 1
7.1.12.1.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > description
Type string
Required No

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
Type string
Required Yes

Description: The assertion type that determines how this eval is executed. Not an enum — runtimes define and register their own types.

Examples:

"llm_judge"
"cosine_similarity"
"regex"
"contains"
"json_valid"
Restrictions
Min length 1
7.1.12.1.4. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > trigger
Type string
Required Yes

Description: When this eval should be triggered.

Examples:

"every_turn"
"on_session_complete"
"on_conversation_complete"
"on_workflow_step"
"sample_turns"
"sample_sessions"
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:

5
10
25
50
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.",
"model": "gpt-4o",
"passing_score": 4
}
{
"patterns": [
"hello",
"welcome"
]
}
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
Type string
Required Yes

Description: Metric name. Should follow Prometheus naming conventions (snake_case, namespace prefix recommended).

Examples:

"promptpack_tone_score"
"promptpack_brand_consistency"
"promptpack_json_valid"
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
Type number
Required No

Description: Minimum expected value

7.1.12.1.8.3.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > metric > range > max
Type number
Required No

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
Type string
Required No

Description: Comparison operator for the threshold.

Examples:

"gte"
"lte"
"gt"
"lt"
"eq"
7.1.12.1.9.2. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > threshold > value
Type number
Required No

Description: The threshold value to compare against.

Examples:

0.8
4
0.95
7.1.12.1.10. Property PromptPack Specification > prompts > additionalProperties > evals > evals items > message
Type string
Required No

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"
}
{
"turn_count_gte": 3
}
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:

[
"quality",
"tone"
]
[
"safety",
"compliance"
]
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
groups items -
7.1.12.1.12.1. PromptPack Specification > prompts > additionalProperties > evals > evals items > groups > groups items
Type string
Required No

7.1.13. Property PromptPack Specification > prompts > additionalProperties > tested_models

Type array
Required No

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
Type string
Required Yes

Description: LLM provider name

Examples:

"openai"
"anthropic"
"azure"
"bedrock"
7.1.13.1.2. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > model
Type string
Required Yes

Description: Specific model identifier

Examples:

"gpt-4"
"gpt-3.5-turbo"
"claude-3-opus"
"claude-3-sonnet"
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:

"2025-10-31"
"2025-12-01"
7.1.13.1.4. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > success_rate
Type number
Required No

Description: Success rate (0-1) from test runs

Examples:

0.95
0.87
Restrictions
Minimum ≥ 0
Maximum ≤ 1
7.1.13.1.5. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_tokens
Type number
Required No

Description: Average number of tokens used per response

Examples:

150
500
Restrictions
Minimum ≥ 0
7.1.13.1.6. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_cost
Type number
Required No

Description: Average cost per execution in USD

Examples:

0.0045
0.012
Restrictions
Minimum ≥ 0
7.1.13.1.7. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > avg_latency_ms
Type number
Required No

Description: Average response latency in milliseconds

Examples:

1200
3500
Restrictions
Minimum ≥ 0
7.1.13.1.8. Property PromptPack Specification > prompts > additionalProperties > tested_models > tested_models items > notes
Type string
Required No

Description: Additional notes about model performance or observations

7.1.14. Property PromptPack Specification > prompts > additionalProperties > model_overrides

Type object
Required No
Additional properties Each additional property must conform to the schema

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
Type string
Required No

Description: Text prepended to the system template for this model

Examples:

"<thinking>\\n"
"[Task]\\n"
7.1.14.1.2. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template_suffix
Type string
Required No

Description: Text appended to the system template for this model

Examples:

"\\n\\nBe concise and direct."
"\\n</thinking>"
7.1.14.1.3. Property PromptPack Specification > prompts > additionalProperties > model_overrides > additionalProperties > system_template
Type string
Required No

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

7.1.15. Property PromptPack Specification > prompts > additionalProperties > media

Type object
Required No
Additional properties Each additional property must conform to the schema
Defined in #/$defs/MediaConfig

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 - -
7.1.15.1. Property PromptPack Specification > prompts > additionalProperties > media > enabled
Type boolean
Required Yes

Description: Whether multimodal content is enabled for this prompt

7.1.15.2. Property PromptPack Specification > prompts > additionalProperties > media > supported_types
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:

[
"image"
]
[
"image",
"audio"
]
[
"image",
"audio",
"video"
]
[
"document",
"image"
]
[
"model3d",
"document"
]
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
supported_types items -
7.1.15.2.1. PromptPack Specification > prompts > additionalProperties > media > supported_types > supported_types items
Type string
Required No
Restrictions
Must match regular expression ^[a-z0-9_]+$ Test
7.1.15.3. Property PromptPack Specification > prompts > additionalProperties > media > image
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
7.1.15.3.1. Property PromptPack Specification > prompts > additionalProperties > media > image > max_size_mb
Type integer
Required No

Description: Maximum file size in megabytes

Examples:

10
20
Restrictions
Minimum ≥ 1
7.1.15.3.2. Property PromptPack Specification > prompts > additionalProperties > media > image > allowed_formats
Type array of string
Required No

Description: List of allowed image formats

Examples:

[
"jpeg",
"png",
"webp"
]
[
"jpeg",
"jpg",
"png",
"webp",
"gif",
"bmp"
]
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
allowed_formats items -
7.1.15.3.2.1. PromptPack Specification > prompts > additionalProperties > media > image > allowed_formats > allowed_formats items
Type string
Required No
7.1.15.3.3. Property PromptPack Specification > prompts > additionalProperties > media > image > default_detail
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:

"low"
"high"
"auto"
7.1.15.3.4. Property PromptPack Specification > prompts > additionalProperties > media > image > require_caption
Type boolean
Required No
Default false

Description: Whether image captions are required

7.1.15.3.5. Property PromptPack Specification > prompts > additionalProperties > media > image > max_images_per_msg
Type integer
Required No

Description: Maximum number of images allowed per message

Examples:

1
5
10
Restrictions
Minimum ≥ 1
7.1.15.4. Property PromptPack Specification > prompts > additionalProperties > media > audio
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
7.1.15.4.1. Property PromptPack Specification > prompts > additionalProperties > media > audio > max_size_mb
Type integer
Required No

Description: Maximum file size in megabytes

Examples:

25
50
Restrictions
Minimum ≥ 1
7.1.15.4.2. Property PromptPack Specification > prompts > additionalProperties > media > audio > allowed_formats
Type array of string
Required No

Description: List of allowed audio formats

Examples:

[
"mp3",
"wav",
"ogg"
]
[
"mp3",
"wav",
"opus",
"flac",
"m4a",
"aac",
"ogg",
"webm"
]
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
allowed_formats items -
7.1.15.4.2.1. PromptPack Specification > prompts > additionalProperties > media > audio > allowed_formats > allowed_formats items
Type string
Required No
7.1.15.4.3. Property PromptPack Specification > prompts > additionalProperties > media > audio > max_duration_sec
Type integer
Required No

Description: Maximum audio duration in seconds

Examples:

300
600
Restrictions
Minimum ≥ 1
7.1.15.4.4. Property PromptPack Specification > prompts > additionalProperties > media > audio > require_metadata
Type boolean
Required No
Default false

Description: Whether audio metadata (title, description) is required

7.1.15.5. Property PromptPack Specification > prompts > additionalProperties > media > video
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
7.1.15.5.1. Property PromptPack Specification > prompts > additionalProperties > media > video > max_size_mb
Type integer
Required No

Description: Maximum file size in megabytes

Examples:

100
200
Restrictions
Minimum ≥ 1
7.1.15.5.2. Property PromptPack Specification > prompts > additionalProperties > media > video > allowed_formats
Type array of string
Required No

Description: List of allowed video formats

Examples:

[
"mp4",
"webm"
]
[
"mp4",
"webm",
"mov",
"avi",
"mkv",
"ogg"
]
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
allowed_formats items -
7.1.15.5.2.1. PromptPack Specification > prompts > additionalProperties > media > video > allowed_formats > allowed_formats items
Type string
Required No
7.1.15.5.3. Property PromptPack Specification > prompts > additionalProperties > media > video > max_duration_sec
Type integer
Required No

Description: Maximum video duration in seconds

Examples:

600
1200
Restrictions
Minimum ≥ 1
7.1.15.5.4. Property PromptPack Specification > prompts > additionalProperties > media > video > require_metadata
Type boolean
Required No
Default false

Description: Whether video metadata (title, description) is required

7.1.15.6. Property PromptPack Specification > prompts > additionalProperties > media > document
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.
7.1.15.6.1. Property PromptPack Specification > prompts > additionalProperties > media > document > max_size_mb
Type integer
Required No

Description: Maximum file size in megabytes

Examples:

50
100
Restrictions
Minimum ≥ 1
7.1.15.6.2. Property PromptPack Specification > prompts > additionalProperties > media > document > allowed_formats
Type array of string
Required No

Description: List of allowed document formats

Examples:

[
"pdf",
"docx"
]
[
"pdf",
"step",
"dwg"
]
[
"csv",
"xlsx",
"ods"
]
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
allowed_formats items -
7.1.15.6.2.1. PromptPack Specification > prompts > additionalProperties > media > document > allowed_formats > allowed_formats items
Type string
Required No
7.1.15.6.3. Property PromptPack Specification > prompts > additionalProperties > media > document > max_pages
Type integer
Required No

Description: Maximum number of pages/sheets for paginated documents

Examples:

50
100
Restrictions
Minimum ≥ 1
7.1.15.6.4. Property PromptPack Specification > prompts > additionalProperties > media > document > require_metadata
Type boolean
Required No
Default false

Description: Whether document metadata (title, author, description) is required

7.1.15.6.5. Property PromptPack Specification > prompts > additionalProperties > media > document > extraction_mode
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:

"text"
"structured"

Must be one of:

  • “text”
  • “structured”
  • “raw”
7.1.15.7. Property PromptPack Specification > prompts > additionalProperties > media > examples
Type array
Required No

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
7.1.15.7.1. PromptPack Specification > prompts > additionalProperties > media > examples > MultimodalExample
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)
7.1.15.7.1.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > name
Type string
Required Yes

Description: Name identifying this example

Examples:

"image-analysis"
"audio-transcription"
7.1.15.7.1.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > description
Type string
Required No

Description: Description of what this example demonstrates

7.1.15.7.1.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > role
Type enum (of string)
Required Yes

Description: Message role (typically ‘user’ or ‘assistant’)

Example:

"user"

Must be one of:

  • “user”
  • “assistant”
  • “system”
7.1.15.7.1.4. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts
Type array
Required Yes

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’)
7.1.15.7.1.4.1.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > type
Type string
Required Yes

Description: Type of content part. Common types include: text, image, audio, video, document. Custom types are allowed for extensibility.

Examples:

"text"
"image"
"audio"
"document"
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
Type string
Required No

Description: Text content (required when type is ‘text’)

Examples:

"What's in this image?"
"Describe the scene"
7.1.15.7.1.4.1.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media
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
7.1.15.7.1.4.1.3.1. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > file_path
Type string
Required No

Description: Path to media file (relative to pack or absolute). Validated at compile time.

Examples:

"images/photo.jpg"
"./media/audio.mp3"
7.1.15.7.1.4.1.3.2. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > url
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"
7.1.15.7.1.4.1.3.3. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > base64
Type string
Required No

Description: Base64-encoded media data. Use for small files or when embedding is preferred.

Example:

"iVBORw0KGgoAAAANSUhEUgAAAAUA..."
7.1.15.7.1.4.1.3.4. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > mime_type
Type string
Required Yes

Description: MIME type of the media file

Examples:

"image/jpeg"
"image/png"
"audio/mp3"
"video/mp4"
7.1.15.7.1.4.1.3.5. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > detail
Type enum (of string)
Required No

Description: Detail level for image processing (images only). Overrides default_detail from ImageConfig.

Example:

"high"

Must be one of:

  • “low”
  • “high”
  • “auto”
7.1.15.7.1.4.1.3.6. Property PromptPack Specification > prompts > additionalProperties > media > examples > examples items > parts > parts items > media > caption
Type string
Required No

Description: Caption or description for the media

Examples:

"Product photo"
"Customer's voice recording"
7.1.15.8. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties
Type combining
Required No
Additional properties Any type allowed
One of(Option)
ImageConfig
AudioConfig
VideoConfig
DocumentConfig
GenericMediaTypeConfig
7.1.15.8.1. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > ImageConfig
Type object
Required No
Additional properties Not allowed
Same definition as image

Description: Configuration and validation rules for image content

7.1.15.8.2. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > AudioConfig
Type object
Required No
Additional properties Not allowed
Same definition as audio

Description: Configuration and validation rules for audio content

7.1.15.8.3. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > VideoConfig
Type object
Required No
Additional properties Not allowed
Same definition as video

Description: Configuration and validation rules for video content

7.1.15.8.4. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > DocumentConfig
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.)

7.1.15.8.5. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > GenericMediaTypeConfig
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 - -
7.1.15.8.5.1. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > item 4 > max_size_mb
Type integer
Required No

Description: Maximum file size in megabytes

Examples:

10
50
100
Restrictions
Minimum ≥ 1
7.1.15.8.5.2. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > item 4 > allowed_formats
Type array of string
Required No

Description: List of allowed file formats/extensions

Examples:

[
"obj",
"fbx",
"gltf"
]
[
"zip",
"tar"
]
[
"stl",
"ply"
]
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
allowed_formats items -
7.1.15.8.5.2.1. PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > item 4 > allowed_formats > allowed_formats items
Type string
Required No
7.1.15.8.5.3. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > item 4 > require_metadata
Type boolean
Required No
Default false

Description: Whether metadata is required for this media type

7.1.15.8.5.4. Property PromptPack Specification > prompts > additionalProperties > media > additionalProperties > oneOf > item 4 > validation_params
Type object
Required No
Additional properties Any type allowed

Description: Custom validation parameters specific to this media type. Structure depends on the type.

Examples:

{
"max_vertices": 100000,
"require_textures": false
}
{
"compression": "gzip",
"max_entries": 1000
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

8. Property PromptPack Specification > fragments

Type object
Required No
Additional properties Each additional property must conform to the schema

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

Type string
Required No

9. Property PromptPack Specification > tools

Type object
Required No
Additional properties Each additional property must conform to the schema

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.

9.1. Property PromptPack Specification > tools > Tool

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.
- action_scope No object No In #/$defs/ActionScope What this tool can affect (RFC 0013). Describes consequence; does not gate anything.
- extensions No object No - Opaque annotations about this tool. Never interpreted by this specification. Keys SHOULD be namespaced.

9.1.1. Property PromptPack Specification > tools > additionalProperties > name

Type string
Required Yes

Description: Tool name used for referencing and calling

Examples:

"lookup_order"
"create_ticket"
"search_database"
Restrictions
Must match regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$ Test

9.1.2. Property PromptPack Specification > tools > additionalProperties > description

Type string
Required Yes

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

9.1.3. Property PromptPack Specification > tools > additionalProperties > parameters

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
9.1.3.1. Property PromptPack Specification > tools > additionalProperties > parameters > type
Type enum (of string)
Required Yes

Description: Must be ‘object’ for tool parameters

Must be one of:

  • “object”
9.1.3.2. Property PromptPack Specification > tools > additionalProperties > parameters > properties
Type object
Required Yes
Additional properties Each additional property must conform to the schema

Description: Parameter definitions

Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -
9.1.3.2.1. Property PromptPack Specification > tools > additionalProperties > parameters > properties > additionalProperties
Type object
Required No
Additional properties Any type allowed
9.1.3.3. Property PromptPack Specification > tools > additionalProperties > parameters > required
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
Each item of this array must be Description
required items -
9.1.3.3.1. PromptPack Specification > tools > additionalProperties > parameters > required > required items
Type string
Required No

9.1.4. Property PromptPack Specification > tools > additionalProperties > action_scope

Type object
Required No
Additional properties Not allowed
Defined in #/$defs/ActionScope

Description: What this tool can affect (RFC 0013). Describes consequence; does not gate anything.

Property Pattern Type Deprecated Definition Title/Description
- effect No enum (of string) No - ‘read’: retrieves, changes nothing. ‘write’: changes state the operator controls. ‘external’: causes an effect outside the operator’s systems (implies write).
- reversibility No enum (of string) No - ‘reversible’: the prior state can be restored. ‘compensable’: it cannot, but a defined compensating action limits the harm. ‘irreversible’: nothing restores the state and nothing compensates. Declare against the world, not the API.
- data_classes No array of string No - Classes of data the tool touches, as vocabulary terms or free strings.
- extensions No object No - Opaque annotations about this tool’s consequence — a blast radius, a severity score, anything that qualifies what it affects. Never interpreted by this specification. Keys SHOULD be namespaced.
9.1.4.1. Property PromptPack Specification > tools > additionalProperties > action_scope > effect
Type enum (of string)
Required No

Description: ‘read’: retrieves, changes nothing. ‘write’: changes state the operator controls. ‘external’: causes an effect outside the operator’s systems (implies write).

Must be one of:

  • “read”
  • “write”
  • “external”
9.1.4.2. Property PromptPack Specification > tools > additionalProperties > action_scope > reversibility
Type enum (of string)
Required No

Description: ‘reversible’: the prior state can be restored. ‘compensable’: it cannot, but a defined compensating action limits the harm. ‘irreversible’: nothing restores the state and nothing compensates. Declare against the world, not the API.

Must be one of:

  • “reversible”
  • “compensable”
  • “irreversible”
9.1.4.3. Property PromptPack Specification > tools > additionalProperties > action_scope > data_classes
Type array of string
Required No

Description: Classes of data the tool touches, as vocabulary terms or free strings.

Example:

[
"dpv:FinancialData"
]
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
data_classes items -
9.1.4.3.1. PromptPack Specification > tools > additionalProperties > action_scope > data_classes > data_classes items
Type string
Required No
9.1.4.4. Property PromptPack Specification > tools > additionalProperties > action_scope > extensions
Type object
Required No
Additional properties Any type allowed

Description: Opaque annotations about this tool’s consequence — a blast radius, a severity score, anything that qualifies what it affects. Never interpreted by this specification. Keys SHOULD be namespaced.

Example:

{
"acme.example/blast-radius": "fleet"
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

9.1.5. Property PromptPack Specification > tools > additionalProperties > extensions

Type object
Required No
Additional properties Any type allowed

Description: Opaque annotations about this tool. Never interpreted by this specification. Keys SHOULD be namespaced.

Example:

{
"acme.example/approver-group": "platform-security-oncall"
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

10. Property PromptPack Specification > metadata

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
- governance No object No In #/$defs/Governance Governance facts about the agent this pack defines (RFC 0013).
- - additionalProperties No object No - -

10.1. Property PromptPack Specification > metadata > domain

Type string
Required No

Description: Domain or category for this pack

Examples:

"customer-service"
"healthcare"
"finance"

10.2. Property PromptPack Specification > metadata > language

Type string
Required No

Description: Primary language code (ISO 639-1)

Examples:

"en"
"es"
"fr"
Restrictions
Must match regular expression ^[a-z]{2}$ Test

10.3. Property PromptPack Specification > metadata > tags

Type array of string
Required No

Description: Tags for categorization and discovery

Example:

[
"support",
"sales",
"technical"
]
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 -

10.3.1. PromptPack Specification > metadata > tags > tags items

Type string
Required No

10.4. Property PromptPack Specification > metadata > cost_estimate

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

10.4.1. Property PromptPack Specification > metadata > cost_estimate > min_cost_usd

Type number
Required No

Description: Minimum cost per execution in USD

Restrictions
Minimum ≥ 0

10.4.2. Property PromptPack Specification > metadata > cost_estimate > max_cost_usd

Type number
Required No

Description: Maximum cost per execution in USD

Restrictions
Minimum ≥ 0

10.4.3. Property PromptPack Specification > metadata > cost_estimate > avg_cost_usd

Type number
Required No

Description: Average cost per execution in USD

Restrictions
Minimum ≥ 0

10.5. Property PromptPack Specification > metadata > governance

Type object
Required No
Additional properties Not allowed
Defined in #/$defs/Governance

Description: Governance facts about the agent this pack defines (RFC 0013).

Property Pattern Type Deprecated Definition Title/Description
- vocabularies No object No - Prefix to IRI map for CURIE values used in this block. The dpv, eu-aiact and ai prefixes are well-known defaults and need not be declared.
- intended_purpose No string No - What the agent is built to do, stated by its author. Free text.
- foreseeable_misuse No array of string No - Uses the author considers out of bounds and reasonably foreseeable.
- autonomy_level No enum (of string) No - How far the agent acts without a human in the loop, as designed and tested. ‘suggests’: produces output, a human performs any action. ‘acts_with_approval’: acts, but each consequential action is approved first. ‘acts_with_oversight’: acts on its own, a human monitors and can intervene or reverse. ‘acts_autonomously’: acts without a human in the loop.
- accountable_owner No string No - The role, team or function answerable for this agent. Prefer a durable identifier over a named individual.
- operator_role No string No - The declaring organisation’s role for this agent, as a vocabulary term or free string.
- risk_classification No string No - The risk classification assigned to this agent, as a vocabulary term or free string. A namespaced term carries both the framework and the value, so no separate framework field is needed; a second classification under another framework belongs in extensions.
- intended_deployment_contexts No array of string No - Sectors or settings the agent is built for, as vocabulary terms or free strings. Distinct from metadata.domain, which is a discovery tag.
- capabilities No array of string No - Capabilities the agent exercises, as vocabulary terms or free strings. Some capabilities carry obligations regardless of sector, so this is not covered by intended_deployment_contexts.
- approved_environments No array of string No - Environments this pack has been cleared to run in. Open strings, because environment names are organisation-specific. Absence means undeclared, not cleared everywhere and not cleared nowhere.
- requires_ai_disclosure No boolean No - Whether the agent must disclose that it is an AI to the people interacting with it. The runtime decides which of its interfaces this applies to.
- extensions No object No - Opaque annotations for external tooling. Never interpreted by this specification. Keys SHOULD be namespaced.

10.5.1. Property PromptPack Specification > metadata > governance > vocabularies

Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Prefix to IRI map for CURIE values used in this block. The dpv, eu-aiact and ai prefixes are well-known defaults and need not be declared.

Example:

{
"acme": "https://acme.example/vocab#"
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No string No - -
10.5.1.1. Property PromptPack Specification > metadata > governance > vocabularies > additionalProperties
Type string
Required No
Format uri

10.5.2. Property PromptPack Specification > metadata > governance > intended_purpose

Type string
Required No

Description: What the agent is built to do, stated by its author. Free text.

Example:

"Answers cardholder questions about settled transactions and raises disputes on the cardholder's explicit instruction."

10.5.3. Property PromptPack Specification > metadata > governance > foreseeable_misuse

Type array of string
Required No

Description: Uses the author considers out of bounds and reasonably foreseeable.

Example:

[
"Credit, pricing or eligibility decisioning",
"Adjudicating a dispute without a human reviewer"
]
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
foreseeable_misuse items -
10.5.3.1. PromptPack Specification > metadata > governance > foreseeable_misuse > foreseeable_misuse items
Type string
Required No

10.5.4. Property PromptPack Specification > metadata > governance > autonomy_level

Type enum (of string)
Required No

Description: How far the agent acts without a human in the loop, as designed and tested. ‘suggests’: produces output, a human performs any action. ‘acts_with_approval’: acts, but each consequential action is approved first. ‘acts_with_oversight’: acts on its own, a human monitors and can intervene or reverse. ‘acts_autonomously’: acts without a human in the loop.

Must be one of:

  • “suggests”
  • “acts_with_approval”
  • “acts_with_oversight”
  • “acts_autonomously”

10.5.5. Property PromptPack Specification > metadata > governance > accountable_owner

Type string
Required No

Description: The role, team or function answerable for this agent. Prefer a durable identifier over a named individual.

Examples:

"payments-risk"
"Head of Customer Operations"

10.5.6. Property PromptPack Specification > metadata > governance > operator_role

Type string
Required No

Description: The declaring organisation’s role for this agent, as a vocabulary term or free string.

Examples:

"eu-aiact:AIProvider"
"eu-aiact:AIDeployer"

10.5.7. Property PromptPack Specification > metadata > governance > risk_classification

Type string
Required No

Description: The risk classification assigned to this agent, as a vocabulary term or free string. A namespaced term carries both the framework and the value, so no separate framework field is needed; a second classification under another framework belongs in extensions.

Example:

"eu-aiact:HighRiskAI"

10.5.8. Property PromptPack Specification > metadata > governance > intended_deployment_contexts

Type array of string
Required No

Description: Sectors or settings the agent is built for, as vocabulary terms or free strings. Distinct from metadata.domain, which is a discovery tag.

Example:

[
"eu-aiact:CriticalInfrastructure"
]
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
intended_deployment_contexts items -
10.5.8.1. PromptPack Specification > metadata > governance > intended_deployment_contexts > intended_deployment_contexts items
Type string
Required No

10.5.9. Property PromptPack Specification > metadata > governance > capabilities

Type array of string
Required No

Description: Capabilities the agent exercises, as vocabulary terms or free strings. Some capabilities carry obligations regardless of sector, so this is not covered by intended_deployment_contexts.

Examples:

[
"eu-aiact:EmotionRecognition"
]
[
"eu-aiact:DeepFake"
]
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
capabilities items -
10.5.9.1. PromptPack Specification > metadata > governance > capabilities > capabilities items
Type string
Required No

10.5.10. Property PromptPack Specification > metadata > governance > approved_environments

Type array of string
Required No

Description: Environments this pack has been cleared to run in. Open strings, because environment names are organisation-specific. Absence means undeclared, not cleared everywhere and not cleared nowhere.

Examples:

[
"staging"
]
[
"staging",
"production"
]
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
approved_environments items -
10.5.10.1. PromptPack Specification > metadata > governance > approved_environments > approved_environments items
Type string
Required No

10.5.11. Property PromptPack Specification > metadata > governance > requires_ai_disclosure

Type boolean
Required No

Description: Whether the agent must disclose that it is an AI to the people interacting with it. The runtime decides which of its interfaces this applies to.

10.5.12. Property PromptPack Specification > metadata > governance > extensions

Type object
Required No
Additional properties Any type allowed

Description: Opaque annotations for external tooling. Never interpreted by this specification. Keys SHOULD be namespaced.

Example:

{
"acme.example/control-set": "SOC2-CC7"
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

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

Type string
Required Yes

Description: Version of the packc compiler used to create this pack

Examples:

"packc-v0.1.0"
"packc-v1.2.3"

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:

"2025-10-31T12:00:00Z"

11.3. Property PromptPack Specification > compilation > schema

Type string
Required Yes

Description: Pack format schema version used

Examples:

"v1"
"v2"

11.4. Property PromptPack Specification > compilation > source

Type string
Required No

Description: Optional source configuration file path

Examples:

"arena.yaml"
"config/prompts.yaml"

12. Property PromptPack Specification > evals

Type array
Required No

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

Type object
Required No
Additional properties Not allowed
Same definition as prompts_additionalProperties_evals_items

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:

1
Restrictions
Minimum ≥ 1

13.2. Property PromptPack Specification > workflow > entry

Type string
Required Yes

Description: Name of the initial state. Must match a key in the states object.

Examples:

"greeting"
"triage"

13.3. Property PromptPack Specification > workflow > states

Type object
Required Yes
Additional properties Each additional property must conform to the schema

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. The orchestration mode determines how the state’s work is driven: ‘internal’/‘external’/‘hybrid’ reference a prompt task and declare event-driven transitions; ‘composition’ (RFC 0010) runs a declarative step graph in place of a prompt. 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. The orchestration mode determines how the state’s work is driven: ‘internal’/‘external’/‘hybrid’ reference a prompt task and declare event-driven transitions; ‘composition’ (RFC 0010) runs a declarative step graph in place of a prompt. 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. Required for orchestration modes ‘internal’, ‘external’, ‘hybrid’ (or when orchestration is omitted, default ‘internal’); not used in ‘composition’ mode.
- 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 enum (of string) No - How the state is orchestrated. ‘internal’ = agent controls transitions (default). ‘external’ = system controls transitions. ‘hybrid’ = both. ‘composition’ = the referenced composition fully handles the state’s orchestration (work + transitions): the composition runs end-to-end, and on completion its output may map to on_event transitions or terminate the state. The composition mode is exclusive; it is not mixed with internal/external/hybrid on the same state.
- composition No string No - Reference to a composition key defined in the pack’s compositions object (RFC 0010). Required when orchestration is ‘composition’; absent otherwise.
- 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. If (orchestration = “composition”)
Type object
Required No
Additional properties Any type allowed
13.3.1.1.1. The following properties are required
  • composition
13.3.1.2. Else (i.e. orchestration != “composition”)
Type object
Required No
Additional properties Any type allowed
13.3.1.2.1. The following properties are required
  • prompt_task
13.3.1.3. Property PromptPack Specification > workflow > states > additionalProperties > prompt_task
Type string
Required No

Description: Reference to a prompt key defined in the pack’s prompts object. Required for orchestration modes ‘internal’, ‘external’, ‘hybrid’ (or when orchestration is omitted, default ‘internal’); not used in ‘composition’ mode.

Examples:

"support"
"sales"
"triage"
13.3.1.4. Property PromptPack Specification > workflow > states > additionalProperties > description
Type string
Required No

Description: Human-readable description of this state’s purpose.

13.3.1.5. Property PromptPack Specification > workflow > states > additionalProperties > on_event
Type object
Required No
Additional properties Each additional property must conform to the schema

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",
"resolved": "closing"
}
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No string No - -
13.3.1.5.1. Property PromptPack Specification > workflow > states > additionalProperties > on_event > additionalProperties
Type string
Required No
13.3.1.6. Property PromptPack Specification > workflow > states > additionalProperties > persistence
Type string
Required No

Description: Whether conversation context is kept (persistent) or reset (transient) on entry.

Examples:

"transient"
"persistent"
13.3.1.7. Property PromptPack Specification > workflow > states > additionalProperties > orchestration
Type enum (of string)
Required No
Default "internal"

Description: How the state is orchestrated. ‘internal’ = agent controls transitions (default). ‘external’ = system controls transitions. ‘hybrid’ = both. ‘composition’ = the referenced composition fully handles the state’s orchestration (work + transitions): the composition runs end-to-end, and on completion its output may map to on_event transitions or terminate the state. The composition mode is exclusive; it is not mixed with internal/external/hybrid on the same state.

Must be one of:

  • “internal”
  • “external”
  • “hybrid”
  • “composition”
13.3.1.8. Property PromptPack Specification > workflow > states > additionalProperties > composition
Type string
Required No

Description: Reference to a composition key defined in the pack’s compositions object (RFC 0010). Required when orchestration is ‘composition’; absent otherwise.

Examples:

"analyze_document"
"classify_document"
13.3.1.9. Property PromptPack Specification > workflow > states > additionalProperties > skills
Type string
Required No

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:

"./skills/billing"
"none"
13.3.1.10. 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:

true
13.3.1.11. Property PromptPack Specification > workflow > states > additionalProperties > max_visits
Type integer
Required No

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:

5
10
20
Restrictions
Minimum ≥ 1
13.3.1.12. Property PromptPack Specification > workflow > states > additionalProperties > on_max_visits
Type string
Required No

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:

"review"
"summarize"
"error_handler"
13.3.1.13. Property PromptPack Specification > workflow > states > additionalProperties > artifacts
Type object
Required No
Additional properties Each additional property must conform to the schema

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:

{
"commit_sha": {
"type": "text/plain",
"description": "Git commit of the latest generated code"
},
"test_report": {
"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.13.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.13.1.1. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > additionalProperties > type
Type string
Required Yes

Description: MIME type indicating the artifact’s content type. Used by runtimes to determine serialization and presentation.

Examples:

"text/plain"
"application/json"
"text/markdown"
"text/x-python"
13.3.1.13.1.2. Property PromptPack Specification > workflow > states > additionalProperties > artifacts > additionalProperties > description
Type string
Required No

Description: Human-readable description of what this artifact contains and how it’s used.

13.3.1.13.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:

"replace"
"append"

Must be one of:

  • “replace”
  • “append”

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
Type integer
Required No

Description: Maximum total state visits across all states in the workflow. This is a global safety net independent of per-state max_visits.

Examples:

50
100
200
Restrictions
Minimum ≥ 1
13.4.1.2. Property PromptPack Specification > workflow > engine > budget > max_tool_calls
Type integer
Required No

Description: Maximum total tool calls across all states in the workflow.

Examples:

100
500
Restrictions
Minimum ≥ 1
13.4.1.3. Property PromptPack Specification > workflow > engine > budget > max_wall_time_sec
Type integer
Required No

Description: Maximum wall-clock time in seconds for the entire workflow execution.

Examples:

300
600
3600
Restrictions
Minimum ≥ 1

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

Type string
Required Yes

Description: Prompt key of the entry agent — the default agent that receives incoming requests.

Examples:

"triage"
"router"
"main"

14.2. Property PromptPack Specification > agents > members

Type object
Required Yes
Additional properties Each additional property must conform to the schema

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.
- state No string No - Reference to a state key in the pack’s workflow.states. When set, invoking this agent runs the pack workflow starting at the named state (following its transitions and loops) instead of executing the member-key prompt once. Requires a top-level workflow. If omitted, the agent is a single-prompt agent.
- governance No object No Same as governance Governance facts for this agent, overriding metadata.governance by per-field replacement: a field present here replaces the pack value for that field, a field absent inherits. Arrays and extensions replace whole (RFC 0013).
14.2.1.1. Property PromptPack Specification > agents > members > additionalProperties > description
Type string
Required No

Description: Agent description published in the A2A Agent Card. Overrides the prompt’s description if set.

14.2.1.2. Property PromptPack Specification > agents > members > additionalProperties > tags
Type array of string
Required No

Description: Discovery tags for the agent, used by A2A registries and routers.

Examples:

[
"support",
"billing"
]
[
"sales",
"enterprise"
]
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 -
14.2.1.2.1. PromptPack Specification > agents > members > additionalProperties > tags > tags items
Type string
Required No
14.2.1.3. Property PromptPack Specification > agents > members > additionalProperties > input_modes
Type array of string
Required No
Default ["text/plain"]

Description: MIME types the agent accepts as input. Defaults to [“text/plain”] if omitted.

Examples:

[
"text/plain"
]
[
"text/plain",
"image/png"
]
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
input_modes items -
14.2.1.3.1. PromptPack Specification > agents > members > additionalProperties > input_modes > input_modes items
Type string
Required No
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:

[
"text/plain"
]
[
"text/plain",
"application/json"
]
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
output_modes items -
14.2.1.4.1. PromptPack Specification > agents > members > additionalProperties > output_modes > output_modes items
Type string
Required No
14.2.1.5. Property PromptPack Specification > agents > members > additionalProperties > state
Type string
Required No

Description: Reference to a state key in the pack’s workflow.states. When set, invoking this agent runs the pack workflow starting at the named state (following its transitions and loops) instead of executing the member-key prompt once. Requires a top-level workflow. If omitted, the agent is a single-prompt agent.

Examples:

"triage"
"diagnose"
14.2.1.6. Property PromptPack Specification > agents > members > additionalProperties > governance
Type object
Required No
Additional properties Not allowed
Same definition as governance

Description: Governance facts for this agent, overriding metadata.governance by per-field replacement: a field present here replaces the pack value for that field, a field absent inherits. Arrays and extensions replace whole (RFC 0013).

15. Property PromptPack Specification > skills

Type array
Required No

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.

One of(Option)
item 0
SkillPathSource
InlineSkill

15.1.1. Property PromptPack Specification > skills > skills items > oneOf > item 0

Type string
Required No

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
Type string
Required Yes

Description: Path to a skill directory, file, or package reference.

Examples:

"./skills/billing"
"@acme/billing-skills"
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:

true
false

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
Type string
Required Yes

Description: Human-readable name for this skill.

Examples:

"escalation-protocol"
"refund-policy"
Restrictions
Min length 1
15.1.3.2. Property PromptPack Specification > skills > skills items > oneOf > item 2 > description
Type string
Required Yes

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
Type string
Required Yes

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:\n1. Acknowledge the complexity\n2. Collect case details\n3. Create an escalation ticket"
Restrictions
Min length 1

16. Property PromptPack Specification > compositions

Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Map of composition name to composition definition (RFC 0010). Each composition declares a named step graph that a runtime may invoke as a structured-input/structured-output unit. Compositions are reached only through workflow states whose orchestration is ‘composition’. Optional; packs without it are unaffected.

Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No In #/$defs/Composition A named step graph defining a procedural composition over the pack’s prompts, tools, and evals (RFC 0010). Reached through a workflow state whose orchestration is ‘composition’.

16.1. Property PromptPack Specification > compositions > Composition

Type object
Required No
Additional properties Not allowed
Defined in #/$defs/Composition

Description: A named step graph defining a procedural composition over the pack’s prompts, tools, and evals (RFC 0010). Reached through a workflow state whose orchestration is ‘composition’.

Property Pattern Type Deprecated Definition Title/Description
+ version No const No - Composition format version. Currently 1.
- description No string No - Human-readable description of what this composition does.
- input_schema No string No - Reference to a JSON Schema declaring the structured input shape. Path or fragment reference.
- output_schema No string No - Reference to a JSON Schema declaring the structured output shape.
- output No string No - Step ID whose output is the composition’s output. If omitted, runtimes should treat the last step’s output as the composition output.
+ steps No array No - Ordered array of step definitions. Order is logical; control flow is determined by the steps themselves (sequential by default; branches and parallels alter flow).
- engine No object No - Runtime-specific configuration (e.g. budgets, telemetry, scheduling hints). Opaque escape hatch with no schema enforcement.

16.1.1. Property PromptPack Specification > compositions > additionalProperties > version

Type const
Required Yes

Description: Composition format version. Currently 1.

Specific value: 1

16.1.2. Property PromptPack Specification > compositions > additionalProperties > description

Type string
Required No

Description: Human-readable description of what this composition does.

16.1.3. Property PromptPack Specification > compositions > additionalProperties > input_schema

Type string
Required No

Description: Reference to a JSON Schema declaring the structured input shape. Path or fragment reference.

16.1.4. Property PromptPack Specification > compositions > additionalProperties > output_schema

Type string
Required No

Description: Reference to a JSON Schema declaring the structured output shape.

16.1.5. Property PromptPack Specification > compositions > additionalProperties > output

Type string
Required No

Description: Step ID whose output is the composition’s output. If omitted, runtimes should treat the last step’s output as the composition output.

16.1.6. Property PromptPack Specification > compositions > additionalProperties > steps

Type array
Required Yes

Description: Ordered array of step definitions. Order is logical; control flow is determined by the steps themselves (sequential by default; branches and parallels alter flow).

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
Step A single step in a composition’s step graph. The ‘kind’ discriminator selects the step shape (RFC 0010).
16.1.6.1. PromptPack Specification > compositions > additionalProperties > steps > Step
Type combining
Required No
Additional properties Any type allowed
Defined in #/$defs/Step

Description: A single step in a composition’s step graph. The ‘kind’ discriminator selects the step shape (RFC 0010).

Property Pattern Type Deprecated Definition Title/Description
+ id No string No - Stable identifier for this step. Must be unique within the composition. Used for output references, eval attachment, and trace records.
+ kind No string No - Step kind. v1 conventional values: ‘prompt’, ‘agent’, ‘tool’, ‘branch’, ‘parallel’. Free-form string with documented conventional values; runtimes may support additional vendor-namespaced kinds (e.g. ‘omnia.judge’).
- description No string No - -
- depends_on No array of string No - Optional explicit predecessor step IDs. If omitted, the step sequentially follows the prior step in steps[]. Required when steps run after a branch or parallel and need to declare a join point.
- modifiers No object No In #/$defs/StepModifiers Optional declarative modifiers (retry, eval attachment). Modifier semantics are runtime-defined.
One of(Option)
PromptStep
AgentStep
ToolStep
BranchStep
ParallelStep
16.1.6.1.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > PromptStep
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/PromptStep

Description: Step kind ‘prompt’: a one-shot LLM invocation against a declared prompt task with an optional output schema. No tool calls.

Property Pattern Type Deprecated Definition Title/Description
+ kind No const No - -
+ prompt_task No string No - Reference to a prompt key defined in the pack’s prompts object.
- input No object No In #/$defs/StepInput Optional input binding. Variables resolved against the composition’s input and prior steps’ outputs.
- output_schema No string No - Reference to a JSON Schema for the expected output shape. Runtimes parse the LLM response against this schema.
16.1.6.1.1.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > kind
Type const
Required Yes

Specific value: "prompt"

16.1.6.1.1.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > prompt_task
Type string
Required Yes

Description: Reference to a prompt key defined in the pack’s prompts object.

16.1.6.1.1.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > input
Type combining
Required No
Additional properties Any type allowed
Defined in #/$defs/StepInput

Description: Optional input binding. Variables resolved against the composition’s input and prior steps’ outputs.

One of(Option)
item 0
item 1
16.1.6.1.1.3.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > input > oneOf > item 0
Type string
Required No

Description: Reference of the form ‘${path.to.value}’.

16.1.6.1.1.3.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > input > oneOf > item 1
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -
16.1.6.1.1.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 0 > output_schema
Type string
Required No

Description: Reference to a JSON Schema for the expected output shape. Runtimes parse the LLM response against this schema.

16.1.6.1.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > AgentStep
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/AgentStep

Description: Step kind ‘agent’: a bounded LLM-tool loop. Internal to a single composition; distinct from RFC 0007 agents.

Property Pattern Type Deprecated Definition Title/Description
+ kind No const No - -
+ prompt_task No string No - -
- input No object No Same as input Input binding for a step (RFC 0010). May be a reference of the form ‘${path.to.value}’ against the composition input (‘${input.X}’) or a prior step output (‘${stepId.output.X}’), or an object combining literals and references.
- tools No array of string No - Subset of the pack’s tools available to this agent step. Acts as a per-step scoped tool registry.
+ termination No object No In #/$defs/TerminationPredicate REQUIRED. The condition under which the bounded loop exits. Without an explicit termination predicate, an agent step is invalid.
- output_schema No string No - -
16.1.6.1.2.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > kind
Type const
Required Yes

Specific value: "agent"

16.1.6.1.2.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > prompt_task
Type string
Required Yes
16.1.6.1.2.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > input
Type combining
Required No
Additional properties Any type allowed
Same definition as input

Description: Input binding for a step (RFC 0010). May be a reference of the form ‘${path.to.value}’ against the composition input (‘${input.X}’) or a prior step output (‘${stepId.output.X}’), or an object combining literals and references.

16.1.6.1.2.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > tools
Type array of string
Required No

Description: Subset of the pack’s tools available to this agent step. Acts as a per-step scoped tool registry.

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 -
16.1.6.1.2.4.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > tools > tools items
Type string
Required No
16.1.6.1.2.5. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > termination
Type combining
Required Yes
Additional properties Any type allowed
Defined in #/$defs/TerminationPredicate

Description: REQUIRED. The condition under which the bounded loop exits. Without an explicit termination predicate, an agent step is invalid.

Property Pattern Type Deprecated Definition Title/Description
- max_steps No integer No - -
- tool_called No string No - Tool name; agent terminates when the LLM successfully invokes this tool.
Any of(Option)
item 0
item 1
16.1.6.1.2.5.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > termination > anyOf > item 0
Type object
Required No
Additional properties Any type allowed
16.1.6.1.2.5.1.1. The following properties are required
  • max_steps
16.1.6.1.2.5.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > termination > anyOf > item 1
Type object
Required No
Additional properties Any type allowed
16.1.6.1.2.5.2.1. The following properties are required
  • tool_called
16.1.6.1.2.5.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > termination > max_steps
Type integer
Required No
Restrictions
Minimum ≥ 1
16.1.6.1.2.5.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > termination > tool_called
Type string
Required No

Description: Tool name; agent terminates when the LLM successfully invokes this tool.

16.1.6.1.2.6. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 1 > output_schema
Type string
Required No
16.1.6.1.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > ToolStep
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/ToolStep

Description: Step kind ‘tool’: a deterministic tool invocation called directly by the runtime, not via an LLM tool-call decision.

Property Pattern Type Deprecated Definition Title/Description
+ kind No const No - -
+ tool No string No - Reference to a tool key defined in the pack’s tools object.
- args No object No - Argument bindings. Variables resolved against the composition’s input and prior steps’ outputs.
16.1.6.1.3.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 2 > kind
Type const
Required Yes

Specific value: "tool"

16.1.6.1.3.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 2 > tool
Type string
Required Yes

Description: Reference to a tool key defined in the pack’s tools object.

16.1.6.1.3.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 2 > args
Type object
Required No
Additional properties Any type allowed

Description: Argument bindings. Variables resolved against the composition’s input and prior steps’ outputs.

Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -
16.1.6.1.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > BranchStep
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/BranchStep

Description: Step kind ‘branch’: a conditional that picks a successor step based on a constrained predicate.

Property Pattern Type Deprecated Definition Title/Description
+ kind No const No - -
+ predicate No object No In #/$defs/Predicate A constrained, declarative branch predicate (RFC 0010). Not an expression language.
+ then No string No - Step ID to execute when the predicate evaluates true.
- else No string No - Step ID to execute when the predicate evaluates false.
16.1.6.1.4.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > kind
Type const
Required Yes

Specific value: "branch"

16.1.6.1.4.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate
Type combining
Required Yes
Additional properties Any type allowed
Defined in #/$defs/Predicate

Description: A constrained, declarative branch predicate (RFC 0010). Not an expression language.

One of(Option)
ComparePredicate
ExistsPredicate
AllOfPredicate
AnyOfPredicate
NotPredicate
16.1.6.1.4.2.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > ComparePredicate
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/ComparePredicate
Property Pattern Type Deprecated Definition Title/Description
+ path No string No - Reference to a value via dot-notation against the composition’s input and step outputs. Example: ‘${classify.output.intent}’.
+ op No enum (of string) No - -
+ value No object No - Literal comparison value (string, number, boolean, or array for in/not_in).
16.1.6.1.4.2.1.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 0 > path
Type string
Required Yes

Description: Reference to a value via dot-notation against the composition’s input and step outputs. Example: ‘${classify.output.intent}’.

16.1.6.1.4.2.1.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 0 > op
Type enum (of string)
Required Yes

Must be one of:

  • “equals”
  • “not_equals”
  • “in”
  • “not_in”
  • “less_than”
  • “less_than_or_equals”
  • “greater_than”
  • “greater_than_or_equals”
16.1.6.1.4.2.1.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 0 > value
Type object
Required Yes
Additional properties Any type allowed

Description: Literal comparison value (string, number, boolean, or array for in/not_in).

16.1.6.1.4.2.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > ExistsPredicate
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/ExistsPredicate
Property Pattern Type Deprecated Definition Title/Description
+ path No string No - -
+ exists No boolean No - -
16.1.6.1.4.2.2.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 1 > path
Type string
Required Yes
16.1.6.1.4.2.2.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 1 > exists
Type boolean
Required Yes
16.1.6.1.4.2.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > AllOfPredicate
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/AllOfPredicate
Property Pattern Type Deprecated Definition Title/Description
+ all_of No array No - -
16.1.6.1.4.2.3.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 2 > all_of
Type array
Required Yes
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
Predicate A constrained, declarative branch predicate (RFC 0010). Not an expression language.
16.1.6.1.4.2.3.1.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 2 > all_of > Predicate
Type combining
Required No
Additional properties Any type allowed
Same definition as predicate

Description: A constrained, declarative branch predicate (RFC 0010). Not an expression language.

16.1.6.1.4.2.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > AnyOfPredicate
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/AnyOfPredicate
Property Pattern Type Deprecated Definition Title/Description
+ any_of No array No - -
16.1.6.1.4.2.4.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 3 > any_of
Type array
Required Yes
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
Predicate A constrained, declarative branch predicate (RFC 0010). Not an expression language.
16.1.6.1.4.2.4.1.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 3 > any_of > Predicate
Type combining
Required No
Additional properties Any type allowed
Same definition as predicate

Description: A constrained, declarative branch predicate (RFC 0010). Not an expression language.

16.1.6.1.4.2.5. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > NotPredicate
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/NotPredicate
Property Pattern Type Deprecated Definition Title/Description
+ not No object No Same as predicate A constrained, declarative branch predicate (RFC 0010). Not an expression language.
16.1.6.1.4.2.5.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > predicate > oneOf > item 4 > not
Type combining
Required Yes
Additional properties Any type allowed
Same definition as predicate

Description: A constrained, declarative branch predicate (RFC 0010). Not an expression language.

16.1.6.1.4.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > then
Type string
Required Yes

Description: Step ID to execute when the predicate evaluates true.

16.1.6.1.4.4. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 3 > else
Type string
Required No

Description: Step ID to execute when the predicate evaluates false.

16.1.6.1.5. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > ParallelStep
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/ParallelStep

Description: Step kind ‘parallel’: a static fan-out block whose branches execute concurrently and are merged by a declared reducer.

Property Pattern Type Deprecated Definition Title/Description
+ kind No const No - -
+ branches No array No - -
+ reduce No object No In #/$defs/Reducer Names how a parallel block’s branch outputs are merged into a single value (RFC 0010).
16.1.6.1.5.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > kind
Type const
Required Yes

Specific value: "parallel"

16.1.6.1.5.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > branches
Type array
Required Yes
Array restrictions
Min items 2
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Step A single step in a composition’s step graph. The ‘kind’ discriminator selects the step shape (RFC 0010).
16.1.6.1.5.2.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > branches > Step
Type combining
Required No
Additional properties Any type allowed
Same definition as compositions_additionalProperties_steps_items

Description: A single step in a composition’s step graph. The ‘kind’ discriminator selects the step shape (RFC 0010).

16.1.6.1.5.3. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > reduce
Type object
Required Yes
Additional properties Any type allowed
Defined in #/$defs/Reducer

Description: Names how a parallel block’s branch outputs are merged into a single value (RFC 0010).

Property Pattern Type Deprecated Definition Title/Description
+ strategy No string No - v1 conventional values: ‘append’ (extend lists), ‘replace’ (last write wins), ‘barrier’ (collect all outputs into a named map). Free-form string; additional reducers reserved for future RFCs.
+ into No string No - Field name under which the merged result is placed on the parallel step’s output. Subsequent steps reference it as ${<parallelStepId>.output.<into>}.
16.1.6.1.5.3.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > reduce > strategy
Type string
Required Yes

Description: v1 conventional values: ‘append’ (extend lists), ‘replace’ (last write wins), ‘barrier’ (collect all outputs into a named map). Free-form string; additional reducers reserved for future RFCs.

16.1.6.1.5.3.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > oneOf > item 4 > reduce > into
Type string
Required Yes

Description: Field name under which the merged result is placed on the parallel step’s output. Subsequent steps reference it as ${<parallelStepId>.output.<into>}.

16.1.6.1.6. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > id
Type string
Required Yes

Description: Stable identifier for this step. Must be unique within the composition. Used for output references, eval attachment, and trace records.

Restrictions
Must match regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$ Test
16.1.6.1.7. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > kind
Type string
Required Yes

Description: Step kind. v1 conventional values: ‘prompt’, ‘agent’, ‘tool’, ‘branch’, ‘parallel’. Free-form string with documented conventional values; runtimes may support additional vendor-namespaced kinds (e.g. ‘omnia.judge’).

16.1.6.1.8. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > description
Type string
Required No
16.1.6.1.9. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > depends_on
Type array of string
Required No

Description: Optional explicit predecessor step IDs. If omitted, the step sequentially follows the prior step in steps[]. Required when steps run after a branch or parallel and need to declare a join point.

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
depends_on items -
16.1.6.1.9.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > depends_on > depends_on items
Type string
Required No
16.1.6.1.10. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > modifiers
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/StepModifiers

Description: Optional declarative modifiers (retry, eval attachment). Modifier semantics are runtime-defined.

Property Pattern Type Deprecated Definition Title/Description
- retry No object No - -
- eval No array of string No - References to eval keys defined in the pack’s evals object (RFC 0006). Runtimes may execute these inline or post-Send.
16.1.6.1.10.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > modifiers > retry
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- max_attempts No integer No - -
16.1.6.1.10.1.1. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > modifiers > retry > max_attempts
Type integer
Required No
Restrictions
Minimum ≥ 1
16.1.6.1.10.2. Property PromptPack Specification > compositions > additionalProperties > steps > steps items > modifiers > eval
Type array of string
Required No

Description: References to eval keys defined in the pack’s evals object (RFC 0006). Runtimes may execute these inline or post-Send.

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 items -
16.1.6.1.10.2.1. PromptPack Specification > compositions > additionalProperties > steps > steps items > modifiers > eval > eval items
Type string
Required No

16.1.7. Property PromptPack Specification > compositions > additionalProperties > engine

Type object
Required No
Additional properties Any type allowed

Description: Runtime-specific configuration (e.g. budgets, telemetry, scheduling hints). Opaque escape hatch with no schema enforcement.

Property Pattern Type Deprecated Definition Title/Description
- - additionalProperties No object No - -

17. Property PromptPack Specification > requires

Type object
Required No
Additional properties Not allowed

Description: External resources the pack needs to run (RFC 0012). Optional; when present, validated strictly. Reserved for future requirement categories (e.g. tools, skills).

Property Pattern Type Deprecated Definition Title/Description
- providers No array No - Logical model-provider requirements. Each entry is a string shorthand (an ‘llm’ requirement with that key) or a ProviderRequirement object.

17.1. Property PromptPack Specification > requires > providers

Type array
Required No

Description: Logical model-provider requirements. Each entry is a string shorthand (an ‘llm’ requirement with that key) or a ProviderRequirement 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
ProviderRequirement A logical model-provider requirement (RFC 0012). A bare string is shorthand for an ‘llm’ requirement with that key.

17.1.1. PromptPack Specification > requires > providers > ProviderRequirement

Type combining
Required No
Additional properties Any type allowed
Defined in #/$defs/ProviderRequirement

Description: A logical model-provider requirement (RFC 0012). A bare string is shorthand for an ‘llm’ requirement with that key.

One of(Option)
item 0
item 1
17.1.1.1. Property PromptPack Specification > requires > providers > providers items > oneOf > item 0
Type string
Required No

Description: Shorthand: the requirement key. Expands to a required ‘llm’ requirement with that key (role ‘llm’, required true).

17.1.1.2. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1
Type object
Required No
Additional properties Not allowed
Property Pattern Type Deprecated Definition Title/Description
+ key No string No - Logical name the runtime resolves this provider by (e.g. ‘default’, ‘embeddings’, ‘judge’). ‘default’ is reserved for the primary LLM.
+ role No string No - The kind of model required. Open set; runtimes MAY extend (validators must not reject unknown roles). Suggested values (PromptKit roles): ‘llm’, ‘embedding’, ‘tts’, ‘stt’, ‘image’, ‘inference’.
- required No boolean No - Whether the pack cannot run without this provider. Optional requirements degrade features rather than blocking startup.
- description No string No - Human-readable explanation of the provider’s purpose and the capabilities it should have.
- capabilities No object No In #/$defs/ProviderCapabilities Structured, advisory capabilities the satisfying provider should have (RFC 0012). The well-known fields below are validated when present, but the object is OPEN: provider- or role-specific capabilities (a ‘role: inference’ provider may expose anything) may be added as extra keys with any shape. Custom keys SHOULD be namespaced (e.g. ‘x-’ prefix) to avoid clashing with fields the spec may define later. All listed fields are optional.
17.1.1.2.1. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > key
Type string
Required Yes

Description: Logical name the runtime resolves this provider by (e.g. ‘default’, ‘embeddings’, ‘judge’). ‘default’ is reserved for the primary LLM.

Restrictions
Must match regular expression ^[a-zA-Z0-9_-]+$ Test
17.1.1.2.2. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > role
Type string
Required Yes

Description: The kind of model required. Open set; runtimes MAY extend (validators must not reject unknown roles). Suggested values (PromptKit roles): ‘llm’, ‘embedding’, ‘tts’, ‘stt’, ‘image’, ‘inference’.

Examples:

"llm"
"embedding"
"tts"
"stt"
"image"
"inference"
17.1.1.2.3. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > required
Type boolean
Required No
Default true

Description: Whether the pack cannot run without this provider. Optional requirements degrade features rather than blocking startup.

17.1.1.2.4. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > description
Type string
Required No

Description: Human-readable explanation of the provider’s purpose and the capabilities it should have.

17.1.1.2.5. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities
Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/ProviderCapabilities

Description: Structured, advisory capabilities the satisfying provider should have (RFC 0012). The well-known fields below are validated when present, but the object is OPEN: provider- or role-specific capabilities (a ‘role: inference’ provider may expose anything) may be added as extra keys with any shape. Custom keys SHOULD be namespaced (e.g. ‘x-’ prefix) to avoid clashing with fields the spec may define later. All listed fields are optional.

Property Pattern Type Deprecated Definition Title/Description
- modalities No array of string No - Media types the provider must handle. Reuses the media-type vocabulary (MediaConfig.supported_types, RFC 0004). Common: ‘text’, ‘image’, ‘audio’, ‘video’, ‘document’.
- min_context_tokens No integer No - Minimum context window, in tokens, the provider must support.
- tool_use No boolean No - Whether the provider must support tool/function calling.
- structured_output No boolean No - Whether the provider must support structured/JSON output.
- embedding_dimensions No integer No - Required embedding vector dimensionality (for role ‘embedding’).
- - additionalProperties No object No - -
17.1.1.2.5.1. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > modalities
Type array of string
Required No

Description: Media types the provider must handle. Reuses the media-type vocabulary (MediaConfig.supported_types, RFC 0004). Common: ‘text’, ‘image’, ‘audio’, ‘video’, ‘document’.

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
modalities items -
17.1.1.2.5.1.1. PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > modalities > modalities items
Type string
Required No
Restrictions
Must match regular expression ^[a-z0-9_]+$ Test
17.1.1.2.5.2. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > min_context_tokens
Type integer
Required No

Description: Minimum context window, in tokens, the provider must support.

Restrictions
Minimum ≥ 1
17.1.1.2.5.3. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > tool_use
Type boolean
Required No

Description: Whether the provider must support tool/function calling.

17.1.1.2.5.4. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > structured_output
Type boolean
Required No

Description: Whether the provider must support structured/JSON output.

17.1.1.2.5.5. Property PromptPack Specification > requires > providers > providers items > oneOf > item 1 > capabilities > embedding_dimensions
Type integer
Required No

Description: Required embedding vector dimensionality (for role ‘embedding’).

Restrictions
Minimum ≥ 1

Generated using json-schema-for-humans on 2026-08-31 at 09:33:20 +0000