[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HA7TVKM76NF394ZCPFC477":3,"skill-same:01M6HA7TVKM76NF394ZCPFC477":55},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":14,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6HA7TVKM76NF394ZCPFC477","observability",null,"System observability and monitoring","NeuralBlitz\u002FMito","NeuralBlitz","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F79354388?v=4","01M6H8T2TFH477HRS0KTSTKR2E","David Riggs","01M6H8T2YQQDXPYM092P670Z21",0,"MIT","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fobservability\u002FSKILL.md",[],[5,19,20,21,22,23,24,25],"monitoring","developer","system","devops","sre","opencode","engineer","2026-11-10 10:12:30",false,"---\nname: observability\ndescription: System observability and monitoring\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: developer, devops-engineer, sre\n  category: devops\n---\n\n## What I do\n\n- Design and implement observability strategies\n- Build metrics, logging, and tracing pipelines\n- Create dashboards for system visibility\n- Configure alerting and incident response\n- Implement distributed tracing\n- Analyze system behavior and performance\n\n## When to use me\n\n- When troubleshooting distributed systems\n- When establishing SRE practices\n- When implementing SLI\u002FSLO tracking\n- When debugging performance issues\n- When building production-ready systems\n- When needing cross-service visibility\n\n## Key Concepts\n\n### Three Pillars of Observability\n\n1. **Metrics**: Quantitative measurements over time\n   - Counters, Gauges, Histograms\n   - Aggregable, efficient storage\n   \n2. **Logs**: Discrete events with context\n   - Structured, timestamped\n   - Rich context and metadata\n   \n3. **Traces**: Request paths through systems\n   - Distributed request tracking\n   - Causal relationships\n\n### OpenTelemetry\n\n```python\nfrom opentelemetry import trace\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import BatchSpanProcessor\nfrom opentelemetry.exporter.jaeger.thrift import JaegerExporter\n\n# Setup tracing\nprovider = TracerProvider()\nprocessor = BatchSpanProcessor(\n    JaegerExporter(\n        agent_host_name=\"jaeger\",\n        agent_port=6831,\n    )\n)\nprovider.add_span_processor(processor)\ntrace.set_tracer_provider(provider)\n\ntracer = trace.get_tracer(__name__)\n\n# Create spans\n@tracer.start_as_current_span(\"process_order\")\ndef process_order(order_id):\n    with tracer.start_as_current_span(\"validate\") as span:\n        span.set_attribute(\"order.id\", order_id)\n        validate_order(order_id)\n    \n    with tracer.start_as_current_span(\"charge\") as span:\n        charge_customer(order_id)\n```\n\n### Prometheus Configuration\n\n```yaml\nglobal:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          - alertmanager:9093\n\nrule_files:\n  - \"alerts\u002F*.yml\"\n\nscrape_configs:\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n      \n  - job_name: 'kubernetes-nodes'\n    kubernetes_sd_configs:\n      - role: node\n        \n  - job_name: 'kubernetes-pods'\n    kubernetes_sd_configs:\n      - role: pod\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\n        action: keep\n```\n\n### Grafana Dashboard\n\n```json\n{\n  \"dashboard\": {\n    \"title\": \"Service Dashboard\",\n    \"panels\": [\n      {\n        \"title\": \"Request Rate\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"sum(rate(http_requests_total[5m])) by (service)\",\n            \"legendFormat\": \"{{service}}\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Error Rate\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"sum(rate(http_requests_total{status=~\\\"5..\\\"}[5m])) by (service) \u002F sum(rate(http_requests_total[5m])) by (service)\",\n            \"legendFormat\": \"{{service}}\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Latency p99\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service))\",\n            \"legendFormat\": \"p99 {{service}}\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n### SLI\u002FSLO Implementation\n\n```yaml\n# Service Level Indicators\nslis:\n  - name: availability\n    type: ratio\n    description: \"Successful requests \u002F Total requests\"\n    source: prometheus\n    query: |\n      sum(rate(http_requests_total{status!~\"5..\"}[5m])) \n      \u002F sum(rate(http_requests_total[5m]))\n    \n  - name: latency\n    type: threshold\n    description: \"P99 latency\"\n    source: prometheus\n    query: |\n      histogram_quantile(0.99, \n        sum(rate(http_request_duration_seconds_bucket[5m])) by (le)\n      )\n\n# Service Level Objectives\nslo:\n  - name: api-availability\n    sli: availability\n    target: 99.9\n    window: 30d\n    error_budget:\n      alerts:\n        - name: ErrorBudgetWarning\n          threshold: 0.05\n        - name: ErrorBudgetCritical\n          threshold: 0.01\n```\n\n### Distributed Tracing\n\n```javascript\n\u002F\u002F Jaeger client integration\nconst jaegerConfig = {\n  serviceName: 'order-service',\n  reporter: {\n    logSpans: true,\n    agentHost: 'jaeger',\n    agentPort: 6831,\n  },\n  sampler: {\n    type: 'const',\n    param: 1,\n  },\n};\n\nconst tracer = initJaeger(jaegerConfig);\n\n\u002F\u002F Add to HTTP requests\napp.use((req, res, next) => {\n  const span = tracer.startSpan('http-request');\n  span.setTag('http.method', req.method);\n  span.setTag('http.url', req.url);\n  \n  res.on('finish', () => {\n    span.setTag('http.status_code', res.statusCode);\n    span.finish();\n  });\n  \n  next();\n});\n```\n\n### Key Patterns\n\n- **Red Metrics**: Rate, Errors, Duration\n- **USE Method**: Utilization, Saturation, Errors\n- **Golden Signals**: Latency, Traffic, Errors, Saturation\n- **DORA Metrics**: Deployment Frequency, Lead Time, MTTR, Change Failure Rate\n- **RED Metrics**: Rate, Errors, Duration (per service)\n","## What I do\n\n- Design and implement observability strategies\n- Build metrics, logging, and tracing pipelines\n- Create dashboards for system visibility\n- Configure alerting and incident response\n- Implement distributed tracing\n- Analyze system behavior and performance\n\n## When to use me\n\n- When troubleshooting distributed systems\n- When establishing SRE practices\n- When implementing SLI\u002FSLO tracking\n- When debugging performance issues\n- When building production-ready systems\n- When needing cross-service visibility\n\n## Key Concepts\n\n### Three Pillars of Observability\n\n1. **Metrics**: Quantitative measurements over time\n   - Counters, Gauges, Histograms\n   - Aggregable, efficient storage\n   \n2. **Logs**: Discrete events with context\n   - Structured, timestamped\n   - Rich context and metadata\n   \n3. **Traces**: Request paths through systems\n   - Distributed request tracking\n   - Causal relationships\n\n### OpenTelemetry\n\n```python\nfrom opentelemetry import trace\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import BatchSpanProcessor\nfrom opentelemetry.exporter.jaeger.thrift import JaegerExporter\n\n# Setup tracing\nprovider = TracerProvider()\nprocessor = BatchSpanProcessor(\n    JaegerExporter(\n        agent_host_name=\"jaeger\",\n        agent_port=6831,\n    )\n)\nprovider.add_span_processor(processor)\ntrace.set_tracer_provider(provider)\n\ntracer = trace.get_tracer(__name__)\n\n# Create spans\n@tracer.start_as_current_span(\"process_order\")\ndef process_order(order_id):\n    with tracer.start_as_current_span(\"validate\") as span:\n        span.set_attribute(\"order.id\", order_id)\n        validate_order(order_id)\n    \n    with tracer.start_as_current_span(\"charge\") as span:\n        charge_customer(order_id)\n```\n\n### Prometheus Configuration\n\n```yaml\nglobal:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          - alertmanager:9093\n\nrule_files:\n  - \"alerts\u002F*.yml\"\n\nscrape_configs:\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n      \n  - job_name: 'kubernetes-nodes'\n    kubernetes_sd_configs:\n      - role: node\n        \n  - job_name: 'kubernetes-pods'\n    kubernetes_sd_configs:\n      - role: pod\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\n        action: keep\n```\n\n### Grafana Dashboard\n\n```json\n{\n  \"dashboard\": {\n    \"title\": \"Service Dashboard\",\n    \"panels\": [\n      {\n        \"title\": \"Request Rate\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"sum(rate(http_requests_total[5m])) by (service)\",\n            \"legendFormat\": \"{{service}}\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Error Rate\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"sum(rate(http_requests_total{status=~\\\"5..\\\"}[5m])) by (service) \u002F sum(rate(http_requests_total[5m])) by (service)\",\n            \"legendFormat\": \"{{service}}\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Latency p99\",\n        \"type\": \"graph\",\n        \"targets\": [\n          {\n            \"expr\": \"histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service))\",\n            \"legendFormat\": \"p99 {{service}}\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n### SLI\u002FSLO Implementation\n\n```yaml\n# Service Level Indicators\nslis:\n  - name: availability\n    type: ratio\n    description: \"Successful requests \u002F Total requests\"\n    source: prometheus\n    query: |\n      sum(rate(http_requests_total{status!~\"5..\"}[5m])) \n      \u002F sum(rate(http_requests_total[5m]))\n    \n  - name: latency\n    type: threshold\n    description: \"P99 latency\"\n    source: prometheus\n    query: |\n      histogram_quantile(0.99, \n        sum(rate(http_request_duration_seconds_bucket[5m])) by (le)\n      )\n\n# Service Level Objectives\nslo:\n  - name: api-availability\n    sli: availability\n    target: 99.9\n    window: 30d\n    error_budget:\n      alerts:\n        - name: ErrorBudgetWarning\n          threshold: 0.05\n        - name: ErrorBudgetCritical\n          threshold: 0.01\n```\n\n### Distributed Tracing\n\n```javascript\n\u002F\u002F Jaeger client integration\nconst jaegerConfig = {\n  serviceName: 'order-service',\n  reporter: {\n    logSpans: true,\n    agentHost: 'jaeger',\n    agentPort: 6831,\n  },\n  sampler: {\n    type: 'const',\n    param: 1,\n  },\n};\n\nconst tracer = initJaeger(jaegerConfig);\n\n\u002F\u002F Add to HTTP requests\napp.use((req, res, next) => {\n  const span = tracer.startSpan('http-request');\n  span.setTag('http.method', req.method);\n  span.setTag('http.url', req.url);\n  \n  res.on('finish', () => {\n    span.setTag('http.status_code', res.statusCode);\n    span.finish();\n  });\n  \n  next();\n});\n```\n\n### Key Patterns\n\n- **Red Metrics**: Rate, Errors, Duration\n- **USE Method**: Utilization, Saturation, Errors\n- **Golden Signals**: Latency, Traffic, Errors, Saturation\n- **DORA Metrics**: Deployment Frequency, Lead Time, MTTR, Change Failure Rate\n- **RED Metrics**: Rate, Errors, Duration (per service)\n",{"name":5,"license":15,"metadata":31,"description":7,"compatibility":24},{"audience":32,"category":22},"developer, devops-engineer, sre","main","2ea764e153842704d24a2e9aa4170441a7f03081",".opencode\u002Fskills\u002Fobservability","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito","https:\u002F\u002Fgithub.com\u002FNeuralBlitz","nuralnexus.org","Theoretical and Futuristic AI Nerd 🤓 ","2026-11-12 03:13:05",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add NeuralBlitz\u002FMito --skill observability",{"tool":47,"command":48},"bunx","bunx skills add NeuralBlitz\u002FMito --skill observability",{"tool":50,"command":51},"pnpm","pnpm dlx skills add NeuralBlitz\u002FMito --skill observability","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fobservability\u002FSKILL.md",true,[],[56,72,85,98,106,131],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":26},"01M6HAZSAQK1S27CEZYAYJTQDX","wireless-communications","Wireless systems, mobile networks, and 5G\u002F6G","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fwireless-communications\u002FSKILL.md",[],[63,64,65,66,67,68,69,70,24,71],"communications","wireless communications","wireless","systems","engineering","networks","5G","students","mobile",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":26},"01M6HAZFX6E8NK3WZWDX5YCKYY","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fwebassembly\u002Fwebsockets\u002FSKILL.md",[],[74,79,80,81,24,82,83,84],"websocket implementation","time","implementation","real-time","websocket","best practices",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":26},"01M6HAZ6DAXBQ7QHXXM1EM7715","vulnerability-auditing","Vulnerability assessment and auditing","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvulnerability-auditing\u002FSKILL.md",[],[92,93,94,95,24,96,97],"vulnerability","vulnerability auditing","security","vulnerability assessment","cybersecurity","assessment",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":26},"01M6HAZ3FKF3CS9Z3J96RVE2ZE","vulnerability-assessment","Finding and assessing security vulnerabilities","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvue\u002Fvulnerability-assessment\u002FSKILL.md",[],[95,92,97,94,105,24],"vulnerabilities",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":122,"publishedAt":26},"01M6HAYSHM6HKRKEHFP0SGZQX7","vlsi-design","Very-Large-Scale Integration circuit design and semiconductor engineering","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvlsi-design\u002FSKILL.md",[112,117],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[123,124,125,126,127,67,128,24,129,70,130],"vlsi design","VLSI","design","hardware","integration","computer","scale","circuit",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":26},"01M6HAYPQ30FFE2JXD7WQJ8R6C","unsupervised","Unsupervised learning concepts","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvisualization\u002Funsupervised\u002FSKILL.md",[],[133,138,24,139,140,141,142,143],"learning","intelligence","unsupervised learning","machine","concepts","machine-learning"]