[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7EFJ0YRW19X75SEP7X05AKK":3,"skill-same:01M7EFJ0YRW19X75SEP7X05AKK":82},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M7EFJ0YRW19X75SEP7X05AKK","building-soc-metrics-and-kpi-tracking",null,"Builds SOC performance metrics and KPI tracking dashboards measuring Mean Time to Detect (MTTD), Mean Time to Respond (MTTR), alert quality ratios, analyst productivity, and detection coverage using SIEM data. Use when SOC leadership needs operational visibility, continuous improvement tracking, or executive-level reporting on security operations effectiveness.","lza6\u002FArmor-piercing-system-prompts","lza6","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F128880206?v=4","01M7EB3K7WPX5T28EJ2NVHE6EG","Chinese-tingfeng","01M7EB3K97E1KQ16QWKJMFNGX8",11,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F04-安全渗透\u002Fbuilding-soc-metrics-and-kpi-tracking\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: building-soc-metrics-and-kpi-tracking\ndescription: 'Builds SOC performance metrics and KPI tracking dashboards measuring\n  Mean Time to Detect (MTTD), Mean Time to Respond (MTTR), alert quality ratios, analyst\n  productivity, and detection coverage using SIEM data. Use when SOC leadership needs\n  operational visibility, continuous improvement tracking, or executive-level reporting\n  on security operations effectiveness.\n\n  '\ndomain: cybersecurity\nsubdomain: soc-operations\ntags:\n- soc\n- metrics\n- kpi\n- mttd\n- mttr\n- dashboard\n- reporting\n- continuous-improvement\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_ai_rmf:\n- MEASURE-2.7\n- MAP-5.1\n- MANAGE-2.4\natlas_techniques:\n- AML.T0070\n- AML.T0066\n- AML.T0082\nnist_csf:\n- DE.CM-01\n- DE.AE-02\n- RS.MA-01\n- DE.AE-06\nmitre_attack:\n- T1078\n- T1071\n---\n# Building SOC Metrics and KPI Tracking\n\n## When to Use\n\nUse this skill when:\n- SOC leadership needs data-driven visibility into operational performance\n- Continuous improvement programs require baseline measurements and trend tracking\n- Executive reporting demands quantified security posture and ROI metrics\n- Staffing decisions need objective workload and capacity data\n- Compliance audits require documented SOC performance evidence\n\n**Do not use** metrics as punitive measures against analysts — metrics should drive process improvement, not individual performance management.\n\n## Prerequisites\n\n- SIEM with 90+ days of incident and alert disposition data\n- Incident ticketing system (ServiceNow, Jira) with timestamp data for incident lifecycle\n- Analyst shift schedules and staffing data\n- ATT&CK Navigator for detection coverage tracking\n- Dashboard platform (Splunk, Grafana, or Power BI)\n\n## Workflow\n\n### Step 1: Define Core SOC Metrics Framework\n\nEstablish the key metrics aligned to NIST CSF functions:\n\n| Metric | Definition | Target | NIST CSF |\n|--------|-----------|--------|----------|\n| MTTD | Time from threat occurrence to SOC detection | \u003C15 min | Detect |\n| MTTA | Time from alert to analyst acknowledgment | \u003C5 min | Respond |\n| MTTI | Time from acknowledgment to investigation start | \u003C10 min | Respond |\n| MTTC | Time from investigation to containment | \u003C1 hour | Respond |\n| MTTR | Time from detection to full resolution | \u003C4 hours | Recover |\n| FP Rate | Percentage of false positive alerts | \u003C30% | Detect |\n| TP Rate | Percentage of true positive alerts | >40% | Detect |\n| Coverage | ATT&CK techniques with active detection | >60% | Detect |\n| Dwell Time | Attacker time in network before detection | \u003C24 hours | Detect |\n| Escalation Rate | % of Tier 1 alerts escalated to Tier 2\u002F3 | 15-25% | Respond |\n\n### Step 2: Implement MTTD\u002FMTTR Measurement\n\n**Mean Time to Detect (MTTD):**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| eval mttd_seconds = _time - orig_time\n| where mttd_seconds > 0 AND mttd_seconds \u003C 86400  --- Exclude data quality issues\n| stats avg(mttd_seconds) AS avg_mttd,\n        median(mttd_seconds) AS med_mttd,\n        perc90(mttd_seconds) AS p90_mttd,\n        perc95(mttd_seconds) AS p95_mttd\n  by urgency\n| eval avg_mttd_min = round(avg_mttd \u002F 60, 1)\n| eval med_mttd_min = round(med_mttd \u002F 60, 1)\n| eval p90_mttd_min = round(p90_mttd \u002F 60, 1)\n| table urgency, avg_mttd_min, med_mttd_min, p90_mttd_min\n```\n\n**Mean Time to Respond (MTTR):**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| eval mttr_seconds = status_end - _time\n| where mttr_seconds > 0 AND mttr_seconds \u003C 604800  --- \u003C7 days\n| stats avg(mttr_seconds) AS avg_mttr,\n        median(mttr_seconds) AS med_mttr,\n        perc90(mttr_seconds) AS p90_mttr\n  by urgency\n| eval avg_mttr_hours = round(avg_mttr \u002F 3600, 1)\n| eval med_mttr_hours = round(med_mttr \u002F 3600, 1)\n| eval p90_mttr_hours = round(p90_mttr \u002F 3600, 1)\n| table urgency, avg_mttr_hours, med_mttr_hours, p90_mttr_hours\n```\n\n**MTTD\u002FMTTR Trend Over Time:**\n```spl\nindex=notable earliest=-90d status_label=\"Resolved*\"\n| eval mttd_min = (_time - orig_time) \u002F 60\n| eval mttr_hours = (status_end - _time) \u002F 3600\n| bin _time span=1w\n| stats avg(mttd_min) AS avg_mttd_min, avg(mttr_hours) AS avg_mttr_hours,\n        count AS incidents by _time\n| table _time, incidents, avg_mttd_min, avg_mttr_hours\n```\n\n### Step 3: Measure Alert Quality and Analyst Productivity\n\n**Alert Disposition Analysis:**\n```spl\nindex=notable earliest=-30d\n| stats count AS total,\n        sum(eval(if(status_label=\"Resolved - True Positive\", 1, 0))) AS tp,\n        sum(eval(if(status_label=\"Resolved - False Positive\", 1, 0))) AS fp,\n        sum(eval(if(status_label=\"Resolved - Benign\", 1, 0))) AS benign,\n        sum(eval(if(status_label=\"New\" OR status_label=\"In Progress\", 1, 0))) AS pending\n| eval tp_rate = round(tp \u002F total * 100, 1)\n| eval fp_rate = round(fp \u002F total * 100, 1)\n| eval signal_noise = round(tp \u002F (fp + 0.01), 2)\n| table total, tp, fp, benign, pending, tp_rate, fp_rate, signal_noise\n```\n\n**Analyst Productivity Metrics:**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| stats count AS alerts_resolved,\n        avg(eval((status_end - status_transition_time) \u002F 60)) AS avg_triage_min,\n        dc(rule_name) AS unique_rule_types\n  by owner\n| eval alerts_per_day = round(alerts_resolved \u002F 30, 1)\n| sort - alerts_resolved\n| table owner, alerts_resolved, alerts_per_day, avg_triage_min, unique_rule_types\n```\n\n**Shift-Based Workload Distribution:**\n```spl\nindex=notable earliest=-30d\n| eval hour = strftime(_time, \"%H\")\n| eval shift = case(\n    hour >= 6 AND hour \u003C 14, \"Day (06-14)\",\n    hour >= 14 AND hour \u003C 22, \"Swing (14-22)\",\n    1=1, \"Night (22-06)\"\n  )\n| stats count AS alerts, dc(owner) AS analysts by shift\n| eval alerts_per_analyst = round(alerts \u002F analysts \u002F 30, 1)\n| table shift, alerts, analysts, alerts_per_analyst\n```\n\n### Step 4: Track Detection Coverage\n\n**ATT&CK Coverage Score:**\n```spl\n| inputlookup detection_rules_attack_mapping.csv\n| stats dc(technique_id) AS covered_techniques by tactic\n| join tactic type=left [\n    | inputlookup attack_techniques_total.csv\n    | stats dc(technique_id) AS total_techniques by tactic\n  ]\n| eval coverage_pct = round(covered_techniques \u002F total_techniques * 100, 1)\n| sort tactic\n| table tactic, covered_techniques, total_techniques, coverage_pct\n```\n\n**Data Source Coverage:**\n```spl\n| inputlookup expected_data_sources.csv\n| join data_source type=left [\n    | tstats count where index=* by sourcetype\n    | rename sourcetype AS data_source\n    | eval status = \"Active\"\n  ]\n| eval source_status = if(isnotnull(status), \"Collecting\", \"MISSING\")\n| stats count by source_status\n| table source_status, count\n```\n\n### Step 5: Build Executive Reporting Dashboard\n\n**Monthly SOC Executive Summary:**\n```spl\n--- Incident summary by category\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| stats count by urgency\n| eval order = case(urgency=\"critical\", 1, urgency=\"high\", 2, urgency=\"medium\", 3,\n                    urgency=\"low\", 4, urgency=\"informational\", 5)\n| sort order\n\n--- Month-over-month comparison\nindex=notable earliest=-60d\n| eval period = if(_time > relative_time(now(), \"-30d\"), \"This Month\", \"Last Month\")\n| stats count by period, urgency\n| chart sum(count) AS incidents by urgency, period\n\n--- Top 5 incident categories\nindex=notable earliest=-30d status_label=\"Resolved - True Positive\"\n| top rule_name limit=5\n| table rule_name, count, percent\n```\n\n**Security Posture Scorecard:**\n```spl\n| makeresults\n| eval metrics = mvappend(\n    \"MTTD: 8.3 min (Target: \u003C15 min) | STATUS: GREEN\",\n    \"MTTR: 3.2 hours (Target: \u003C4 hours) | STATUS: GREEN\",\n    \"FP Rate: 27% (Target: \u003C30%) | STATUS: GREEN\",\n    \"Detection Coverage: 64% (Target: >60%) | STATUS: GREEN\",\n    \"Analyst Utilization: 78% (Target: 60-80%) | STATUS: GREEN\",\n    \"Incident Backlog: 12 (Target: \u003C20) | STATUS: GREEN\"\n  )\n| mvexpand metrics\n| table metrics\n```\n\n### Step 6: Implement Continuous Improvement Tracking\n\nTrack improvement initiatives and their impact:\n\n```spl\n--- Improvement initiative tracking\n| inputlookup soc_improvement_initiatives.csv\n| eval status_color = case(\n    status=\"Completed\", \"green\",\n    status=\"In Progress\", \"yellow\",\n    status=\"Planned\", \"gray\"\n  )\n| table initiative, start_date, target_date, status, metric_impact, baseline, current\n```\n\nExample initiatives:\n```csv\ninitiative,start_date,target_date,status,metric_impact,baseline,current\nRisk-Based Alerting,2024-01-15,2024-03-15,Completed,Alert Volume,-84%,287\u002Fday\nSigma Rule Library,2024-02-01,2024-04-01,In Progress,ATT&CK Coverage,61%,64%\nSOAR Phishing Playbook,2024-02-15,2024-03-30,In Progress,Phishing MTTR,45min,18min\nAnalyst Training Program,2024-01-01,2024-06-30,In Progress,TP Rate,31%,41%\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **MTTD** | Mean Time to Detect — average time from threat occurrence to SOC alert generation |\n| **MTTR** | Mean Time to Respond — average time from detection to incident resolution |\n| **MTTA** | Mean Time to Acknowledge — average time from alert generation to analyst assignment |\n| **Signal-to-Noise Ratio** | Ratio of true positive alerts to total alerts — higher is better |\n| **Dwell Time** | Duration an attacker remains undetected in the environment — key indicator of detection effectiveness |\n| **Analyst Utilization** | Percentage of analyst time spent on productive investigation vs. overhead tasks |\n\n## Tools & Systems\n\n- **Splunk Dashboard Studio**: Advanced visualization framework for building interactive SOC metric dashboards\n- **Grafana**: Open-source analytics and visualization platform supporting multiple data sources\n- **Power BI**: Microsoft business intelligence tool for executive-level reporting and trend analysis\n- **ATT&CK Navigator**: MITRE tool for visualizing detection coverage as layered heatmaps\n- **ServiceNow Performance Analytics**: ITSM analytics module for tracking incident lifecycle metrics\n\n## Common Scenarios\n\n- **Quarterly Business Review**: Present MTTD\u002FMTTR trends, detection coverage growth, and alert quality improvements\n- **Staffing Justification**: Use workload metrics to justify additional analyst headcount or shift adjustments\n- **Tool ROI Assessment**: Compare alert quality and response times before and after new tool deployment\n- **Compliance Evidence**: Provide documented SOC performance metrics for ISO 27001 or SOC 2 audits\n- **Vendor Comparison**: Benchmark SOC metrics against industry peers using surveys (SANS, Ponemon)\n\n## Output Format\n\n```\nSOC PERFORMANCE REPORT — March 2024\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nKEY METRICS:\n  Metric              Current    Target     Trend    Status\n  MTTD                8.3 min    \u003C15 min    -12%     GREEN\n  MTTR                3.2 hrs    \u003C4 hrs     -18%     GREEN\n  FP Rate             27%        \u003C30%       -5%      GREEN\n  TP Rate             41%        >40%       +3%      GREEN\n  ATT&CK Coverage     64%        >60%       +3%      GREEN\n  Alerts\u002FAnalyst\u002FDay  24         \u003C50        -84%     GREEN\n\nINCIDENT SUMMARY:\n  Total Incidents:     147 (Critical: 3, High: 23, Medium: 78, Low: 43)\n  Avg Resolution:      3.2 hours (Critical: 1.8h, High: 2.9h, Medium: 4.1h)\n  SLA Compliance:      94% (Target: >90%)\n\nIMPROVEMENT HIGHLIGHTS:\n  [1] RBA deployment reduced daily alerts from 1,847 to 287 (-84%)\n  [2] New Sigma rules added 12 ATT&CK techniques to coverage\n  [3] SOAR phishing playbook reduced phishing MTTR by 60%\n\nAREAS FOR IMPROVEMENT:\n  [1] Lateral movement detection coverage at 58% (below 60% target)\n  [2] Night shift MTTD 23% slower than day shift\n  [3] 4 critical vulnerability scan tickets overdue on SLA\n```\n","# Building SOC Metrics and KPI Tracking\n\n## When to Use\n\nUse this skill when:\n- SOC leadership needs data-driven visibility into operational performance\n- Continuous improvement programs require baseline measurements and trend tracking\n- Executive reporting demands quantified security posture and ROI metrics\n- Staffing decisions need objective workload and capacity data\n- Compliance audits require documented SOC performance evidence\n\n**Do not use** metrics as punitive measures against analysts — metrics should drive process improvement, not individual performance management.\n\n## Prerequisites\n\n- SIEM with 90+ days of incident and alert disposition data\n- Incident ticketing system (ServiceNow, Jira) with timestamp data for incident lifecycle\n- Analyst shift schedules and staffing data\n- ATT&CK Navigator for detection coverage tracking\n- Dashboard platform (Splunk, Grafana, or Power BI)\n\n## Workflow\n\n### Step 1: Define Core SOC Metrics Framework\n\nEstablish the key metrics aligned to NIST CSF functions:\n\n| Metric | Definition | Target | NIST CSF |\n|--------|-----------|--------|----------|\n| MTTD | Time from threat occurrence to SOC detection | \u003C15 min | Detect |\n| MTTA | Time from alert to analyst acknowledgment | \u003C5 min | Respond |\n| MTTI | Time from acknowledgment to investigation start | \u003C10 min | Respond |\n| MTTC | Time from investigation to containment | \u003C1 hour | Respond |\n| MTTR | Time from detection to full resolution | \u003C4 hours | Recover |\n| FP Rate | Percentage of false positive alerts | \u003C30% | Detect |\n| TP Rate | Percentage of true positive alerts | >40% | Detect |\n| Coverage | ATT&CK techniques with active detection | >60% | Detect |\n| Dwell Time | Attacker time in network before detection | \u003C24 hours | Detect |\n| Escalation Rate | % of Tier 1 alerts escalated to Tier 2\u002F3 | 15-25% | Respond |\n\n### Step 2: Implement MTTD\u002FMTTR Measurement\n\n**Mean Time to Detect (MTTD):**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| eval mttd_seconds = _time - orig_time\n| where mttd_seconds > 0 AND mttd_seconds \u003C 86400  --- Exclude data quality issues\n| stats avg(mttd_seconds) AS avg_mttd,\n        median(mttd_seconds) AS med_mttd,\n        perc90(mttd_seconds) AS p90_mttd,\n        perc95(mttd_seconds) AS p95_mttd\n  by urgency\n| eval avg_mttd_min = round(avg_mttd \u002F 60, 1)\n| eval med_mttd_min = round(med_mttd \u002F 60, 1)\n| eval p90_mttd_min = round(p90_mttd \u002F 60, 1)\n| table urgency, avg_mttd_min, med_mttd_min, p90_mttd_min\n```\n\n**Mean Time to Respond (MTTR):**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| eval mttr_seconds = status_end - _time\n| where mttr_seconds > 0 AND mttr_seconds \u003C 604800  --- \u003C7 days\n| stats avg(mttr_seconds) AS avg_mttr,\n        median(mttr_seconds) AS med_mttr,\n        perc90(mttr_seconds) AS p90_mttr\n  by urgency\n| eval avg_mttr_hours = round(avg_mttr \u002F 3600, 1)\n| eval med_mttr_hours = round(med_mttr \u002F 3600, 1)\n| eval p90_mttr_hours = round(p90_mttr \u002F 3600, 1)\n| table urgency, avg_mttr_hours, med_mttr_hours, p90_mttr_hours\n```\n\n**MTTD\u002FMTTR Trend Over Time:**\n```spl\nindex=notable earliest=-90d status_label=\"Resolved*\"\n| eval mttd_min = (_time - orig_time) \u002F 60\n| eval mttr_hours = (status_end - _time) \u002F 3600\n| bin _time span=1w\n| stats avg(mttd_min) AS avg_mttd_min, avg(mttr_hours) AS avg_mttr_hours,\n        count AS incidents by _time\n| table _time, incidents, avg_mttd_min, avg_mttr_hours\n```\n\n### Step 3: Measure Alert Quality and Analyst Productivity\n\n**Alert Disposition Analysis:**\n```spl\nindex=notable earliest=-30d\n| stats count AS total,\n        sum(eval(if(status_label=\"Resolved - True Positive\", 1, 0))) AS tp,\n        sum(eval(if(status_label=\"Resolved - False Positive\", 1, 0))) AS fp,\n        sum(eval(if(status_label=\"Resolved - Benign\", 1, 0))) AS benign,\n        sum(eval(if(status_label=\"New\" OR status_label=\"In Progress\", 1, 0))) AS pending\n| eval tp_rate = round(tp \u002F total * 100, 1)\n| eval fp_rate = round(fp \u002F total * 100, 1)\n| eval signal_noise = round(tp \u002F (fp + 0.01), 2)\n| table total, tp, fp, benign, pending, tp_rate, fp_rate, signal_noise\n```\n\n**Analyst Productivity Metrics:**\n```spl\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| stats count AS alerts_resolved,\n        avg(eval((status_end - status_transition_time) \u002F 60)) AS avg_triage_min,\n        dc(rule_name) AS unique_rule_types\n  by owner\n| eval alerts_per_day = round(alerts_resolved \u002F 30, 1)\n| sort - alerts_resolved\n| table owner, alerts_resolved, alerts_per_day, avg_triage_min, unique_rule_types\n```\n\n**Shift-Based Workload Distribution:**\n```spl\nindex=notable earliest=-30d\n| eval hour = strftime(_time, \"%H\")\n| eval shift = case(\n    hour >= 6 AND hour \u003C 14, \"Day (06-14)\",\n    hour >= 14 AND hour \u003C 22, \"Swing (14-22)\",\n    1=1, \"Night (22-06)\"\n  )\n| stats count AS alerts, dc(owner) AS analysts by shift\n| eval alerts_per_analyst = round(alerts \u002F analysts \u002F 30, 1)\n| table shift, alerts, analysts, alerts_per_analyst\n```\n\n### Step 4: Track Detection Coverage\n\n**ATT&CK Coverage Score:**\n```spl\n| inputlookup detection_rules_attack_mapping.csv\n| stats dc(technique_id) AS covered_techniques by tactic\n| join tactic type=left [\n    | inputlookup attack_techniques_total.csv\n    | stats dc(technique_id) AS total_techniques by tactic\n  ]\n| eval coverage_pct = round(covered_techniques \u002F total_techniques * 100, 1)\n| sort tactic\n| table tactic, covered_techniques, total_techniques, coverage_pct\n```\n\n**Data Source Coverage:**\n```spl\n| inputlookup expected_data_sources.csv\n| join data_source type=left [\n    | tstats count where index=* by sourcetype\n    | rename sourcetype AS data_source\n    | eval status = \"Active\"\n  ]\n| eval source_status = if(isnotnull(status), \"Collecting\", \"MISSING\")\n| stats count by source_status\n| table source_status, count\n```\n\n### Step 5: Build Executive Reporting Dashboard\n\n**Monthly SOC Executive Summary:**\n```spl\n--- Incident summary by category\nindex=notable earliest=-30d status_label=\"Resolved*\"\n| stats count by urgency\n| eval order = case(urgency=\"critical\", 1, urgency=\"high\", 2, urgency=\"medium\", 3,\n                    urgency=\"low\", 4, urgency=\"informational\", 5)\n| sort order\n\n--- Month-over-month comparison\nindex=notable earliest=-60d\n| eval period = if(_time > relative_time(now(), \"-30d\"), \"This Month\", \"Last Month\")\n| stats count by period, urgency\n| chart sum(count) AS incidents by urgency, period\n\n--- Top 5 incident categories\nindex=notable earliest=-30d status_label=\"Resolved - True Positive\"\n| top rule_name limit=5\n| table rule_name, count, percent\n```\n\n**Security Posture Scorecard:**\n```spl\n| makeresults\n| eval metrics = mvappend(\n    \"MTTD: 8.3 min (Target: \u003C15 min) | STATUS: GREEN\",\n    \"MTTR: 3.2 hours (Target: \u003C4 hours) | STATUS: GREEN\",\n    \"FP Rate: 27% (Target: \u003C30%) | STATUS: GREEN\",\n    \"Detection Coverage: 64% (Target: >60%) | STATUS: GREEN\",\n    \"Analyst Utilization: 78% (Target: 60-80%) | STATUS: GREEN\",\n    \"Incident Backlog: 12 (Target: \u003C20) | STATUS: GREEN\"\n  )\n| mvexpand metrics\n| table metrics\n```\n\n### Step 6: Implement Continuous Improvement Tracking\n\nTrack improvement initiatives and their impact:\n\n```spl\n--- Improvement initiative tracking\n| inputlookup soc_improvement_initiatives.csv\n| eval status_color = case(\n    status=\"Completed\", \"green\",\n    status=\"In Progress\", \"yellow\",\n    status=\"Planned\", \"gray\"\n  )\n| table initiative, start_date, target_date, status, metric_impact, baseline, current\n```\n\nExample initiatives:\n```csv\ninitiative,start_date,target_date,status,metric_impact,baseline,current\nRisk-Based Alerting,2024-01-15,2024-03-15,Completed,Alert Volume,-84%,287\u002Fday\nSigma Rule Library,2024-02-01,2024-04-01,In Progress,ATT&CK Coverage,61%,64%\nSOAR Phishing Playbook,2024-02-15,2024-03-30,In Progress,Phishing MTTR,45min,18min\nAnalyst Training Program,2024-01-01,2024-06-30,In Progress,TP Rate,31%,41%\n```\n\n## Key Concepts\n\n| Term | Definition |\n|------|-----------|\n| **MTTD** | Mean Time to Detect — average time from threat occurrence to SOC alert generation |\n| **MTTR** | Mean Time to Respond — average time from detection to incident resolution |\n| **MTTA** | Mean Time to Acknowledge — average time from alert generation to analyst assignment |\n| **Signal-to-Noise Ratio** | Ratio of true positive alerts to total alerts — higher is better |\n| **Dwell Time** | Duration an attacker remains undetected in the environment — key indicator of detection effectiveness |\n| **Analyst Utilization** | Percentage of analyst time spent on productive investigation vs. overhead tasks |\n\n## Tools & Systems\n\n- **Splunk Dashboard Studio**: Advanced visualization framework for building interactive SOC metric dashboards\n- **Grafana**: Open-source analytics and visualization platform supporting multiple data sources\n- **Power BI**: Microsoft business intelligence tool for executive-level reporting and trend analysis\n- **ATT&CK Navigator**: MITRE tool for visualizing detection coverage as layered heatmaps\n- **ServiceNow Performance Analytics**: ITSM analytics module for tracking incident lifecycle metrics\n\n## Common Scenarios\n\n- **Quarterly Business Review**: Present MTTD\u002FMTTR trends, detection coverage growth, and alert quality improvements\n- **Staffing Justification**: Use workload metrics to justify additional analyst headcount or shift adjustments\n- **Tool ROI Assessment**: Compare alert quality and response times before and after new tool deployment\n- **Compliance Evidence**: Provide documented SOC performance metrics for ISO 27001 or SOC 2 audits\n- **Vendor Comparison**: Benchmark SOC metrics against industry peers using surveys (SANS, Ponemon)\n\n## Output Format\n\n```\nSOC PERFORMANCE REPORT — March 2024\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nKEY METRICS:\n  Metric              Current    Target     Trend    Status\n  MTTD                8.3 min    \u003C15 min    -12%     GREEN\n  MTTR                3.2 hrs    \u003C4 hrs     -18%     GREEN\n  FP Rate             27%        \u003C30%       -5%      GREEN\n  TP Rate             41%        >40%       +3%      GREEN\n  ATT&CK Coverage     64%        >60%       +3%      GREEN\n  Alerts\u002FAnalyst\u002FDay  24         \u003C50        -84%     GREEN\n\nINCIDENT SUMMARY:\n  Total Incidents:     147 (Critical: 3, High: 23, Medium: 78, Low: 43)\n  Avg Resolution:      3.2 hours (Critical: 1.8h, High: 2.9h, Medium: 4.1h)\n  SLA Compliance:      94% (Target: >90%)\n\nIMPROVEMENT HIGHLIGHTS:\n  [1] RBA deployment reduced daily alerts from 1,847 to 287 (-84%)\n  [2] New Sigma rules added 12 ATT&CK techniques to coverage\n  [3] SOAR phishing playbook reduced phishing MTTR by 60%\n\nAREAS FOR IMPROVEMENT:\n  [1] Lateral movement detection coverage at 58% (below 60% target)\n  [2] Night shift MTTD 23% slower than day shift\n  [3] 4 critical vulnerability scan tickets overdue on SLA\n```\n",{"name":5,"tags":24,"author":33,"domain":34,"license":15,"version":35,"nist_csf":36,"subdomain":41,"description":42,"nist_ai_rmf":43,"mitre_attack":47,"atlas_techniques":50},[25,26,27,28,29,30,31,32],"soc","metrics","kpi","mttd","mttr","dashboard","reporting","continuous-improvement","mahipal","cybersecurity","1.0",[37,38,39,40],"DE.CM-01","DE.AE-02","RS.MA-01","DE.AE-06","soc-operations","Builds SOC performance metrics and KPI tracking dashboards measuring Mean Time to Detect (MTTD), Mean Time to Respond (MTTR), alert quality ratios, analyst productivity, and detection coverage using SIEM data. Use when SOC leadership needs operational visibility, continuous improvement tracking, or executive-level reporting on security operations effectiveness.\n",[44,45,46],"MEASURE-2.7","MAP-5.1","MANAGE-2.4",[48,49],"T1078","T1071",[51,52,53],"AML.T0070","AML.T0066","AML.T0082","main","d69096e239f2a89aabc2cd078c47664a9d3b1e11","04-安全渗透\u002Fbuilding-soc-metrics-and-kpi-tracking",3,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts","https:\u002F\u002Fgithub.com\u002Flza6","个人vx：Tf00798\r\n个人✈：@TFGY999","2026-10-08 14:29:22",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add lza6\u002FArmor-piercing-system-prompts --skill building-soc-metrics-and-kpi-tracking",{"tool":68,"command":69},"bunx","bunx skills add lza6\u002FArmor-piercing-system-prompts --skill building-soc-metrics-and-kpi-tracking",{"tool":71,"command":72},"pnpm","pnpm dlx skills add lza6\u002FArmor-piercing-system-prompts --skill building-soc-metrics-and-kpi-tracking","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F04-安全渗透\u002Fbuilding-soc-metrics-and-kpi-tracking\u002FSKILL.md",true,[76],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fapi-reference.md","REFERENCE","参考文档",2469,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F04-安全渗透\u002Fbuilding-soc-metrics-and-kpi-tracking\u002Freferences\u002Fapi-reference.md",[83,91,98,105,112,119],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":19},"01M7EXRM12046G0GM1WGMMFXCN","ci-cd-and-automation","Automates CI\u002FCD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.","MIT","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fci-cd-and-automation\u002FSKILL.md",[],[],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":19},"01M7EXRFYYSJ3Y15AGPDDEWWQD","chrome-devtools","Uses Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests. This skill does not apply to `--slim` mode (MCP configuration).","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-devtools\u002FSKILL.md",[],[],{"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":87,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":19},"01M7EXR6EYPE4X5X1BTAE6QJRV","chrome-cdp","Drive a real Chrome via the Chrome DevTools Protocol (CDP). Ensures a\ndebuggable Chrome is running (launching it if needed) so the agent can\nnavigate, read page content, inspect the DOM, run JavaScript, and take\nscreenshots — without the user typing any launch command. Includes a\nfirst-class \"review a live running app\" flow: point Chrome at the app under\ndevelopment and inspect\u002Fscreenshot the REAL page (what a static-artifact tool\ncannot do). Backed by Glimpse and the chrome-devtools MCP server. Use when\nasked to \"use chrome\", \"open chrome\", \"drive my browser\", \"read the page in\nchrome\", \"review the running app\", \"screenshot the app\", or \"\u002Fchrome-cdp\".","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-cdp\u002FSKILL.md",[],[],{"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":111,"publishedAt":19},"01M7EXR1Y7E79KQKG4J798XGH6","check-identity-pack","Run an AFP 100-point or AUSTRAC safe-harbour identity check over a set of documents, and report exactly what's missing. Use when the user asks to check identity documents, verify someone's ID for onboarding, or assess whether a document pack satisfies Australian identity requirements.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcheck-identity-pack\u002FSKILL.md",[],[],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":19},"01M7EXQXW7C7PGREJW9ZZTZ16H","changelog","Auto-generates a changelog from git commits, sprint data, and design documents. Produces both internal and player-facing versions.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchangelog\u002FSKILL.md",[],[],{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":19},"01M7EXQMH2ZME3ANN8Q8MEWPFB","cellxgene-census","Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs\u002Fdownloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcellxgene-census\u002FSKILL.md",[],[]]