Skip to main content

Command Palette

Search for a command to run...

BDK

Triage Linear or Jira issues in place

This agent comments on tickets you already filed. It classifies the issue, writes a Triage: comment, sets bug priority, and links a duplicate when titles match.

File the ticket however you already do. This template starts after the ticket exists.

Scaffold

bdk init ./triage-agent --template triage-linearbdk init ./triage-agent --template triage-jira

bdk init --template triage selects triage-linear.

Pick the tracker you use. The agent is the same. The overlay is the connection.

init writes the project, installs dependencies, and puts bdk on PATH.

Log in

Model turns and Cursor MCP use your Cursor account.

cd triage-agentbdk login

The command opens a browser if you have no stored credential.

Connect the tracker

In the Cursor dashboard, open MCP and connect Linear or Jira.

The connection stays on the host. The model calls record_triage. Linear and Jira tools stay off the model's tool list.

Linear or Jira MCP must be connected for comments, priority changes, and duplicate links; queueing an issue can still classify it through record_triage without that connection.

First verdict

bdk dev

Open the playground. Run /queue/issue and paste an existing issue.

You can also POST:

curl -X POST http://127.0.0.1:3000/triage-agent/v1/channels/queue/issue \  -H 'content-type: application/json' \  -d '{    "identifier": "ENG-142",    "title": "CSV export returns 500",    "description": "Export has returned 500 since this morning."  }'

For create webhooks, set LINEAR_WEBHOOK_SECRET or JIRA_WEBHOOK_SECRET. Point the provider at the deployed alias under /v1/channels/webhook. Signed events start or resume triage for that issue.

record_triage comments on the issue that started the session, not whatever identifier the model copies out of the ticket body.

Rubric

Edit bot/skills/triage-rubric.md for kinds, tie-breakers, and what urgent means on your team. The next turn reads the file.

bot/instructions.md is the procedure around the rubric: missing details, when to call record_triage, how to reply.

Evals

Use the three smoke cases, one per kind, as a local exercise after you change the rubric.

bdk eval

Eval sessions skip tracker writes.

Deploy

bdk deploy

Run it from the agent's git checkout. It infers repository, ref, path, and slug, builds on Cursor-managed hosting, and prints the URL. bdk deployments shows status.