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 developer is building a Koog 1.0 agent that drafts polite decline messages on the user's behalf. Each time the agent declines an invitation, they want the agent to remember which "excuse flavor" was used (e.g., EMERGENCY_MEETING, FAMILY_OBLIGATION, JET_LAG) and which organizer received it — so on the next decline, the agent can pick a flavor it hasn't used recently for that organizer.
They've been thinking about this as "the agent needs to remember its past decisions across runs". They have a small dataset (a few dozen prior declines, growing slowly), and they'd like it queryable by organizer and by date so the agent can ask "what did I send to Roberto Cortez in the last 90 days?"
They asked which Koog feature fits this.
Walk through which primitive applies and produce the modified agent construction plus the Gradle dependency change.
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