Communitygithub.com

SEV 分类与排班

根据影响、范围和紧急信号对事件严重级别(SEV1-4)进行分类,并决定呼叫谁。适用于告警触发或收到报告时快速做出严重性判断的场景。

SEV 分类与排班 是什么?

SEV Triage 技能用于在事件发生时快速、客观地分配严重级别(SEV1-4),基于预定义的信号清单和范围乘数做出决策,而不是依赖直觉或事后调查。该技能支持跨平台使用(如 Claude Code、Curs、Codex 等),核心优势在于强制将严重性判断与根因调查分离——先根据当前影响信号分配 SEV 并立即执行呼叫,再安排每 30 分钟重新分类。它提供了清晰的严重性定义、信号检查清单、范围乘数以及呼叫对象指南,并包含一个完整的决策示例和质量标准,帮助团队避免常见的“低估严重性”和“等待确认”错误。最终产出是一个结构化的分类记录,包括分配的 SEV、依据信号、影响范围估计、呼叫记录和下次重新分类时间,确保后续处理者可以直接信任当前级别而无需重新推导。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SkillMedev/skills/tree/HEAD/skills/sev-triage

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

SEV 分类

严重性是一种排班决策,而不是感觉量表。分配任何单一信号所能证明的最高 SEV,然后仅在获得证据时才降级。

严重性定义

  • SEV1 - 影响收入或完全服务丧失。超过 5% 的用户无法完成关键流程。可能发生数据丢失或破坏。立即呼叫事件指挥官 + 技术主管 + 执行值班人员。
  • SEV2 - 显著降级。核心功能对部分用户损坏,错误率超过 SLO 违规阈值,或存在临时解决方案但长期不可接受。在 5 分钟内呼叫事件指挥官 + 团队值班人员。
  • SEV3 - 部分或轻微降级。非关键功能受影响,SLO 仍在预算内,尚无客户升级。创建工单,团队异步通知,下一个工作日之前修复。
  • SEV4 - 外观问题或边界情况。无用户影响,主动发现。仅创建工单。

信号检查清单

回答以下问题以确定 SEV。第一个匹配的“是”胜出。

  1. 任何用户的支付、认证或数据完整性流程是否中断? -> SEV1 候选。
  2. 过去 10 分钟内错误率是否超过 SLO 阈值? -> 至少 SEV2。
  3. 是否影响多个区域或可用区? -> 升级一级。
  4. 是否存在活跃的数据泄漏或破坏风险? -> 无论用户数量多少,均视为 SEV1。
  5. 是否单个非关键端点变慢而其余正常? -> SEV3。

范围乘数

  • 影响半径:估计受影响用户的百分比。低于 1% 很少能证明 SEV1 的合理性,除非这 1% 是付费客户或存在严重的数据风险。
  • 增长速度:影响是否在扩大?每 10 分钟翻倍的 SEV3 就是 SEV2。
  • 检测延迟:如果问题未被发现已超过 30 分钟,假设影响半径比当前信号显示的要大。

呼叫谁

  • SEV1:事件指挥官、服务负责人、值班 SRE 和技术主管。立即打开战斗室。
  • SEV2:事件指挥官和值班服务负责人。根据需要邀请其他人。
  • SEV3:服务团队异步值班。不打开战斗室。
  • SEV4:工单,不呼叫。

工作示例:做出决策

错误做法:“结账似乎对某些用户中断了。感觉像是 SEV3——我会先调查原因,如果问题严重再呼叫某人。”

正确做法:“结账错误率在过去 15 分钟为 12%(SLO 阈值:1%)。支付流程中断 -> 信号 1 -> SEV1。已呼叫事件指挥官、服务负责人和值班 SRE(14:32);战斗室已打开。影响半径估计:约 12% 的结账尝试,增长情况不明。原因未知——与 SEV 无关。重新分类时间定于 15:00。”

错误做法颠倒了顺序(原因在严重性之前),对已中断的支付流程犹豫不决,并延迟了呼叫。正确做法引用了设定级别的信号,立即呼叫,记录影响半径,并安排了重新分类时间——所有这些都在任何人知道问题原因之前完成。

交付物

生成一条分类记录——发布到事件频道或工单中——包括:分配的 SEV、一行说明引用设定级别的检查清单信号、影响半径估计(用户或请求的百分比)、被呼叫的人及时间,以及计划的重新分类时间。该记录让后续响应者可以信任当前级别,而无需重新推导。

质量标准

  • 在开始任何根因调查之前,应根据影响信号分配 SEV。
  • 说明应引用具体的检查清单信号,而不是直觉。
  • 呼叫应在分配时发生,而不是在确认之后——潜在的 SEV1 应基于一个数据点立即呼叫。
  • 设置重新分类时间(每 30 分钟),且级别应随证据上下移动。

应该做 / 不要做

  • 应该做:在调查根因之前分配 SEV。严重性关乎当前影响,而非原因。
  • 应该做:每 30 分钟重新分类。已解决的 SEV2 变成 SEV4;正在扩散的 SEV3 变成 SEV1。
  • 不要做:为了避免吵醒人而低估 SEV。虚假的 SEV1 比遗漏的 SEV1 代价更低。
  • 不要做:在潜在的 SEV1 上等待第二个数据点后再呼叫。

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

SkillMedev/skills

Designs REST API surfaces - resource naming, HTTP method and status-code semantics, error shapes, pagination, and filtering - and delivers an endpoint spec a consumer can build against without asking questions. Use when someone asks "how should I name this endpoint", "what status code should this return", "should this be PUT or PATCH", "how do I paginate this list", or is reviewing an API before it ships to external consumers. Do NOT use for planning breaking-change rollouts and deprecation windows - use api-versioning-strategist instead; for GraphQL type and resolver design - use graphql-schema instead; for generating client SDKs from an existing spec - use api-client-generator instead; for designing inbound webhook endpoints - use webhook-receiver-hardener instead.

SkillMedev/skills

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is social-video-formatter; do NOT use to animate text word-by-word as a motion graphic - that is kinetic-typography; do NOT use to write the spoken script in the first place - that is narration-script.

SkillMedev/skills

Turns data and charts into a decision-driving narrative structured as headline finding, trend, implication, and recommended action - with finding-led chart titles, context for every number, annotation guidance, and honest flags on any conclusion the data cannot support. Use when someone says "turn these numbers into a story", "what's the takeaway from this data", "help me present these results to leadership", or has charts but no narrative. Do NOT use for compressing a long document into a one-pager - use executive-summary instead - or for running the analysis that produces the findings - use eda-playbook instead.

SkillMedev/skills

Use when a task needs live or historical money data - "convert USD to EUR", "current/past exchange rate", "FX rate on this date / over this range", or "current price of Bitcoin/Ethereum, market cap, 24h change". Frankfurter (ECB reference rates, no key) is the FX default; CoinGecko's free keyless tier covers crypto. Do NOT use for stock quotes or equities - no keyless stock API survives verification, say so instead of guessing; do NOT use for country economic indicators like GDP or inflation series - use government-open-data instead; if the request is a vague "I need live data", route through public-data-api-picker.

SkillMedev/skills

Builds a driver-based FP&A operating model linking business inputs to P&L, balance sheet, and cash flow outputs. Use when building an annual plan, preparing investor materials, running scenario analysis, or stress-testing the business.

SkillMedev/skills

Use when a task needs live geographic lookups - "geocode this address", "what's at these coordinates" (reverse geocoding), "lat/lon for this city", "which country/state is this ZIP or postal code in", or "country facts: capital, currency, population, flag". Nominatim (OpenStreetMap) is the geocoding default; Zippopotam for postal codes; APICountries for country facts. All keyless. Do NOT use for weather at a location - use weather-climate instead; do NOT use for country-level statistics over time (GDP, population trends) - use government-open-data instead; if the request is a vague "I need live data", route through public-data-api-picker.

SkillMedev/skills

Runs the full Getting Things Done loop - capture, clarify, organize, reflect, engage - building a trusted system of context lists, a projects list with defined next actions, and a weekly review habit. Use when someone says "I'm overwhelmed and things are slipping through the cracks", "set up GTD for me", "help me do a brain dump and organize it", or "my to-do list is a mess". Do NOT use for just running the weekly review ritual itself - use weekly-review instead - or for clearing an email backlog - use inbox-zero.

SkillMedev/skills

Processes any email backlog to zero using the 4Ds - Delete, Delegate, Defer, Do - with a mass-archive strategy for the obvious, a touch-each-email-once discipline, and a keep-it-clear system of batched processing windows, ruthless unsubscribing, filters, and a minimal folder setup. Use when someone says "I have 5,000 unread emails", "help me get to inbox zero", "email is eating my whole day", or treats their inbox as a to-do list. Do NOT use for drafting the reply emails themselves or prioritization rules for an ongoing support queue - use email-triage instead - or for protecting focus time around the email windows - use deep-work-planner instead.

SkillMedev/skills

Write landing-page copy section by section - hero, social proof, features-as-benefits, objections, CTA - leading with one promise and proving it down the page. Use when someone asks "write my landing page", "improve my hero headline", "what should the homepage say", "turn these features into benefits", or is shipping a new page for a launch or campaign. Do NOT use for testing and optimizing an existing page's conversion rate - use landing-page-cro instead; for the one-line claim itself use positioning-statement; for the full message ladder use messaging-hierarchy.

SkillMedev/skills

Improves an existing landing page's conversion rate through evidence-first CRO - audit heatmaps and recordings, write structured hypotheses, prioritize with ICE scoring, and run one-variable tests to statistical significance. Use when someone asks "why isn't my landing page converting", "audit this page before we scale spend", "which A/B test should we run first", or after a CVR drop or ahead of a paid-traffic push. Do NOT use for writing a new landing page from scratch - use landing-page-copy instead. Do NOT use for auditing the ad accounts sending the traffic - use paid-acquisition-audit instead. Do NOT use for reading the results of a finished experiment - use ab-test-analyzer instead.

SkillMedev/skills

Runs structured coaching sessions using values clarification and the GROW model, ending every session with one committed action, a deadline, and an if-then plan for the likely obstacle. Use when someone says "I feel stuck in my life", "help me figure out what I want", "hold me accountable to my goals", or "coach me through this decision". Do NOT use for building a stress toolkit - use stress-management instead - or a journaling practice - use journal-framework; for a standing goal-tracking system, use goals-accountability. Coaching, not therapy: signs of clinical distress route to a licensed professional.

SkillMedev/skills

Adapts English content for a target language and region - swapping idioms, setting the right formality register, replacing cultural references, converting dates, units, and currency - and delivers the localized text with a notes column explaining each adaptation and flagging what needs a native reviewer. Use when someone asks "localize this copy for the Japanese market", "adapt our marketing copy for the Mexican market", "make this translation sound native instead of literal", or a literal translation reads foreign, stiff, or risky. Do NOT use for auditing in-product UI text quality - use ux-writing-audit instead.

SkillMedev/skills

Turns a natural-language video brief into a complete, ready-to-preview Remotion composition - extracts duration, scenes, brand colors, aspect ratio, and real copy; plans the frame budget; and writes data-driven React/TypeScript using useCurrentFrame, interpolate, spring, AbsoluteFill, and Sequence, registered in Root.tsx. Use when someone says "build a 20-second product demo video", "animate a feature walkthrough", "write the Remotion code for this marketing clip", or wants a scene-by-scene composition they can scrub in Studio. Do NOT use for rendering, iterating, or batching the finished MP4 - use remotion-render instead - or for installing and scaffolding the project - use remotion-setup instead.

SkillMedev/skills

Scaffolds a new Remotion video project wired for Claude Code Agent Skills - Node check, create-video scaffold, skills install, folder conventions, Google Fonts, and a smoke-test render. Use whenever someone wants to start making videos with Remotion and Claude, even just "make product videos with Claude.

SkillMedev/skills

Use the Skill Me catalog from inside any conversation - discover, install, and manage Claude skills through the Skill Me MCP, and load installed skills automatically each session.

SkillMedev/skills

Write one platform-native caption from a topic and brand voice, with a front-loaded hook, native length, and a single earned CTA. Use when the user gives a topic (and optionally brand voice or a described image/video) and asks for an Instagram, LinkedIn, X/Twitter, or TikTok caption. Do NOT use when the user wants a dedicated standalone LinkedIn post - use linkedin-post-writer instead; or a multi-post X thread - use tweet-thread-builder instead; or to adapt one existing piece of content into versions for several channels - use cross-platform-reformatter instead.

SkillMedev/skills

Reframe and export a finished video for social platforms - 9:16 ↔ 16:9 cropping, burned-in captions, a platform-native first frame, loop design, and per-platform specs (aspect, length, safe areas) for TikTok, Reels, Shorts, X, and LinkedIn. Use when someone says "make this vertical", "crop to 9:16", "format for TikTok/Reels/Shorts", "add captions/subtitles", "why is my video cut off on mobile", "resize for Instagram", or "export for social". Do NOT use when the question is about the storyboard or shot order before any video exists (use video-storyboard); the animation craft of how elements move (use motion-design-principles); animated word-by-word caption styling (use kinetic-typography); palette, contrast, or lighting (use motion-color-and-light); directing the product-demo content and screen choreography (use product-demo-director); or scoring, beat-syncing, or audio (use sound-and-music-sync) - this is the craft layer that decides WHAT to format for the feed, then hands a concrete spec to remotion-compo...

SkillMedev/skills

Writes and tunes PySpark jobs - join strategy and broadcast size limits, shuffle-partition sizing, skew diagnosis and salting, UDF avoidance, caching, and output file layout - with concrete size and skew thresholds. Use when someone asks "why is my Spark job slow", "should I broadcast this join", "one task takes forever while the rest finish", "my job OOMs during a join", or is writing a new PySpark ETL job. Do NOT use for Kafka topic, consumer-group, or streaming-pipeline design - use kafka-pipelines instead; do NOT use for single-machine dataframe work that fits in memory - use pandas-expert instead.

SkillMedev/skills

Builds clean, performant, accessible SwiftUI views with correct state ownership, scoped invalidation, and smooth list scrolling, and reviews existing SwiftUI code against a concrete frame-time and re-render budget. Use when someone asks "why does my SwiftUI list stutter", "should this be @State or @Observable", "my whole screen re-renders when one row changes", "how do I animate this transition", or wants a SwiftUI view built or refactored. Do NOT use for cross-platform React Native apps - use react-native-pro instead; do NOT use for Flutter widget trees - use flutter-widget-architect instead; do NOT use for Android Compose UIs - use jetpack-compose-builder instead.

相关技能