Copy-paste starter prompts that cover all four AgentMark generation types (object, text + tools, image, and speech), plus a runnable dataset for each.
Four working .prompt.mdx examples you can drop into your agentmark/ directory and run with npx @agentmark-ai/cli run-prompt. Each one covers a different generation type and a different AgentMark feature. Pick the closest to what you’re building and adapt.
npm create agentmark bootstraps agentmark.json, an empty agentmark/ directory, and MCP wiring. Copy any example below into agentmark/ to get started.
A client file (agentmark.client.ts for TypeScript, agentmark_client.py for Python) in your project root. npm create agentmark does not create one; ask your coding agent to “Set up AgentMark in this project,” or follow Client setup. Without it, the development server exits with Error: agentmark.client.ts not found in current directory.
The development server running in a second terminal: npx @agentmark-ai/cli dev.
A provider API key in .env. Every example below uses OpenAI models, so set OPENAI_API_KEY.
Object (party-planner)
Text + tools (customer-support)
Image (animal-drawing)
Speech (story-teller)
Structured JSON output, schema validation, and a linked dataset with an eval. This is the canonical “extract this shape from text” prompt.Demonstrates:object_config, JSON schema validation, test_settings.dataset, test_settings.evals (exact_match_json).
exact_match_json references an eval by name. You have to register an eval with that name in your client’s evals registry before run-experiment will score anything; unregistered eval names are silently skipped, so the run completes with no scores and no error. See Writing evals for the wiring.
agentmark/party-planner.prompt.mdx
---name: party-plannerobject_config: model_name: openai/gpt-5-mini schema: type: object properties: names: type: array description: "List of names of people attending the party." items: type: string required: - namestest_settings: dataset: party.jsonl evals: - exact_match_json props: party_text: "We're having a party with Alice, Bob, and Carol."input_schema: type: object properties: party_text: type: string description: "A block of text describing the upcoming party and attendees." required: - party_text---<System>Extract the names of all people attending the party from the following text. Respond with a list of names only.</System><User>Text: {props.party_text}</User>
agentmark/party.jsonl
{"input": {"party_text": "We're having a party with Alice, Bob, and Carol."}, "expected_output": "{\"names\": [\"Alice\", \"Bob\", \"Carol\"]}"}{"input": {"party_text": "The guest list includes Dave, Emma, and Frank."}, "expected_output": "{\"names\": [\"Dave\", \"Emma\", \"Frank\"]}"}{"input": {"party_text": "Join us for a celebration with Grace, Henry, and Isla."}, "expected_output": "{\"names\": [\"Grace\", \"Henry\", \"Isla\"]}"}
Run it
# Single execution against the inline test_settings.props:npx @agentmark-ai/cli run-prompt agentmark/party-planner.prompt.mdx# Full dataset with the exact_match_json eval:npx @agentmark-ai/cli run-experiment agentmark/party-planner.prompt.mdx
A text-generation agent with tool use and a multi-call budget. Realistic shape for a support bot, knowledge-base lookups, or any agent that needs to chain tool calls before answering.Demonstrates:text_config, tools: (by name), max_calls, dataset for regression testing.
tools: - search_knowledgebase references a tool by name. You have to register the tool’s implementation in your agentmark.client.ts (TypeScript) or agentmark_client.py (Python) before this prompt will execute end-to-end. See Tools and agents for the wiring.
agentmark/customer-support-agent.prompt.mdx
---name: customer-support-agenttext_config: model_name: openai/gpt-5-mini max_calls: 2 tools: - search_knowledgebasetest_settings: dataset: customer-query.jsonl props: customer_question: "I'm having trouble with my order. How long does shipping take?"input_schema: type: object properties: customer_question: type: string description: "The customer's question" required: - customer_question---<System>You are a customer service agent for a company that sells products online. You are given a customer's question and you need to respond to the customer. You need to be friendly, professional, and helpful.You have access to the following tool:- search_knowledgebase: Search the company knowledgebase for information about shipping, warranty, and returns. Use this when customers ask about these topics.</System><User>{props.customer_question}</User>
agentmark/customer-query.jsonl
{"input": {"customer_question": "My package hasn't arrived yet. Can you help me track it?"}}{"input": {"customer_question": "I received the wrong item in my order. What should I do?"}}{"input": {"customer_question": "How do I return a product that I purchased last week?"}}
Run it
# Make sure search_knowledgebase is registered in your client first.npx @agentmark-ai/cli run-prompt agentmark/customer-support-agent.prompt.mdx
DALL-E image generation with a single input prop. This is the smallest possible end-to-end image prompt.Demonstrates:image_config, <ImagePrompt> tag, single-prop interpolation.
agentmark/animal-drawing.prompt.mdx
---name: animal-drawingimage_config: model_name: openai/dall-e-3 num_images: 1 size: 1024x1024test_settings: dataset: animal.jsonl props: animal: "cat"---<ImagePrompt>Draw a hyper-realistic picture of a {props.animal}</ImagePrompt>
agentmark/animal.jsonl
{"input": {"animal": "cat"}, "expected_output": "A realistic picture of a cat"}{"input": {"animal": "dog"}, "expected_output": "A realistic picture of a dog"}{"input": {"animal": "bird"}, "expected_output": "A realistic picture of a bird"}
Text-to-speech with OpenAI’s tts-1-hd. Notice the <SpeechPrompt> tag: speech config uses it instead of <User>.Demonstrates:speech_config, <SpeechPrompt> tag, voice/speed/output-format options.
agentmark/story-teller.prompt.mdx
---name: story-tellerspeech_config: model_name: openai/tts-1-hd voice: "nova" speed: 1.0 output_format: "mp3"test_settings: dataset: story.jsonl props: story: "Once upon a time, there was a cat who loved to play with a ball."---<System>You are a storyteller for children. Make sure your story is engaging and interesting.</System><SpeechPrompt>{props.story}</SpeechPrompt>
agentmark/story.jsonl
{"input": {"story": "Once upon a time, the Moon woke up and found her glow missing! She floated around the sky asking stars, clouds, and even comets if they'd seen her light. It wasn't until she peeked into a mountain lake that she saw her glow shining back—hidden in her own reflection!"}}{"input": {"story": "Benny was no ordinary banana—he dreamed of becoming a superhero. One day, when a monkey slipped in the jungle and cried for help, Benny rolled into action, dodging vines and swinging from branches using his peel like a lasso."}}{"input": {"story": "In the town of Maplebrook, there was a library that whispered stories when no one was looking. Curious little Nia tiptoed in one rainy day and heard the books giggling softly."}}
Run it
npx @agentmark-ai/cli run-prompt agentmark/story-teller.prompt.mdx --props '{"story":"A whale who learned to fly."}'
Drop the .prompt.mdx file into <your-project>/agentmark/ (the agentmark/ directory npm create agentmark left empty). Drop the .jsonl dataset next to it. Then either run from the CLI as shown in each “Run it” block, or load by name from your SDK client.If you ran npm create agentmark and then asked your AI tool to “Set up AgentMark in this project,” the setup workflow will have proposed the right SDK package and client file for your stack. The recipes above slot into that wiring directly.