Loading AgentsKit ecosystem navigation…
AgentsKit Chat
Components

Link card

Title, description, and href as one navigation affordance. Component key `link-card`.

View canonical Markdown

Link card

link-card is a single navigation surface: title, optional description, required portable href, optional CTA label. Emits open with the URL.

Live preview

Link card
Title, description, and href as a single navigation affordance.
link-card

Demos use docs host CSS. Package primitives are intentionally unstyled so your product theme owns the look.

When to use

  • Deep-link to docs, tickets, dashboards, or external resources
  • When one destination is enough (not a citation list)

Prefer something else when

  • Multiple citations → source-list
  • Downloadable file metadata → file-attachment

Props (schema)

FieldTypeNotes
titlestringCard title
descriptionstring?Supporting text
hrefportable URLRelative or http(s); no credentials
labelstring?Optional CTA label

Frame example

code
{
  "protocol": "agentskit.chat.component",
  "version": 1,
  "type": "render",
  "componentKey": "link-card",
  "instanceId": "link-card-fixture",
  "props": {
    "title": "Guide",
    "description": "Read the guide.",
    "href": "https://example.com/guide",
    "label": "Open guide"
  },
  "fallback": {
    "kind": "link-card",
    "summary": "Guide link."
  }
}

Events

EventValueMeaning
openurlThe href that was opened

Host wiring

code
import { LinkCardComponent, defineComponentManifest, defineChat } from '@agentskit/chat'
import { AgentChat } from '@agentskit/chat/react'

const definition = defineChat({
  id: 'app',
  components: defineComponentManifest([LinkCardComponent]),
  chat: { adapter },
})

export function App() {
  return (
    <AgentChat
      definition={definition}
      onComponentInteract={(event) => {
        // event === 'open'; value is href
        // { type: 'interact', componentKey: 'link-card', instanceId, event: 'open', value: href }
      }}
    />
  )
}

For agents

FieldValue
componentKeylink-card
ExportLinkCardComponent
Protocolagentskit.chat.component v1
Envelopetype: "render" + instanceId + props + fallback
Eventsopen (url)
Host callbackonComponentInteract
Event shapetype always interact; event is open; value is href
FallbackAlways include fallback.kind + fallback.summary

Do not invent props or events outside the schema. Unknown keys and invalid props stay inert.

Shells

ShellNotes
React / Vue / Svelte / Solid / AngularSame frame; replaceable slots
React NativeAccessibility roles from the catalog definition
InkTerminal-safe fallback when interactive chrome is limited