Worked example

A support correction becomes a reusable instruction.

A developer configures one stable Container ID. A persisted support run yields cited evidence, a reviewed Insight, and a Skill bundle. No second transcript crosses the Runtime boundary.

Runtime setup

One hook covers web and Channels

const runtime = new CopilotRuntime({
  agents: { support: supportAgent },
  intelligence,
  identifyUser,
  channels: [supportChannel],
  learning: {
    containerId: ({ agentId }) =>
      agentId === "support" ? "support-quality" : null,
  },
});

Flow

From persisted run to Skill

01 · ASSIGN

Runtime picks support-quality

The Thread binds on create or lock before its first agent run starts.

02 · PERSIST

Agent gives a US tax answer

The customer later states that the account is in Germany. IntelligenceAgentRunner stores the full AG-UI run.

03 · LEARN

Region is a missing precondition

The harvester reduces that exact run. Flue cites the region message and correction.

04 · USE

Download inside the selected Project

The CLI reads the local Project ID, authorizes it, and installs the published SKILL.md for the next agent deployment.

Evidence output

The Insight stays reviewable

{
  "alias": "confirm-account-region",
  "statement": "Confirm the account region before tax guidance.",
  "impact": "Prevents US rules from being applied to EU accounts.",
  "skillEligible": true,
  "evidence": [{
    "threadId": "th_42",
    "messageIds": ["msg_8", "msg_11"]
  }]
}

Published artifact

A plain SKILL.md

---
name: confirm-account-region
description: Confirm region before giving tax guidance.
---

# Confirm account region

1. Ask which country owns the account.
2. Do not infer region from language or currency.
3. Apply tax guidance only after the region is explicit.