[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CT286Q9HA4G4SHNBADJDGC":3,"skill-same:01M6CT286Q9HA4G4SHNBADJDGC":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":14,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6CT286Q9HA4G4SHNBADJDGC","alerting",null,"Sentry alert rule templates, frequency heuristics, and notification routing for observability coverage","lucid-fdn\u002Flucid-plugins","lucid-fdn","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F93290671?v=4","01M6CT12EHKN5DWVD9NAK6WSXT","Lucid","01M6CT12K0ARYZ8D28MK4G89F8",0,"MIT","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-observability\u002Fskill\u002Freferences\u002Falerting\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26],"notification routing","routing","sentry","observability","templates","heuristics","coverage","alert","2026-11-10 10:12:30",false,"---\nname: alerting\ndescription: \"Sentry alert rule templates, frequency heuristics, and notification routing for observability coverage\"\nrequires:\n  mcps: [sentry]\n---\n\n# Alerting\n\nGenerate Sentry alert rule configurations and ensure observability coverage across all projects.\n\n## Prerequisites\n\n- **Sentry MCP**: `list_issues` (to analyze current error patterns)\n\n## Standard Alert Rules\n\nEvery Sentry project should have these baseline rules:\n\n### 1. New Error Alert\n- **Type**: Issue alert\n- **Conditions**: New issue created with level: `error` or `fatal`\n- **Actions**: Notify `#alerts` Slack channel\n- **Frequency**: Once per issue per hour\n- **Rationale**: Catches regressions and newly introduced errors\n\n### 2. Error Spike Alert\n- **Type**: Issue alert\n- **Conditions**: Issue seen > 50 times in 5 minutes\n- **Actions**: Notify `#alerts-critical` + PagerDuty\n- **Frequency**: Once per issue per 30 minutes\n- **Rationale**: Detects error storms that indicate a major incident\n\n### 3. Regression Alert\n- **Type**: Issue alert\n- **Conditions**: Previously resolved issue regressed\n- **Actions**: Notify + assign to the person who last resolved it\n- **Frequency**: Once per issue\n- **Rationale**: Catches bugs that were fixed but have returned\n\n### 4. High Error Rate Alert\n- **Type**: Metric alert\n- **Conditions**: Error count > 100 in 10 minutes\n- **Actions**: Notify `#alerts-critical`\n- **Frequency**: Every 10 minutes while condition is active\n- **Rationale**: Aggregate health threshold — catches issues that individually are below spike threshold but collectively indicate problems\n\n## Dynamic Alert Rules\n\nFor high-frequency existing issues, generate targeted monitoring rules:\n\n### Frequency Heuristic\n\n1. Use Sentry MCP `list_issues` sorted by `freq` (limit 10) for the project\n2. For each issue with `count > 50`:\n   - Set alert threshold at **20% of current count per hour**\n   - Example: issue has 500 events → alert at 100 events\u002Fhour\n3. Create an issue alert for each:\n   - **Name**: `[project] Monitor: {issue title (first 50 chars)}`\n   - **Conditions**: Issue `{title}` > `{threshold}` times per hour\n   - **Actions**: Notify `#alerts`\n   - **Frequency**: Every 1 hour while active\n   - **Rationale**: `Currently #{rank} most frequent ({count} events)`\n\n## Notification Routing\n\n| Severity | Channel | Escalation |\n|----------|---------|-----------|\n| error (new) | `#alerts` Slack | None — informational |\n| error (spike) | `#alerts-critical` Slack + PagerDuty | On-call engineer |\n| fatal | `#alerts-critical` Slack + PagerDuty | On-call engineer + team lead |\n| regression | `#alerts` Slack + assign to last resolver | Auto-assigned |\n\n## Setup Instructions\n\n1. Go to Sentry → Project Settings → Alerts\n2. Create each rule with the conditions specified above\n3. Connect Slack integration for channel notifications\n4. Connect PagerDuty integration for critical alerts\n5. Test each rule with a synthetic error to verify routing\n\n## Coverage Audit\n\nTo audit alert coverage for a project:\n1. List all current alert rules in Sentry\n2. Compare against the 4 standard rules above\n3. Check if high-frequency issues have targeted monitoring\n4. Verify notification routing is configured correctly\n","# Alerting\n\nGenerate Sentry alert rule configurations and ensure observability coverage across all projects.\n\n## Prerequisites\n\n- **Sentry MCP**: `list_issues` (to analyze current error patterns)\n\n## Standard Alert Rules\n\nEvery Sentry project should have these baseline rules:\n\n### 1. New Error Alert\n- **Type**: Issue alert\n- **Conditions**: New issue created with level: `error` or `fatal`\n- **Actions**: Notify `#alerts` Slack channel\n- **Frequency**: Once per issue per hour\n- **Rationale**: Catches regressions and newly introduced errors\n\n### 2. Error Spike Alert\n- **Type**: Issue alert\n- **Conditions**: Issue seen > 50 times in 5 minutes\n- **Actions**: Notify `#alerts-critical` + PagerDuty\n- **Frequency**: Once per issue per 30 minutes\n- **Rationale**: Detects error storms that indicate a major incident\n\n### 3. Regression Alert\n- **Type**: Issue alert\n- **Conditions**: Previously resolved issue regressed\n- **Actions**: Notify + assign to the person who last resolved it\n- **Frequency**: Once per issue\n- **Rationale**: Catches bugs that were fixed but have returned\n\n### 4. High Error Rate Alert\n- **Type**: Metric alert\n- **Conditions**: Error count > 100 in 10 minutes\n- **Actions**: Notify `#alerts-critical`\n- **Frequency**: Every 10 minutes while condition is active\n- **Rationale**: Aggregate health threshold — catches issues that individually are below spike threshold but collectively indicate problems\n\n## Dynamic Alert Rules\n\nFor high-frequency existing issues, generate targeted monitoring rules:\n\n### Frequency Heuristic\n\n1. Use Sentry MCP `list_issues` sorted by `freq` (limit 10) for the project\n2. For each issue with `count > 50`:\n   - Set alert threshold at **20% of current count per hour**\n   - Example: issue has 500 events → alert at 100 events\u002Fhour\n3. Create an issue alert for each:\n   - **Name**: `[project] Monitor: {issue title (first 50 chars)}`\n   - **Conditions**: Issue `{title}` > `{threshold}` times per hour\n   - **Actions**: Notify `#alerts`\n   - **Frequency**: Every 1 hour while active\n   - **Rationale**: `Currently #{rank} most frequent ({count} events)`\n\n## Notification Routing\n\n| Severity | Channel | Escalation |\n|----------|---------|-----------|\n| error (new) | `#alerts` Slack | None — informational |\n| error (spike) | `#alerts-critical` Slack + PagerDuty | On-call engineer |\n| fatal | `#alerts-critical` Slack + PagerDuty | On-call engineer + team lead |\n| regression | `#alerts` Slack + assign to last resolver | Auto-assigned |\n\n## Setup Instructions\n\n1. Go to Sentry → Project Settings → Alerts\n2. Create each rule with the conditions specified above\n3. Connect Slack integration for channel notifications\n4. Connect PagerDuty integration for critical alerts\n5. Test each rule with a synthetic error to verify routing\n\n## Coverage Audit\n\nTo audit alert coverage for a project:\n1. List all current alert rules in Sentry\n2. Compare against the 4 standard rules above\n3. Check if high-frequency issues have targeted monitoring\n4. Verify notification routing is configured correctly\n",{"name":5,"requires":32,"description":7},{"mcps":33},[21],"main","60a187a694df4ce725464b7578e08ad46a73340f","lucid-observability\u002Fskill\u002Freferences\u002Falerting","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins","https:\u002F\u002Fgithub.com\u002Flucid-fdn","2026-03-26 06:06:06",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add lucid-fdn\u002Flucid-plugins --skill alerting",{"tool":46,"command":47},"bunx","bunx skills add lucid-fdn\u002Flucid-plugins --skill alerting",{"tool":49,"command":50},"pnpm","pnpm dlx skills add lucid-fdn\u002Flucid-plugins --skill alerting","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-observability\u002Fskill\u002Freferences\u002Falerting\u002FSKILL.md",true,[54,60,64],{"path":55,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":58,"sourceHtmlUrl":59},"scripts\u002Fdispute.sh","SCRIPT","脚本",7122,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FDispute Letter\u002Fscripts\u002Fdispute.sh",{"path":61,"resourceType":56,"resourceTypeDesc":57,"sizeBytes":62,"sourceHtmlUrl":63},"scripts\u002Fscript.sh",2253,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FDispute Letter\u002Fscripts\u002Fscript.sh",{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"tips.md","REFERENCE","参考文档",46,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002FDispute Letter\u002Ftips.md",[71,80,105,117,133,152],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":27},"01M6CT442ZA942TW2E4GM9B47B","lucid-PLUGIN_NAME","PLUGIN_DESCRIPTION","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Ftemplates\u002Fplugin-template\u002Fdocs\u002FSKILL.md",[],[78,79],"lucid PLUGIN NAME","plugin",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":96,"publishedAt":27},"01M6CT41PA1EKESRMFV5V775TW","social-content","Generate short-form video content optimized for social media platforms","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fsocial-content\u002FSKILL.md",[86,91],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[97,98,99,100,101,102,103,104],"social","social content","content","short","social media","Media","Video","generate",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":27},"01M6CT3Z4SPEJQYJNZ60ZBDKMF","personalized-outreach","Generate 1:1 personalized video for sales prospecting and customer success","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fpersonalized-outreach\u002FSKILL.md",[111],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[113,104,114,103,115,116],"personalized outreach","sales","prospecting","customer",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":27},"01M6CT3WH4C1TMMSWY25XBEM19","data-reports","Generate animated data report videos from KPIs, charts, and analytics","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002Freferences\u002Fdata-reports\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000033","数据分析师",[127,128,129,130,131,104,132],"data","data reports","reports","Charts","report","analytics",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":143,"publishedAt":27},"01M6CT3TJTWDVGM0CY356RS99V","lucid-video","Agent-native video generation using Remotion — MCP server + OpenClaw plugin","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-video\u002Fskill\u002FSKILL.md",[139,140],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":141,"categoryName":142,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发",[144,103,145,146,147,148,149,150,151,79],"lucid video","server","MCP","openclaw","mcp server","openclaw plugin","video generation","Remotion",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":27},"01M6CT3RP3ZWEJBA5Q3X8J4XV4","lucid-veille","Content monitoring, AI digest generation, and multi-platform auto-publishing","https:\u002F\u002Fgithub.com\u002Flucid-fdn\u002Flucid-plugins\u002Fblob\u002Fmain\u002Flucid-veille\u002Fskill\u002Freferences\u002Flucid-veille\u002FSKILL.md",[],[159,160,161,162,163,164,99],"lucid veille","supabase","monitoring","auto","publishing","digest"]