How It Works
The platform turns conversations into action through a five-step pipeline. You talk to Buck in Slack, Jira, or the Dashboard — it figures out what needs doing and gets it done.
For the full technical architecture, see the Architecture reference.
The pipeline
Section titled “The pipeline”1. Trigger
Section titled “1. Trigger”A user starts work in one of four ways:
- Slack:
@buckin a channel or thread - Jira: Assign a ticket to Buck, or comment on a ticket he’s working on
- Dashboard: Create a session directly from the web dashboard
- Pull Requests: Open a PR (automatic review) or comment
@buckon a PR
2. Event routing
Section titled “2. Event routing”Events arrive as webhooks and are published to NATS JetStream subjects (webhooks.buck.{type}). Buck’s consumer pulls events from its namespace. Per-session ordering ensures events for the same conversation execute sequentially via sharded mutexes.
3. Agent reasoning
Section titled “3. Agent reasoning”Buck uses Claude (via AWS Bedrock Converse API) to reason about the event — searching code via Sourcegraph, checking observability via Grafana, creating Jira tickets and dashboard sessions, and dispatching Claude sessions to EKS pods.
4. Execution
Section titled “4. Execution”Buck dispatches an ephemeral EKS pod with Claude Code for implementation. Pods run in tmux with terminal access, MCP plugins (Sourcegraph, Grafana, PostHog, Playwright), and full codebase access. By default, Claude decides what to do — in plan mode, it only produces a plan for review.
5. Callback / Response
Section titled “5. Callback / Response”The pod reports results back to the agent via runner API (pod-bound JWT). Buck posts the plan or PR link to Slack/Jira. Sessions can pause (saving state to S3) and resume later with follow-up instructions.
| Mode | Behavior |
|---|---|
| Default | Claude reads the task, plans, and implements in one session |
| Plan | Claude reads the codebase and posts a detailed plan for human review |
Interactive capabilities
Section titled “Interactive capabilities”| Capability | Buck |
|---|---|
| Terminal access | Yes (WebSocket tunnel from dashboard) |
| Pause/resume | Yes (S3 state persistence) |
| Real-time status | Yes (SSE pod status updates) |
| Block Kit interactions | Yes (plan approval buttons) |
| Multimodal input | Yes (images from Slack threads) |