Skip to content

Catch up on recent work

Ask about this page ChatGPT Gemini Claude

“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.