Koog 1.0 idioms, gotchas, and scaffolding skills for Kotlin agents on the JVM
89
89%
Does it follow best practices?
Impact
89%
1.78xAverage score across 47 eval scenarios
Advisory
Suggest reviewing before use
A team is building an internal orchestration dashboard that manages a fleet of Koog 1.0 agents. The dashboard needs to drive individual agents with full lifecycle control: it must be able to start agent runs, receive streaming progress updates as the agent works through its strategy, and cancel runs that are taking too long or are no longer needed. The dashboard itself is the client — it is tooling written by the team, not another agent doing its own planning.
The team has an existing Koog 1.0 agent defined with AIAgent(...) that currently only runs locally. They want to expose it so the dashboard can connect, invoke it, subscribe to progress events during the run, and issue cancellation requests at any point during execution. The dashboard team will handle the client side; your job is to wire the agent so it speaks the right protocol on the server side.
Produce a Kotlin code snippet (or file agent_setup.kt) showing the updated agent definition wired for the dashboard. Include the required build dependency in a build.gradle.kts snippet. Explain in a short notes.md which protocol was chosen and why it fits the dashboard's requirements better than the alternative inter-agent or tool-host protocols in the ecosystem.
.gemini
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
scenario-46
scenario-47
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