Quality Dashboard

by mehdic

skill

Unified project health dashboard aggregating all quality metrics

Skill Details

Repository Files

3 files in this skill directory


name: quality-dashboard description: Unified project health dashboard aggregating all quality metrics version: 1.0.0 allowed-tools: [Bash, Read]

Quality Dashboard Skill

You are the quality-dashboard skill. When invoked, you aggregate metrics from all quality tools to provide a comprehensive, unified view of project health with a single health score (0-100).

When to Invoke This Skill

Invoke this skill when:

  • After running security-scan, test-coverage, and lint-check
  • Before final code review or deployment
  • PM needs overall project health status
  • Generating status reports for stakeholders
  • Checking if quality gates pass

Do NOT invoke when:

  • Quality tools haven't run yet (no metrics available)
  • Emergency hotfixes (skip quality dashboard)
  • Work-in-progress code not ready for review

Your Task

When invoked:

  1. Execute the quality dashboard aggregation script
  2. Read the generated dashboard report
  3. Return a summary to the calling agent

Step 1: Execute Quality Dashboard Script

Use the Bash tool to run the pre-built dashboard script.

On Unix/macOS:

bash .claude/skills/quality-dashboard/scripts/dashboard.sh

On Windows (PowerShell):

pwsh .claude/skills/quality-dashboard/scripts/dashboard.ps1

Cross-platform detection: Check if running on Windows ($env:OS contains "Windows" or uname doesn't exist) and run the appropriate script.

This script will:

  • Read bazinga/security_scan.json
  • Read bazinga/coverage_report.json
  • Read bazinga/lint_results.json
  • Read bazinga/project_metrics.json
  • Calculate component scores (0-100 for each)
  • Compute overall health score (weighted average)
  • Detect trends by comparing to previous run
  • Identify anomalies
  • Generate bazinga/artifacts/{SESSION_ID}/skills/quality_dashboard.json

Step 2: Read Generated Report

Use the Read tool to read:

bazinga/artifacts/{SESSION_ID}/skills/quality_dashboard.json

Extract key information:

  • overall_health_score - Single score 0-100
  • health_level - excellent/good/fair/poor/critical
  • metrics.security.score - Security component score
  • metrics.coverage.score - Coverage component score
  • metrics.lint.score - Lint component score
  • metrics.velocity.score - Velocity component score
  • quality_gates_status - passed/failed for each gate
  • anomalies - Detected issues
  • recommendations - Action items

Step 3: Return Summary

Return a concise summary to the calling agent:

Quality Dashboard Summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Overall Health: {score}/100 ({level})
Trend: {overall_trend}

Component Scores:
- Security:  {score}/100 [{trend}]
- Coverage:  {score}/100 [{trend}]
- Lint:      {score}/100 [{trend}]
- Velocity:  {score}/100 [{trend}]

Quality Gates:
- Security: {passed/failed}
- Coverage: {passed/failed}
- Lint:     {passed/failed}

{If anomalies:}
⚠️  Anomalies Detected:
- {anomaly}

Top Recommendations:
1. {recommendation}
2. {recommendation}
3. {recommendation}

Details saved to: bazinga/artifacts/{SESSION_ID}/skills/quality_dashboard.json

Example Invocation

Scenario: Healthy Project

Input: PM requesting overall health status after all quality checks

Expected output:

Quality Dashboard Summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Overall Health: 92/100 (excellent)
Trend: improving

Component Scores:
- Security:  100/100 [stable]
- Coverage:  94/100 [improving]
- Lint:      95/100 [stable]
- Velocity:  80/100 [improving]

Quality Gates:
- Security: passed ✅
- Coverage: passed ✅
- Lint:     passed ✅

Top Recommendations:
1. Continue current practices
2. Coverage improved by 12% this iteration

Details saved to: bazinga/artifacts/{SESSION_ID}/skills/quality_dashboard.json

Scenario: Quality Issues Detected

Input: PM checking health after detecting test failures

Expected output:

Quality Dashboard Summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Overall Health: 58/100 (fair)
Trend: declining

Component Scores:
- Security:  70/100 [declining]
- Coverage:  62/100 [declining]
- Lint:      45/100 [declining]
- Velocity:  55/100 [stable]

Quality Gates:
- Security: failed ❌ (3 high issues)
- Coverage: failed ❌ (below 70%)
- Lint:     failed ❌ (12 errors)

⚠️  Anomalies Detected:
- Security score dropped 25 points from last run
- Coverage decreased in auth module (82% -> 62%)
- Lint errors increased by 150%

Top Recommendations:
1. Address 3 high-severity security issues before deployment
2. Add tests for auth module (20% coverage drop)
3. Fix 12 linting errors

Details saved to: bazinga/artifacts/{SESSION_ID}/skills/quality_dashboard.json

Error Handling

If all metric files missing:

  • Return: "Cannot generate dashboard - no quality metrics found. Run security-scan, test-coverage, and lint-check first."

If only some metrics missing:

  • Calculate health score with available metrics
  • Note: "Incomplete data: {missing components}"
  • Adjust weights accordingly

If previous dashboard not found:

  • Skip trend detection
  • Note: "No baseline for trend comparison (first run)"

Notes

  • The script handles all aggregation and scoring logic
  • Supports both bash (Linux/Mac) and PowerShell (Windows)
  • Health score is weighted: Security (35%), Coverage (30%), Lint (20%), Velocity (15%)
  • Quality gates are minimum standards for deployment
  • Trends require at least 2 runs to detect
  • Anomaly detection catches regressions early

Related Skills

Attack Tree Construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

skill

Grafana Dashboards

Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.

skill

Matplotlib

Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.

skill

Scientific Visualization

Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.

skill

Seaborn

Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.

skill

Shap

Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Query Writing

For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Scientific Visualization

Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.

skill

Skill Information

Category:Skill
Version:1.0.0
Allowed Tools:[Bash, Read]
Last Updated:11/27/2025