Skip to content

Catch up on recent work

“What happened this week?” and “what have we decided?” are two different questions answered by two different tools. Raw activity — PRs, reviews, tasks, meetings — lives as work events and is browsed with list_events. Summaries — decisions, work outputs, captured answers — live as knowledge entries and are browsed with list_knowledge. Reach for the right one and the catch-up is accurate; mix them and you’ll miss things.

This page is a rule you write for your agent. For the distinction itself, see Knowledge vs work events.

list_events browses the work-event ledger: the episodic record of what people and systems did. Use it for delivery and activity questions.

list_events(eventType?, author?, repo?, since?, until?, limit=20, offset?)
list_events(eventType: ["pull_request_merged"], since: "14d")
{
"status": "success",
"count": 1,
"total": 48,
"events": [
{
"event_type": "pull_request_merged",
"subject_key": "acme/app#457",
"source_url": "https://github.com/acme/app/pull/457",
"source_provider": "github",
"repository": "acme/app",
"occurred_at": "2026-06-15T05:20:21.000Z",
"actor": { "displayName": "jlee", "user": { "name": "Jordan Lee" } },
"metadata": {
"title": "feat: escalate KB misses to a human",
"prNumber": 457,
"merged": true,
"additions": 274,
"deletions": 47
}
}
]
}
  • total is the full count; count is how many came back this page.
  • actor is stitched to a Halyard user when the identity is linked.
  • metadata is provider-specific (PR stats, task status, meeting details).

Filter by eventType for a kind of activity, repo for one repository, author for one person (me for yourself), and since / until for a window. Event types are values like pull_request_merged, task_status_updated, and calendar_event_scheduled — see Enums & filters.

list_knowledge browses the knowledge side — and, usefully, returns a chronological mix of both substrates so you see summaries and the events around them together.

list_knowledge(type?, eventType?, repo?, kind?, author?, since?, until?, limit=10, offset?, include_content=false)
list_knowledge(author: "me", since: "30d")
{
"status": "success",
"count": 2,
"totals": { "knowledge": 105, "event": 387 },
"items": [
{
"kind": "knowledge",
"entry_type": "WORK_OUTPUT",
"title": "Reworked docs IA with Starlight",
"tags": ["docs", "starlight"],
"author": { "name": "Jordan Lee" },
"created_at": "2026-06-15T22:55:07.392Z"
},
{
"kind": "event",
"event_type": "pull_request_merged",
"subject_key": "acme/app#457",
"source_provider": "github",
"occurred_at": "2026-06-15T05:20:21.000Z",
"metadata": {
"title": "feat: escalate KB misses to a human",
"additions": 274,
"deletions": 47
}
}
]
}

Each item is tagged kind: "knowledge" or kind: "event" — read the fields for that kind. totals shows how big each substrate is. Filter kind to one or the other, or author: "me" and since to scope your own recent work.

QuestionTool
”What did I ship / merge / close recently?”list_events (or list_knowledge with kind: "event")
“What decisions or work outputs were filed?”list_knowledge (kind: "knowledge")
“What did I do in the last 30 days?”list_knowledge(author: "me", since: "30d") for the mixed feed
”What do we know about topic X?”search_knowledge — see Search
Pick the tool by the question.
- "What happened / what was shipped?" -> list_events(eventType?, repo?, since?).
Work events are activity, not knowledge — they are NOT semantically searchable.
- "What did we decide / write up?" -> list_knowledge(type?, author?, since?).
- "What did I do lately?" -> list_knowledge(author: "me", since: "30d") for the mixed feed.
- "What do we know about X?" -> search_knowledge, never list_events.