Koog 1.0 idioms, gotchas, and scaffolding skills for Kotlin agents on the JVM
87
88%
Does it follow best practices?
Impact
87%
1.85xAverage score across 45 eval scenarios
Advisory
Suggest reviewing before use
A legal-tech startup is building a Koog 1.0 agent that helps procurement teams review vendor contracts alongside product specifications. Each review request pairs a PDF contract (stored on the local filesystem) with a publicly hosted product image URL. The agent must read both artifacts in the same LLM call and return a summary of any concerns found in the contract and whether the product image matches the described item.
The engineering team has chosen to use the Anthropic provider for this agent. The PDF files can be large (tens of megabytes), and the product images are served from a CDN. The team wants both artifacts read in a single LLM round trip rather than two sequential calls, so the model can correlate the contract terms with the image directly.
Produce a single Kotlin file (contract_analyzer.kt) containing:
main function (or usage comment) that shows how to run the agent with a sample PDF path and image URLThe output file should compile cleanly (no missing imports, valid Kotlin syntax).
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
scenario-45
skills
add-observability
add-persistence
add-rag
add-structured-output
add-token-budgeting
add-tool
cache-llm-calls
define-prompt
domain-model-subtask-pipeline
references
enable-prompt-caching
handle-agent-events
manage-state
migrate-from-0-x
model-planner-subtasks
persist-chat-history
query-sql-from-agent
scaffold-agent
snapshot-and-restore
test-koog-agents
trace-agent-internals
use-attachments
use-functional-agent
use-llm-node-variants
use-planner
wire-a2a
wire-acp-server
wire-ktor-server
wire-mcp-server
wire-spring-boot