Skip to content

Prompty

A Prompty is a markdown file format for LLM prompts. The frontmatter defines structured metadata including model configuration, input/output schemas, tools, and template settings. The markdown body becomes the instructions.

This is the single root type for the Prompty schema — there is no abstract base class or kind discriminator. A .prompty file always produces a Prompty instance.

---
title: Prompty
config:
  look: handDrawn
  theme: colorful
  class:
    hideEmptyMembersBox: true
---
classDiagram
    class Prompty {
      
        +string name
        +string displayName
        +string description
        +dictionary metadata
        +Property[] inputs
        +Property[] outputs
        +Model model
        +Tool[] tools
        +Template template
        +string instructions
    }
    class Property {
        +string name
        +string kind
        +string description
        +boolean required
        +unknown default
        +unknown example
        +unknown[] enumValues
    }
    Prompty *-- Property
    class Model {
        +string id
        +string provider
        +string apiType
        +Connection connection
        +ModelOptions options
    }
    Prompty *-- Model
    class Tool {
        +string name
        +string kind
        +string description
        +Binding[] bindings
    }
    Prompty *-- Tool
    class Template {
        +Format format
        +Parser parser
    }
    Prompty *-- Template
---
name: basic-prompt
displayName: Basic Prompt
description: A basic prompt that uses the GPT-3 chat API to answer questions
metadata:
authors:
- sethjuarez
- jietong
tags:
- example
- prompt
inputs:
firstName:
kind: string
default: Jane
lastName:
kind: string
default: Doe
question:
kind: string
default: What is the meaning of life?
outputs:
answer:
kind: string
description: The answer to the user's question.
model:
id: gpt-35-turbo
connection:
kind: key
endpoint: https://{your-custom-endpoint}.openai.azure.com/
key: "{your-api-key}"
tools:
- name: getCurrentWeather
kind: function
description: Get the current weather in a given location
parameters:
location:
kind: string
description: The city and state, e.g. San Francisco, CA
unit:
kind: string
description: The unit of temperature, e.g. Celsius or Fahrenheit
template:
format: mustache
parser: prompty
---
system:
You are an AI assistant who helps people find information.
As the assistant, you answer questions briefly, succinctly,
and in a personable manner using markdown and even add some
personal flair with appropriate emojis.
# Customer
You are helping {{firstName}} {{lastName}} to find answers to
their questions. Use their name to address them in your responses.
user:
{{question}}
name: basic-prompt
displayName: Basic Prompt
description: A basic prompt that uses the GPT-3 chat API to answer questions
metadata:
authors:
- sethjuarez
- jietong
tags:
- example
- prompt
inputs:
firstName:
kind: string
default: Jane
lastName:
kind: string
default: Doe
question:
kind: string
default: What is the meaning of life?
outputs:
answer:
kind: string
description: The answer to the user's question.
model:
id: gpt-35-turbo
connection:
kind: key
endpoint: https://{your-custom-endpoint}.openai.azure.com/
key: "{your-api-key}"
tools:
- name: getCurrentWeather
kind: function
description: Get the current weather in a given location
parameters:
location:
kind: string
description: The city and state, e.g. San Francisco, CA
unit:
kind: string
description: The unit of temperature, e.g. Celsius or Fahrenheit
template:
format: mustache
parser: prompty
instructions: |-
system:
You are an AI assistant who helps people find information.
As the assistant, you answer questions briefly, succinctly,
and in a personable manner using markdown and even add some
personal flair with appropriate emojis.
# Customer
You are helping {{firstName}} {{lastName}} to find answers to
their questions. Use their name to address them in your responses.
user:
{{question}}
NameTypeDescription
namestringHuman-readable name of the prompt
displayNamestringDisplay name for UI purposes
descriptionstringDescription of the prompt’s purpose
metadatadictionaryAdditional metadata including authors, tags, and other arbitrary properties
inputsProperty[]Input parameters that participate in template rendering(Related Types: ArrayProperty, ObjectProperty)
outputsProperty[]Expected output format and structure
modelModelAI model configuration
toolsTool[]Tools available for extended functionality(Related Types: FunctionTool, CustomTool, McpTool, OpenApiTool)
templateTemplateTemplate configuration for prompt rendering
instructionsstringClear directions on what the prompt should do. In .prompty files, this comes from the markdown body.

The following types are composed within Prompty: