Skip to main content
Each app/prompts/**/*.terse file defines one MCP prompt, including message templates and optional argument metadata for completion support.

Full schema

app/prompts/summarize-release.terse
name: summarize-release
title: Release summary helper
description: Summarize release notes for a target audience.
arguments:
  audience:
    title: Audience
    description: Target audience for summary tone and detail
    required: true
    completion: ["engineering", "product", "customers"]
  tone:
    description: Desired writing tone
    completion: ["concise", "detailed"]
messages:
  - role: system
    text: You summarize releases for {{ audience }}.
  - role: user
    text: Write a {{ tone }} release summary.

Field reference

name
string
Prompt identifier exposed through MCP prompts/list.Default: filename without .terse.
Prompt names must be unique and should follow lower-kebab/lower-snake style (^[a-z][a-z0-9_-]*$).
title
string
Optional human-friendly prompt title.
description
string
Optional prompt description returned by prompts/list and prompts/get.
arguments
object
Optional map of argument definitions keyed by argument name.
messages
array
required
Ordered message templates for prompt rendering.

Validity rules

  • messages must contain at least one item.
  • Prompt names must be unique across the project.
  • Argument names must be unique within each prompt.
  • Message roles must be one of user, assistant, system.

Runtime mapping

  • Prompt metadata and arguments are surfaced in MCP prompts/list.
  • Message templates are rendered through MCP prompts/get.
  • Argument completion values are used by MCP completion/complete (ref/prompt).

JSON Schema

Editor validation: schema/prompt.terse.schema.json. Associate with **/prompts/**/*.terse. See Configuration schemas.