Skip to content

Schema Reference

Complete field-by-field reference for all PromptPack entities and their properties.

Root Schema

PromptPack

The root object of every PromptPack file.

Field Type Required Description
apiVersion string Yes Must be “v1”
kind string Yes Must be “PromptPack”
metadata Metadata Yes File metadata
spec Spec Yes Specification content

Metadata

File metadata and identification.

Field Type Required Description
name string Yes Unique identifier (lowercase, hyphens only)
version string Yes Semantic version (MAJOR.MINOR.PATCH)
description string No Human-readable description
authors string[] No Author names or emails
license string No License identifier (e.g., “MIT”, “Apache-2.0”)
tags string[] No Classification tags
created string No ISO 8601 creation timestamp
updated string No ISO 8601 last updated timestamp

Spec

The main specification content.

Field Type Required Description
prompts Prompt[] No Prompt definitions
tools Tool[] No Tool definitions
workflows Workflow[] No Workflow definitions
personas Persona[] No Persona definitions
fragments Fragment[] No Reusable fragments
config Config No Runtime configuration

Entity Schemas

Prompt

Defines a template-based instruction for AI systems.

Field Type Required Description
name string Yes Unique prompt identifier
template string Yes Template with variable placeholders
description string No Purpose and usage description
variables Variable[] No Input variable definitions
outputs Output[] No Expected output definitions
examples Example[] No Test cases and examples
metadata object No Additional key-value metadata

Variable

Defines an input variable for prompts or tools.

Field Type Required Description
name string Yes Variable name (supports dot notation)
type string Yes Data type: “string”, “number”, “boolean”, “array”, “object”
required boolean No Whether variable is required (default: false)
default any No Default value if not provided
description string No Variable purpose and usage
validation Validation No Validation rules

Tool

Defines an external function or API that can be called.

Field Type Required Description
name string Yes Unique tool identifier
description string Yes What the tool does
parameters Variable[] No Input parameters
returns ReturnSchema No Return value schema
endpoint string No API endpoint URL
method string No HTTP method (GET, POST, PUT, DELETE)
headers object No HTTP headers
authentication Auth No Authentication configuration

Workflow

Defines a multi-step conversational flow.

Field Type Required Description
name string Yes Unique workflow identifier
description string No Workflow purpose
steps Step[] Yes Ordered execution steps
variables Variable[] No Workflow-level variables
error_handling ErrorHandling No Error handling strategy

Persona

Defines AI personality and behavioral characteristics.

Field Type Required Description
name string Yes Unique persona identifier
description string No Persona description
traits PersonaTraits Yes Personality characteristics
knowledge string[] No Areas of expertise
constraints string[] No Behavioral limitations
examples PersonaExample[] No Example interactions

Fragment

Defines reusable content that can be included in prompts.

Field Type Required Description
name string Yes Unique fragment identifier
content string Yes Reusable content template
description string No Fragment purpose
variables Variable[] No Fragment-specific variables

Supporting Schemas

Step

A single step in a workflow.

Field Type Required Description
prompt string No Prompt to execute
tool string No Tool to call
condition string No Boolean condition for branching
then Step[] No Steps if condition is true
else Step[] No Steps if condition is false

PersonaTraits

Personality characteristics for a persona.

Field Type Required Description
personality string No Core personality description
communication_style string No How the persona communicates
expertise string No Areas of knowledge
tone string No Communication tone

Validation

Validation rules for variables.

Field Type Required Description
min_length number No Minimum string length
max_length number No Maximum string length
pattern string No Regular expression pattern
enum any[] No Allowed values
min number No Minimum numeric value
max number No Maximum numeric value

Auth

Authentication configuration for tools.

Field Type Required Description
type string Yes “api_key”, “bearer_token”, “basic”, “oauth2”
key_location string No “header”, “query_parameter”
key_name string No Header or parameter name

ReturnSchema

Schema for tool return values.

Field Type Required Description
type string Yes Return data type
schema object No JSON schema for validation
description string No Return value description

Config {#config}

Runtime configuration settings.

Field Type Required Description
model string No Default AI model
temperature number No Generation temperature (0.0-1.0)
max_tokens number No Maximum output tokens
timeout number No Request timeout in seconds
retries number No Number of retry attempts

Output {#output}

Expected output specification for prompts.

Field Type Required Description
name string Yes Output identifier
type string Yes Expected data type
description string No Output description
schema object No JSON schema for validation
required boolean No Whether output is required

Example {#example}

Test cases and usage examples.

Field Type Required Description
name string Yes Example identifier
inputs object Yes Input variable values
expected_output any No Expected result
description string No Example description

ErrorHandling {#errorhandling}

Error handling configuration for workflows.

Field Type Required Description
strategy string Yes “fail_fast”, “continue”, “retry”
max_retries number No Maximum retry attempts
fallback string No Fallback prompt or tool
timeout number No Step timeout in seconds

PersonaExample {#personaexample}

Example interactions for personas.

Field Type Required Description
input string Yes User input
output string Yes Persona response
context object No Interaction context
description string No Example description

Data Types

Supported Types

  • string - Text data
  • number - Numeric values (integers and floats)
  • boolean - True/false values
  • array - Ordered lists of values
  • object - Key-value maps

Template Variables

Variables in templates use double curly braces:

{{variable_name}}

Examples:

  • Dot Notation: {{user.profile.name}}
  • Array Access: {{items[0].title}}
  • Conditionals: {{#if condition}}content{{/if}}