Agent skill

Ops Triage

by davepoon in davepoon/buildwithclaude

Cross-platform issue triage. An agent skill from davepoon/buildwithclaude.

MITAuto-check: notesDevelopment

Install Ops Triage

skills CLI
$ npx skills add davepoon/buildwithclaude --skill ops-triage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davepoon/buildwithclaude ops-triage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/claude-ops/skills/ops-triage .claude/skills/ops-triage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ops-triage
GitHub stars
3.6k
Token cost
~2k tokens
SKILL.md length
664 words
Files
1
Skills in repo
246
Repo updated
First seen
Licence
MIT

At a glance

Cross-platform issue triage. An agent skill from davepoon/buildwithclaude.

  • Works in 4 steps: Gather issues in parallel → Cross-reference against code → Confirm and resolve fixed issues → …
  • Tasks that involve Issue triage
  • SKILL.md covers Runtime Context, CLI/API Reference, Agent Teams support and Phase 1 — Gather issues in…, plus 5 more sections
  • Calls gh, curl and jq; reaches sentry.io and api.linear.app; needs SENTRY_AUTH_TOKEN and LINEAR_API_KEY

What it does

Ops Triage is an agent skill from davepoon/buildwithclaude. Cross-platform issue triage. Pulls from Sentry (MCP), Linear (MCP), GitHub Issues (gh). Cross-references against code to find already-fixed issues. Auto-resolves fixed ones. Dispatches agents for active issues.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Issue triage and MCP servers. It works with GitHub, Sentry, Model Context Protocol and Linear. The repository describes itself as: A single hub to find Claude Skills, Agents, Commands, Hooks, Plugins, and Marketplace collections to extend Claude Code, Claude Desktop, Agent SDK and OpenClaw. The licence is MIT.

When your agent uses it

  • Tasks that involve Issue triage
  • Tasks that involve MCP servers

Example prompts

  • “/ops-triage”

Requirements

  • A credential in SENTRY_AUTH_TOKEN
  • A credential in LINEAR_API_KEY
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, Skill, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaskUpdate, TaskList, WebFetch, WebSearch, LSP, mcp__sentry__search_issues, mcp__sentry__get_issue_details, mcp__linear__list_issues, mcp__linear__update_issue, mcp__linear__get_issue, mcp__linear__list_teams

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Gather issues in parallel
  2. Cross-reference against code
  3. Confirm and resolve fixed issues
  4. Present triage board

What it can do on your machine

Read from SKILL.md and the folder at commit 616deb5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob
    • Skill
    • Agent
    • AskUserQuestion
    • TeamCreate
    • SendMessage
    • TaskCreate

    …and 11 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • curl
    • jq
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • sentry.io
    • api.linear.app

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SENTRY_AUTH_TOKEN
    • LINEAR_API_KEY
    • GITHUB_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ops Triage loads about 2k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 664 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob, Skill, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaskUpda

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davepoon/buildwithclaude at commit 616deb5, republished under its MIT licence (© davepoon). 664 words, ~1,960 tokens.

Download SKILL.mdSave it as .claude/skills/ops-triage/SKILL.md (or your agent's skills folder).
name
ops-triage
description
Cross-platform issue triage. Pulls from Sentry (MCP), Linear (MCP), GitHub Issues (gh). Cross-references against code to find already-fixed issues. Auto-resolves fixed ones. Dispatches agents for active issues.
allowed-tools
Bash, Read, Grep, Glob, Skill, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaskUpdate, TaskList, WebFetch, WebSearch, LSP, mcp__sentry__search_issues, mcp__sentry__get_issue_details, mcp__linear__list_issues, mcp__linear__update_issue, mcp__linear__get_issue, mcp__linear__list_teams
argument-hint
[project-alias|sentry|linear|github|all]
effort
high
model
claude-opus-4-6
maxTurns
40

Runtime Context

Before triaging, load:

  1. Preferences: cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — read project registry for repo paths
  2. Daemon health: cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — ensure services healthy
  3. Secrets: Resolve via Doppler MCP (mcp__doppler__*) → env → Doppler CLI fallback → password manager: SENTRY_AUTH_TOKEN, LINEAR_API_KEY, GITHUB_TOKEN
  4. Ops memories: Check ${CLAUDE_PLUGIN_DATA_DIR}/memories/topics_active.md for issue context

OPS ► CROSS-PLATFORM TRIAGE

CLI/API Reference

gh CLI (GitHub)
CommandUsageOutput
gh issue list --state open --json number,title,body,labels,assignees,createdAt,url --limit 50Open issuesJSON array
gh issue list --repo <owner/repo> --state open --json number,title,labels,createdAt --limit 20Repo issuesJSON array
gh pr list --state merged --search "#<N>"PRs referencing issueJSON array
gh issue close <N> --comment "<msg>"Close issueConfirmation
sentry-cli / Sentry API
CommandUsageOutput
sentry-cli issues list --project <slug> --status unresolvedUnresolved issuesIssue list
curl -H "Authorization: Bearer $SENTRY_AUTH_TOKEN" "https://sentry.io/api/0/projects/<org>/<proj>/issues/?query=is:unresolved"API fallback when MCP unavailableJSON array
Linear GraphQL (fallback when MCP unavailable)
CommandUsageOutput
curl -X POST https://api.linear.app/graphql -H "Authorization: $LINEAR_API_KEY" -H "Content-Type: application/json" -d '{"query":"{ issues(filter: {state: {type: {in: [\"started\",\"unstarted\"]}}}) { nodes { id title state { name } priority assignee { name } } } }"}'Active issuesJSON

Agent Teams support

If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when dispatching fix agents for multiple issues. This enables:

  • Fix agents can share findings (e.g., agent fixing Sentry error discovers the same root cause as a Linear issue)
  • You can redirect agents if cross-referencing reveals duplicate issues
  • Agents report progress and you can prioritize which fix to merge first

Team setup (only when flag is enabled, Phase 4 dispatch):

TeamCreate("triage-fixers")
Agent(team_name="triage-fixers", name="fix-[issue-id]", subagent_type="ops:triage-agent", ...)

Use broadcast(content="Root cause found: missing index on users.email — check if your issue is related") to share discoveries.

If the flag is NOT set, fall back to standard parallel subagents.

Phase 1 — Gather issues in parallel

Run all of these simultaneously:

GitHub Issues
bash
gh issue list --state open --json number,title,body,labels,assignees,createdAt,url --limit 50 2>/dev/null
GitHub Issues (registry-driven)
bash
REGISTRY="${CLAUDE_PLUGIN_ROOT}/scripts/registry.json"
[ -f "$REGISTRY" ] || REGISTRY="${CLAUDE_PLUGIN_ROOT}/scripts/registry.example.json"
for repo in $(jq -r '.projects[] | select(.gsd == true) | .repos[]' "$REGISTRY" 2>/dev/null); do
  echo "=== $repo ==="
  gh issue list --repo "$repo" --state open --json number,title,labels,createdAt --limit 20 2>/dev/null
done
Sentry

If Sentry MCP is connected, fetch unresolved issues for all projects. Otherwise run: echo "Sentry MCP not available"

Linear

Use mcp__linear__list_teams to get team IDs, then mcp__linear__list_issues with filter: {state: {type: {in: ["unstarted", "started"]}}} for each team.


Phase 2 — Cross-reference against code

For each Sentry issue, check if it's already fixed:

  1. Extract the error message, file path, and line number from the Sentry event.
  2. grep for the relevant code in the affected repo.
  3. Check git log: git log --oneline --all -- [file] 2>/dev/null | head -20
  4. If the fix is merged and deployed (check ECS deploy timestamps), mark as resolved.

For each GitHub Issue:

  • Check if any merged PR references the issue number (gh pr list --state merged --search "#[N]")
  • If referenced and merged, mark as potentially resolved

Show full SKILL.md (245 more words)Show less

Phase 3 — Confirm and resolve fixed issues

For issues confirmed fixed in code AND deployed, show the full list and use AskUserQuestion:

Found N issues confirmed fixed and deployed:

  [Sentry] [title] — fix in [commit], deployed [time ago]
  [Linear] [title] — fix in [commit], deployed [time ago]
  [GitHub] #[N] [title] — referenced in merged PR #[M]

  [Resolve all N]  [Review each one]  [Skip — don't auto-resolve]

If user picks "Review each one", show each issue individually with [Resolve] / [Skip] via AskUserQuestion.

For confirmed issues:

  • Sentry: use Sentry MCP to resolve the issue
  • Linear: use mcp__linear__update_issue with state: "Done"
  • GitHub: gh issue close [N] --comment "Auto-closed: fix confirmed deployed"

Log all resolutions.


Phase 4 — Present triage board

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► TRIAGE — [date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

AUTO-RESOLVED (already fixed)
 ✓ [Sentry] [title] — fix in [commit]
 ✓ [Linear] [title] — closed
 ✓ [GitHub] #[N] [title] — closed

ACTIVE ISSUES (needs work)
 CRITICAL  [source] [title] [age] [assigned?]
 HIGH      [source] [title] [age] [assigned?]
 MEDIUM    [source] [title] [age] [assigned?]

──────────────────────────────────────────────────────

Use batched AskUserQuestion calls (max 4 options each):

AskUserQuestion call 1:

  [Dispatch agent for [top critical issue]]
  [Dispatch agent for [second issue]]
  [Assign issue to sprint (Linear)]
  [More...]

AskUserQuestion call 2 (only if "More..."):

  [Bulk-assign all HIGH to current sprint]
  [Done]

Dispatch fix agent

When dispatching for an issue, spawn an Agent using agents/triage-agent.md with:

  • Full issue context (error, stack trace, affected code)
  • Instruction to create feature branch, fix, and open PR
  • Report back on completion or if blocked

Filter to $ARGUMENTS project/source if specified.


Native tool usage

Tasks — triage progress

Use TaskCreate for each issue being investigated. Update with TaskUpdate as issues are resolved/dispatched/skipped. Gives the user a live triage checklist.

WebFetch — Sentry/GitHub enrichment

When Sentry MCP hits quota limits, fall back to WebFetch with https://sentry.io/api/0/projects/<org>/<project>/issues/?query=is:unresolved (using SENTRY_AUTH_TOKEN header). Same for GitHub issue details when gh is slow.

WebSearch — error context

Use WebSearch to find known solutions for recurring errors (e.g., "AWS RDS connection reset", "ECS task stopped reason"). Include findings in the triage board as context.

LSP — code navigation for fix agents

When dispatching fix agents, use LSP to find symbol definitions, references, and call hierarchies. This helps agents navigate unfamiliar codebases faster than grep.

© davepoon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/claude-ops/skills/ops-triage of davepoon/buildwithclaude.

Open the folder on GitHubat commit 616deb5

Compare with similar skills

Ops Triage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ops Triage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ops Triage this skilldavepoon/buildwithclaude3.6k—~2kAutomated safety check: NotesMIT
Superset Integration Toolssuperset-sh/superset15k—~1.6kAutomated safety check: WarnCustom licence
MCP ServersPostHog/code179—~1.9kAutomated safety check: PassMIT
Library Documentation Seekerwithkynam/vibecode-pro-max-kit1.1k1 repos~1kAutomated safety check: NotesMIT
Herdr Issue Triageherdrdev/herdr43k—~517Automated safety check: PassApache-2.0
Issue Triagemono/SkiaSharp5.6k—~3.4kAutomated safety check: PassMIT

Similar skills

  • Superset Integration Tools

    superset-sh/superset

    Lists and calls the tools of connected integrations such as Linear, GitHub, Sentry or Notion through the superset mcp command, without storing a token on the machine.

    15k GitHub stars~1.6k tokensUpdated today
    Agent WorkflowsAuto-check: warnings
  • MCP Servers

    PostHog/code

    Official

    Install, configure, authenticate, and troubleshoot MCP (Model Context Protocol) servers for this agent.

    179 GitHub stars~1.9k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Library Documentation Seeker

    withkynam/vibecode-pro-max-kit

    Looks up library and framework documentation through Context7 first, with bundled Node scripts as a fallback that fetch and analyze llms.txt files.

    1.1k GitHub starsUsed in 1 repo~1k tokens
    DevelopmentAuto-check: notes
  • Herdr Issue Triage

    herdrdev/herdr

    Triages open herdr GitHub issues into a short decision-first Markdown table with a priority light, recommendation, age, reactions and a reason for each.

    43k GitHub stars~517 tokensUpdated today
    DevelopmentAuto-check passed
  • Issue Triage

    mono/SkiaSharp

    Triage a SkiaSharp GitHub issue or PR into structured JSON with classification (type, area, platform, severity), suggested response, automatable actions, and companion Markdown/HTML reports.

    5.6k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Prep

    johnhuang316/code-index-mcp

    A skill your agent uses when code-index-mcp implementation is complete and a version bump, release notes, tag, package publication, or GitHub release is being prepared.

    1k GitHub stars~680 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from davepoon/buildwithclaude

All 246 skills in this repo
  • iOS Hig Design Guide

    davepoon/buildwithclaude

    Build, update, and apply iOS design specifications using Apple Human Interface Guidelines (HIG) source data.

    3.6k GitHub stars~735 tokensUpdated today
    Auto-check passed
  • Video Downloader

    davepoon/buildwithclaude

    Download YouTube videos with customizable quality and format options.

    3.6k GitHub starsUsed in 1 repo~871 tokens
    Auto-check passed
  • Qwen Vision

    davepoon/buildwithclaude

    A skill your agent uses when the user asks to "analyze video", "watch this video", "what happens in this video", "describe this clip", "review this footage", "classify these videos", "compare…

    3.6k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Atlas Cloud Media

    davepoon/buildwithclaude

    Discover Atlas Cloud image and video models, inspect their live schemas, and submit one confirmed media generation request with bounded GET polling.

    3.6k GitHub stars~852 tokensUpdated today
    Auto-check passed
  • Browser Extension Launch

    davepoon/buildwithclaude

    面向没有编程经验的用户,把想法做成可试用的浏览器插件,并完成检查、商店材料、审核提交和上线验证;也用于继续已有插件、排错和发布新版。用户说“帮我做个插件”“把插件上架”“继续我的插件”时使用。普通网站开发、仅查询插件知识不触发。

    3.6k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Slack Gif Creator

    davepoon/buildwithclaude

    Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives.

    3.6k GitHub starsUsed in 12 repos~4.3k tokens
    Auto-check passed

Categories

Questions about Ops Triage

What does Ops Triage do?

Cross-platform issue triage. An agent skill from davepoon/buildwithclaude. Ops Triage is an agent skill from davepoon/buildwithclaude. Cross-platform issue triage.

When should I use Ops Triage?

Ops Triage fits situations like: tasks that involve Issue triage; tasks that involve MCP servers.

How do I install Ops Triage in Claude Code?

Run `npx skills add davepoon/buildwithclaude --skill ops-triage -a claude-code`. Or copy the skill folder (plugins/claude-ops/skills/ops-triage in davepoon/buildwithclaude) into .claude/skills/ops-triage in your project. Claude Code loads it when a task matches its description.

How do I install Ops Triage in Codex?

Run `npx skills add davepoon/buildwithclaude --skill ops-triage -a codex`. Or copy the skill folder (plugins/claude-ops/skills/ops-triage in davepoon/buildwithclaude) into .agents/skills/ops-triage in your project. Codex loads it when a task matches its description.

Can I use Ops Triage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davepoon/buildwithclaude --skill ops-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-triage, .gemini/skills/ops-triage, .github/skills/ops-triage and .opencode/skills/ops-triage in your project.

What does Ops Triage need to run?

Going by SKILL.md and its folder, Ops Triage needs the command-line tools its instructions call (gh, curl, jq and git) and credentials named SENTRY_AUTH_TOKEN, LINEAR_API_KEY and GITHUB_TOKEN. Our summary lists: A credential in SENTRY_AUTH_TOKEN; A credential in LINEAR_API_KEY. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Skill, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaskUpdate, TaskList, WebFetch, WebSearch, LSP, mcp__sentry__search_issues, mcp__sentry__get_issue_details, mcp__linear__list_issues, mcp__linear__update_issue, mcp__linear__get_issue, mcp__linear__list_teams.

Does Ops Triage access the network?

SKILL.md names 2 domains. In commands or code: sentry.io and api.linear.app; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Ops Triage safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ops Triage use?

Ops Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ops Triage use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ops Triage?

Skills that share tags, products or a category with Ops Triage: Superset Integration Tools (superset-sh/superset, 15k stars), MCP Servers (PostHog/code, 179 stars), Library Documentation Seeker (withkynam/vibecode-pro-max-kit, 1.1k stars) and Herdr Issue Triage (herdrdev/herdr, 43k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ops Triage?

davepoon (a GitHub user) maintains it in davepoon/buildwithclaude, which has 3,605 GitHub stars. The repository holds 246 skills in this directory. The repository was last updated on October 9, 2026.

Source: davepoon/buildwithclaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.