Agent Templates
Security vulnerability triage agent

Security triage agent that turns Dependabot CVEs into Jira tickets

Pulls open Dependabot alerts, classifies each CVE by severity and CVSS, opens a Jira ticket carrying the upgrade path, records the finding in Datadog, and posts a digest to your security channel. Every call runs as the engineer who owns the triage, never a shared bot.

Security vulnerability triage agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Triage open CVEs in payments-api and file the tickets
S
Reading Dependabot alerts for scalekit-inc/payments-api
31 open alerts fetched
github_dependabot_alerts_list
9 CVEs at or above high, 4 already ticketed
jira_issues_search
5 tickets opened, digest posted
jira_issue_create
CVE triage - payments-api
31 open Dependabot alerts
2 critical, 7 high, 14 medium, 8 low
Each ticket carries the CVSS score and the version to upgrade to
Delivered
SEC-412 to SEC-416 opened, one per CVE and package
Datadog event per finding, digest posted to #security-alerts
Message Claude...
Trusted by teams shipping agents to production
Security vulnerability triage agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
Triage open CVEs in payments-api and file the tickets
S
Reading Dependabot alerts for scalekit-inc/payments-api
31 open alerts fetched
github_dependabot_alerts_list
9 CVEs at or above high, 4 already ticketed
jira_issues_search
5 tickets opened, digest posted
jira_issue_create
CVE triage - payments-api
31 open Dependabot alerts
2 critical, 7 high, 14 medium, 8 low
Each ticket carries the CVSS score and the version to upgrade to
Delivered
SEC-412 to SEC-416 opened, one per CVE and package
Datadog event per finding, digest posted to #security-alerts
Message Claude...

How agent builders go from zero to a triaged CVE backlog in six steps

A real working agent you can deploy

This repo keys every connected account on per-connector GITHUB_USER, JIRA_USER, SLACK_USER, and DATADOG_USER identities, defaulting to one security engineer's email. In production, pass each user's real ID as the identifier on every Scalekit call, and send them an authorization link whenever their connector status is not ACTIVE.

01
Authorize GitHub, Jira, Slack, and Datadog
connectors.py
Step 0 checks all four connected accounts before anything is fetched or filed. GitHub needs the security_events scope or the Dependabot endpoint returns 403 on private repos; Datadog authenticates with an API key rather than OAuth, so a dead Datadog connection is a key rotation, not an authorization link.
connectors.py
for connector_name, identifier in cfg.get_connector_users().items():
    resp = actions.get_or_create_connected_account(
        connection_name=connector_name,       # github / jira / slackmcp / datadog
        identifier=identifier,                 # the security engineer, not a bot
    )
    if resp.connected_account.status != "ACTIVE":
        link = actions.get_authorization_link(
            connection_name=connector_name, identifier=identifier,
        ).link
        logger.warning(f"Authorize here: {link}")
02
Verify the Jira destination before any triage
provisioning.py
03
Fetch open Dependabot alerts, one severity bucket at a time
connectors.py
04
Classify by severity and CVSS, keyed by CVE and package
triage.py
05
Open one Jira ticket per CVE, deduped in Jira itself
run_flow.py
06
Record findings in Datadog and post the digest to Slack
run_flow.py

Agents that triage CVEs, without the auth plumbing

Four things you'd otherwise build: GitHub security_events grants, Jira OAuth, Slack MCP tokens, Datadog API keys, refresh. Handled.

1
Install
claude plugin marketplace add scalekit-inc/claude-code-authstack && claude plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/codex-authstack/main/install.sh | bash
terminal
copilot plugin marketplace add scalekit-inc/github-copilot-authstack
copilot plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/cursor-authstack/main/install.sh | bash
terminal
npx skills add scalekit-inc/skills --skill integrating-agent-auth
2
Clone github.com/scalekit-developers/workflow-agents-demos/tree/main/security-vulnerability-triage-agent and adapt it for my security stack.

I am building for: my security team (or: an AppSec product)   <- edit this line
Connectors my users need: GitHub, Jira, Slack, Datadog   <- edit this line
Trigger: invoked per triage cycle, manually or on a schedule. Deliver: a Jira ticket per CVE with its CVSS score and upgrade path, a Datadog event per finding, and a digest in the security channel.

Steps:
1. Create Scalekit AgentKit connections for github, jira (the plain JIRA REST connector, not AtlassianMCP -- this agent uses jira_issue_create and jira_issues_search), an MCP-variant slack, and datadog -- copy the exact connection names into GITHUB_CONNECTOR / JIRA_CONNECTOR / SLACK_CONNECTOR / DATADOG_CONNECTOR.
2. Grant the GitHub connection the security_events scope and switch Dependabot alerts on for the repo under Settings > Code security, or Step 1 returns 403 on a private repo.
3. Set GITHUB_OWNER / GITHUB_REPO and JIRA_PROJECT_KEY, and let Step 0.5 confirm JIRA_ISSUE_TYPE is valid for that project before anything is filed.
4. Set MIN_TICKET_SEVERITY to the floor that earns a ticket and MONITOR_SEVERITY to the floor that earns a Datadog monitor; leave ENABLE_DATADOG_MONITORS=false until I want monitors I have to clean up by hand.
5. Invite the connected Slack account into SLACK_CHANNEL, or set it to a literal channel or user ID to DM the digest instead.
6. Run python run_flow.py --dry-run to see the tickets and digest without writing anything, then describe how to schedule it or set POLLING_MODE=true.
Why choose Scalekit

Delegated identity. Not service accounts.

Credentials never touch agent code or LLM context. The agent acts as the user, not as a shared bot.
Delegated OAuth - Agent reads your calendar, your inbox — scoped to the authorizing identity, not org-wide.
Credentials outside agent runtime  -  Tokens never touch agent code or LLM context. Both failure modes covered.
Token lifecycle automatic  -  Refresh, expiry, rotation across all connectors. One SDK call. Zero management code.
200+ prebuilt connectors  -  Google, Slack, HubSpot, GitHub, Jira, Notion, Salesforce — same auth pattern everywhere.
Try other Agent Templates

Prebuilt agents you can ship today

Each one runs on delegated identity, scoped per user.

ENGINEERING
DevOps assistant agent
Poll GitHub for failing checks and stale pull requests, open Linear issues for the ones that need work, and digest to Slack.
ENGINEERING
Engineering standup agent
Pull commits from GitHub and GitLab, track Jira issue movement, and post a per-engineer standup brief to Slack.
ENGINEERING
Auto-release notes agent
Group merged GitHub PRs into structured release notes, publish the page to Notion, and announce the release in Slack.
ENGINEERING
Slack triage agent
Classify new Slack messages as bugs or support requests, file the GitHub issue or Zendesk ticket, and reply in the thread.
SUPPORT
Support triage agent
Classify new Zendesk tickets, search the Notion knowledge base for an answer, and route what it cannot resolve to Slack.
SUPPORT
Support ticket automation (Google ADK)
Fetch, annotate, and archive Zendesk tickets with Notion context, digesting anything it cannot answer to Slack.

Build your own
multi-connector agent

Add connectors. Change the LLM. Same delegated auth pattern.