From esdb
Read events from an EventSourcingDB instance. Use when the user wants to fetch, list, or view events for a subject, with optional filtering, ordering, and bounds.
npx claudepluginhub thenativeweb/claude-plugins --plugin esdbThis skill is limited to using the following tools:
Read events for a subject from an EventSourcingDB instance.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Read events for a subject from an EventSourcingDB instance.
Read configuration from environment variables:
echo "ESDB_URL: ${ESDB_URL:-http://localhost:3000}"
echo "ESDB_API_TOKEN: ${ESDB_API_TOKEN:-(not set)}"
ESDB_URL if set, otherwise default to http://localhost:3000.ESDB_API_TOKEN is not set, use AskUserQuestion to ask the user for the API token.This endpoint returns NDJSON. Use --no-buffer and filter out heartbeats:
curl -s --no-buffer -X POST \
-H "authorization: Bearer ${ESDB_API_TOKEN}" \
-H "content-type: application/json" \
-d '<REQUEST_BODY>' \
"${ESDB_URL:-http://localhost:3000}/api/v1/read-events" \
| grep -v '"type":"heartbeat"'
{
"subject": "/<subject-path>",
"options": {
"recursive": false,
"order": "chronological",
"lowerBound": {
"id": "<event-id>",
"type": "inclusive"
},
"upperBound": {
"id": "<event-id>",
"type": "exclusive"
},
"fromLatestEvent": {
"subject": "/<subject-path>",
"type": "<event-type>",
"ifEventIsMissing": "read-everything"
}
}
}
Options (all optional except recursive in options):
recursive (boolean): Include sub-subjects.order: "chronological" (default) or "antichronological".lowerBound: Filter events from this ID. type: "inclusive" or "exclusive".upperBound: Filter events up to this ID. type: "inclusive" or "exclusive".fromLatestEvent: Start from last event of given type. ifEventIsMissing: "read-everything" or "read-nothing". Cannot be combined with lowerBound.curl -s --no-buffer -X POST \
-H "authorization: Bearer ${ESDB_API_TOKEN}" \
-H "content-type: application/json" \
-d "{
\"subject\": \"/books/42\",
\"options\": {
\"recursive\": false
}
}" \
"${ESDB_URL:-http://localhost:3000}/api/v1/read-events" \
| grep -v '"type":"heartbeat"'
NDJSON stream with one line per event:
{"type":"event","payload":{...}}
NDJSON responses may contain {"type":"error","payload":{"error":"..."}} lines even after an initial 200 OK.
/ (e.g., /books/42)."42").