linear-bug-triage

작성자: langfuse

측정된 버그 또는 회귀 증거를 Linear와 대조하여 중복을 제거한 후, 관련 기존 이슈에 증거 코멘트를 추가하거나 간결한 Linear…

npx skills add https://github.com/langfuse/langfuse --skill linear-bug-triage

Linear Bug Triage

Use this skill after a bug or regression candidate has measured evidence. This skill owns Linear search, deduplication, evidence comments, and filing new issues once a human says yes; the calling skill owns deciding whether the signal is issue-worthy.

What This Skill May Write

Every write carries a label and is marked as agent-written in the text, and only three write shapes are permitted at all. linear-agent-writes is the authority for that policy; read it before your first write and prefer it over this summary wherever they differ.

For this skill it resolves to:

  • An evidence comment on an issue that already exists: propose, then post. Show the comment body in the findings table, get a yes (one go-ahead can cover the whole set), then post it and label that issue AI commented. Mark the comment body as agent-written.
  • A new top-level issue: ask once, then file it. A bug cluster surfaced by a review has no parent, and a parentless ticket needs a go-ahead. Take one go-ahead for the whole set, or for named rows — never one question per candidate.

So present the findings table either way: it is what the go-ahead is given against, and it is the report afterwards. One row per candidate:

  • Candidate / cluster name.
  • Environments.
  • Service and route/resource.
  • Recent window measurement.
  • Baseline measurement.
  • Delta / regression summary.
  • Key evidence links — the ones Required Evidence below asks for.
  • Action: awaiting your go-ahead with the exact comment or ticket body, commented <issue key> once approved and posted, or filed <issue key> once a row is approved and created.

Never present an awaiting your go-ahead row without the exact title and body you intend to land underneath it — that text is what is being approved. Deduplicate first, so comments land on the right issue.

If Linear is unreachable in this environment, say so plainly and return every row as text ready to paste. Do not skip the handoff silently.

Required Evidence

For each candidate, gather:

  • Recent window and baseline window as absolute time ranges with timezone.
  • Measured signal: counts, rates, p50/p95/p99 latency, trace samples, flamegraphs, monitor thresholds, or benchmark deltas.
  • Affected environments, services, routes/resources, status codes, and top error messages.
  • Datadog links for logs, spans, traces, metrics, dashboards, or flamegraphs used as evidence.
  • The exact text No measurements found for requested measurements that are unavailable.

Do not create or comment based on guesses, unsupported impact claims, or missing measurements alone.

Deduplication

Always, before writing anything:

  1. Search Linear for related open issues using exact error text, route/resource, service, environment, monitor name, and observability link keywords.
  2. Search recently closed or canceled issues if the error is recurring or the wording is distinctive.
  3. If a related issue exists, put a concise evidence comment in the findings table as awaiting your go-ahead. Post it and label AI commented only after the go-ahead (one yes can cover the whole set).
  4. If no related issue exists, prepare the issue in the format below and put it in the findings table as awaiting your go-ahead. File it once the go-ahead comes, and update the row to filed <issue key>.

Existing Issue Comments

For related existing issues, after a yes, add only:

  • Recent window and baseline window.
  • Measured delta or No measurements found for unavailable signals.
  • Affected environments, services, routes/resources, and top error messages.
  • The evidence links from Required Evidence.

Do not add fix suggestions, root-cause guesses, implementation notes, owner assignments, or next steps.

New Issue Format

The shape to prepare, show for the go-ahead, and then file:

  • State/status Triage; pass the Linear state explicitly on creation and do not rely on workspace defaults.
  • Label bug.
  • Additional existing labels that match the evidence, such as affected service, environment, API, ingestion, latency, ClickHouse, Postgres, integrations, or observability labels. Query labels first and use the repository/team's exact label names.
  • Concise title: bug: <service or route> <measured symptom> in <envs>.
  • Concise body, evidence-only:
Recent window: <absolute time range and timezone>
Baseline: <absolute time range and timezone>

Signal:
- <count/rate/latency delta with env/service/route>
- <"No measurements found" for missing requested measurements>

Evidence:
- Datadog logs: <url>
- Datadog spans/traces: <url>
- Datadog metrics, dashboard, or latency graph: <url>

Related Linear search:
- <brief search terms used and result>

Do not include fix suggestions, root-cause guesses, implementation notes, owner assignments, or next steps unless the user explicitly asks outside the Linear issue or comment.

langfuse의 다른 스킬

frontend-browser-review
langfuse
이 스킬은 변경 사항이 브라우저에서 사용자가 보거나 수행하는 작업에 영향을 미칠 때 사용하세요.
frontend-large-feature-architecture
langfuse
대규모 Langfuse 프론트엔드 기능, 가상화된 목록, 대형 테이블, 컨트롤러 컴포넌트, 로컬 기능을 구축, 변경 또는 리팩터링할 때 사용합니다.
skill-developer
langfuse
Anthropic 모범 사례에 따라 Claude Code 스킬을 생성하고 관리합니다. 새 스킬을 만들거나, skill-rules.json을 수정하거나, 트리거를 이해할 때 사용합니다…
langfuse-prompt-migration
langfuse
하드코딩된 프롬프트를 Langfuse로 마이그레이션하여 버전 관리와 배포 없는 반복을 가능하게 합니다. 사용자가 프롬프트를 외부화하거나, 프롬프트를 Langfuse로 이동하려는 경우 사용합니다.
incident-alert-tickets
langfuse
Read and, after human approval, update the Linear `incident-alert` knowledge base. Use before and after investigating a named Datadog monitor,…
refactor-react-effects
langfuse
Langfuse 프론트엔드 코드에서 피할 수 있는 React useEffect 사용을 리팩터링합니다. 효과를 추가, 검토 또는 제거할 때; 폼이나 로컬 UI 상태를 초기화할 때 사용합니다…
sentry-instrumentation
langfuse
Decide whether and how errors report to Sentry. Use when touching capture or error-handling paths in `web/**`, triaging Sentry noise, or changing Sentry…
posthog-instrumentation
langfuse
Product analytics with posthog. Use when adding a meaningful user action or feature in `web/**`, touching PostHog capture code, or answering product-usage…