Examples

Working reefpods you can copy and adapt. Each is a complete pod.toml validated against the v0.1 schema. Pair each with a prompts/system.md directive and run konareef pod validate to confirm your copy.

Hello World

What it does: greets a supplied name and writes the greeting to a file. The smallest useful pod — start here. Full walkthrough in the Quickstart.

Difficulty: Beginner · Runtime: lobster · Budget: 1000 sats · Uses: input, file deliverable, budget

pod_spec_version = "0.1"

[pod]
name        = "hello-world"
version     = "0.1.0"
description = "A tiny reefpod that greets a user by name."

[runtime]
kind    = "lobster"
version = "^0.1"

[model]
provider = "anthropic"
name     = "claude-sonnet-4-5"

[inputs]
name = { type = "string", required = true, description = "The name to greet" }

[directive]
template       = "./prompts/system.md"
max_iterations = 3

[output]

[[output.success]]
kind = "file_exists"
path = "./greeting.md"

[[output.failure]]
kind  = "timeout_seconds"
value = 120

[[output.deliverables]]
path        = "./greeting.md"
description = "The generated greeting."

[budget]
max_sats = 1000

Research brief

What it does: researches a topic and writes a markdown brief of at least 150 words. Uses the iterative orca runtime and a min_words success predicate.

Difficulty: Intermediate · Runtime: orca · Budget: 3000 sats · Uses: input, min_words predicate, deliverable

pod_spec_version = "0.1"

[pod]
name        = "research-brief"
version     = "0.1.0"
description = "Researches a topic and writes a short markdown brief."
tags        = ["research", "writing"]

[runtime]
kind    = "orca"
version = "^0.1"

[model]
provider = "anthropic"
name     = "claude-sonnet-4-5"

[inputs]
topic = { type = "string", required = true, description = "The topic to research." }

[directive]
template       = "./prompts/system.md"
max_iterations = 6

[output]
format = "markdown"

[[output.success]]
kind  = "min_words"
path  = "./brief.md"
count = 150

[[output.failure]]
kind  = "timeout_seconds"
value = 600

[[output.deliverables]]
path        = "./brief.md"
description = "The research brief."

[budget]
max_sats = 3000

Meeting summary

What it does: turns raw meeting notes into a summary that must contain an “Action items” section (enforced with a contains_regex predicate) within a tight per-call budget.

Difficulty: Beginner · Runtime: lobster · Budget: 800 sats (400/call) · Uses: input, contains_regex predicate, per-call cap

pod_spec_version = "0.1"

[pod]
name        = "meeting-summary"
version     = "0.1.0"
description = "Turns raw meeting notes into a summary with action items."
tags        = ["productivity", "summary"]

[runtime]
kind    = "lobster"
version = "^0.1"

[model]
provider = "anthropic"
name     = "claude-sonnet-4-5"

[inputs]
notes = { type = "string", required = true, description = "Raw meeting notes." }

[directive]
template       = "./prompts/system.md"
max_iterations = 2

[output]

[[output.success]]
kind    = "contains_regex"
path    = "./summary.md"
pattern = "Action items"

[[output.failure]]
kind = "budget_exhausted"

[[output.deliverables]]
path        = "./summary.md"
description = "Meeting summary with action items."

[budget]
max_sats          = 800
per_call_cap_sats = 400
Copy, then make it yours

Save any example as pod.toml, add a prompts/system.md directive, and run konareef pod validate ./pod.toml. Tighten the budget and predicates to match your workflow — see the pod.toml reference and Security & trust.