Social Value Report
by sofer
Generate the social value report from CSV inputs by detecting CSVs, anonymising them, and producing a month-by-month markdown report.
Skill Details
Repository Files
3 files in this skill directory
name: social-value-report description: Generate the social value report from CSV inputs by detecting CSVs, anonymising them, and producing a month-by-month markdown report.
Social Value Report
Use this skill when the user asks to produce or refresh the social value report.
Workflow
- Locate CSV data
- List CSV files in the current directory.
- If none exist, ask the user to provide the latest dataset.
- If any CSV files lack the timestamp pattern (
YYYYMMDD_HHMMSS), anonymise them before proceeding.
- Anonymise input
- Use the anonymise skill to strip PII and timestamp the file
- The anonymise skill auto-detects new CSVs or accepts a specific filename
- Confirm the timestamped file was created and the original removed.
- Generate the report
- Run the report generator (defaults to the newest anonymised CSV if none is specified):
python3 skills/social-value-report/report.py [path/to/anonymised.csv]
- This produces
social-value-YYYY-MM-DD.csv(dated) with one row per month and prints a console summary. - Column mappings are read from
config/social-value-report.json(no hard-coded headers).
- Deliver results
- Share key findings and point to
social_value_report.md. - Flag if no records are found.
- Keep output in British English and avoid reintroducing PII.
Notes
- Counting rules:
- Programme type 25 → Apprentices (counted).
- Programme type 32 with funding indicator 2 → sponsored Skills Bootcamp (counted in its own column for reference only).
- Programme type 32 with any other funding indicator → Skills Bootcamp (social value).
- Each record is counted for every month overlapping its start/end dates (end missing → treated as ongoing to today).
- Column selection prefers aim 2 fields (start date, end date, programme type, funding indicator) and falls back to aim 1 if aim 2 is missing.
- Column names are supplied via
config/social-value-report.json; update that file if headers change. - Platform-agnostic; no vendor-specific commands.
- Uses the anonymised dataset only.
- If multiple new CSVs are present, ask which to use before anonymising.
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.
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.
Matplotlib
Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.
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.
Seaborn
Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.
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
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.
Query Writing
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations
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.
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.
