Skip to content

GitHub Prompt #4743

Open
Open
@NatoBoram

Description

@NatoBoram

Description of the JSON schema.

GitHub soft-launched a .prompt.yaml format. Its only documentation is at Storing prompts in GitHub repositories / Supported file format. It doesn't even have a name mentioned in that documentation.

Example:

name: Text Summarizer
description: Summarizes input text concisely
model: gpt-4o-mini
modelParameters:
  temperature: 0.5
messages:
  - role: system
    content: You are a text summarizer. Your only job is to summarize text given to you.
  - role: user
    content: |
      Summarize the given text, beginning with "Summary -":
      <text>
      {{input}}
      </text>
testData:
  - input: |
      The quick brown fox jumped over the lazy dog.
      The dog was too tired to react.
    expected: Summary - A fox jumped over a lazy, unresponsive dog.
evaluators:
  - name: Output should start with 'Summary -'
    string:
      startsWith: "Summary -"

Example, but in JSON:

{
	"name": "Text Summarizer",
	"description": "Summarizes input text concisely",
	"model": "gpt-4o-mini",
	"modelParameters": { "temperature": 0.5 },
	"messages": [
		{
			"role": "system",
			"content": "You are a text summarizer. Your only job is to summarize text given to you."
		},
		{
			"role": "user",
			"content": "Summarize the given text, beginning with \"Summary -\":\n<text>\n{{input}}\n</text>\n"
		}
	],
	"testData": [
		{
			"input": "The quick brown fox jumped over the lazy dog.\nThe dog was too tired to react.\n",
			"expected": "Summary - A fox jumped over a lazy, unresponsive dog."
		}
	],
	"evaluators": [
		{
			"name": "Output should start with 'Summary -'",
			"string": { "startsWith": "Summary -" }
		}
	]
}

model is an enum. It seems undocumented. If I extract some HTML from some GitHub's UI, I get this:

gpt-4.1
gpt-4.1-mini
gpt-4.1-nano
gpt-4o
gpt-4o-mini
o1
o1-mini
o1-preview
o3
o3-mini
o4-mini
MAI-DS-R1
Phi-3.5-MoE-instruct
Phi-3.5-mini-instruct
Phi-3.5-vision-instruct
Phi-3-medium-128k-instruct
Phi-3-medium-4k-instruct
Phi-3-mini-128k-instruct
Phi-3-mini-4k-instruct
Phi-3-small-128k-instruct
Phi-3-small-8k-instruct
Phi-4
Phi-4-mini-instruct
Phi-4-mini-reasoning
Phi-4-multimodal-instruct
Phi-4-reasoning
AI21-Jamba-1.5-Large
AI21-Jamba-1.5-Mini
Codestral-2501
Cohere-command-r
Cohere-command-r-08-2024
Cohere-command-r-plus
Cohere-command-r-plus-08-2024
DeepSeek-R1
DeepSeek-V3-0324
Llama-3.2-11B-Vision-Instruct
Llama-3.2-90B-Vision-Instruct
Llama-3.3-70B-Instruct
Llama-4-Maverick-17B-128E-Instruct-FP8
Llama-4-Scout-17B-16E-Instruct
Meta-Llama-3.1-405B-Instruct
Meta-Llama-3.1-70B-Instruct
Meta-Llama-3.1-8B-Instruct
Meta-Llama-3-70B-Instruct
Meta-Llama-3-8B-Instruct
Ministral-3B
Mistral-Large-2411
Mistral-Nemo
cohere-command-a
grok-3
grok-3-mini
jais-30b-chat
mistral-medium-2505
mistral-small-2503

Though, I do understand if the enum isn't coded in SchemaStore's schema, it would be quite a hassle to track down.

role is also an enum. Typically, those are the values:

system
user
assistant
function
tool
developer

Documentation for typical roles are at https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages

GitHub doesn't document it. The GitHub UI does not offer a "role" setting that I can extract HTML from.

Supporting information.

Are you making a PR for this?

No, someone else must create the PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    new-schema-requestRequest to add a new JSON schema. (auto-generated by issue forms)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions