shap
Helps your agent understand and audit machine learning predictions. It explains which factors were most important for a decision and how they influenced the outcome.
What it does
SHAP helps understand how an AI model makes decisions. It shows which parts of the input information were most important for the final prediction.
When to use it
- ✓When you want to know why a model predicted something specific.
- ✓To compare the importance of different factors in a prediction.
- ✓To check if the model is using the correct information.
Example of what to ask your AI
“Explain why the model predicted this customer would buy product X.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
SHAP calculates the impact of each feature (input information) on the prediction by comparing it to an average value. It assigns a score to each feature, showing if it increased or decreased the prediction's probability.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill shapOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/shap/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
SHAP
Use SHAP to describe how a fitted predictive model maps inputs to outputs. Work from the modern shap.Explanation API, make the explained output and background distribution explicit, and validate every explanation before interpreting it.
This skill is aligned with SHAP 0.52.0 (released 2026-05-28). That release requires Python 3.12 or newer.
The maintained examples were checked on Python 3.12.10 with SHAP 0.52.0, NumPy 2.5.3, pandas 3.0.6, scikit-learn 1.9.1, and matplotlib 3.11.2. Native tests cover small tree, exact, permutation, partition, linear, additive, kernel, text, and constant-image games; additional numeric XGBoost 3.4.1 smoke checks cover raw, probability, loss, and interaction outputs. Reference snippets that require a project model, framework, or data are adaptation templates; optional pretrained/deep, GPU, and distributed integrations remain illustrative and require their own runtime validation.
Operating Rules
- Explain a fixed, evaluated model; do not use SHAP as a substitute for predictive validation.
- Use held-out or clearly labeled analysis rows for explanations. Choose background rows only from an appropriate training or reference population.
- State the explained output: regression value, raw margin, probability, log loss, logit, or another model method.
- Prefer
shap.Explanationobjects andexplainer(X). Some specialized options still require.shap_values(X), including deep ranked outputs, gradient sampling budgets, and Kernel SHAPnsamples. Preserve their output indexes and baselines explicitly. - For multi-output models, select one output before using tabular plots:
explanation[..., output_index]. - Check
base_values + values.sum(...)against the exact model output being explained. - Treat SHAP as a description of model behavior under a masking/background choice. It does not establish causality, fairness, recourse, or scientific mechanism.
- Never silence an additivity failure until input shape, preprocessing, model version, output space, and row ordering have been checked.
- Do not load untrusted pickle, joblib, model, or explainer artifacts; those formats can execute code during deserialization.
Install
Create an isolated environment and pin the documented release:
uv venv --python 3.12
source .venv/bin/activate
uv pip install "shap[plots]==0.52.0"
shap[plots] installs the plotting dependencies. Add the fitted model's package at a version compatible with the project. For older Python compatibility, read references/migration.md instead of silently installing a different SHAP release.
Confirm the environment before debugging an API mismatch:
import platform
import shap
print("Python:", platform.python_version())
print("SHAP:", shap.__version__)
Standard Workflow
1. Define the explanation target
Record:
- model and preprocessing version;
- exact callable or model method being explained;
- output name/index and units;
- evaluation rows;
- background/reference population;
- masker and explainer algorithm;
- SHAP and model-library versions.
For classifiers, decide whether the task needs raw margins or probabilities. Defaults differ by model family; never infer units from the plot color or sign.
2. Select an explainer and masker
Start with shap.Explainer(model, masker) when automatic dispatch is sufficient. Instantiate a specialized explainer when its assumptions or output controls matter.
| Situation | Preferred choice | Important constraint |
|---|---|---|
| Supported tree ensemble | TreeExplainer |
model_output="probability" and "log_loss" require interventional masking and background data |
| Linear model | LinearExplainer |
The masker determines interventional versus correlation-aware behavior |
| Small feature space | ExactExplainer |
Cost grows quickly with unconstrained feature count |
| General tabular callable | PermutationExplainer |
Budget at least one full forward/reverse permutation |
| Hierarchical feature groups, text, or image | PartitionExplainer |
The partition tree changes the cooperative game |
| Differentiable neural network | DeepExplainer or GradientExplainer |
Framework support, output shape, and background choice require testing |
| Legacy Kernel SHAP workflow | KernelExplainer |
Usually much slower than model-specific methods |
…
FAQ
Does SHAP prove the model is correct?
No, SHAP explains the model's behavior but doesn't validate if the prediction itself is correct or establish causality.
Can I use SHAP with any AI model?
SHAP works with many types of models, especially machine learning ones, but the setup can vary.
What are 'explainer' and 'masker'?
The 'explainer' is the method used to calculate importances, and the 'masker' helps define a 'background' or 'reference' for these comparisons.
Details
Original description by the author
Explain and audit machine-learning predictions with SHAP. Use for selecting SHAP explainers and maskers, computing and validating feature attributions, handling multi-output explanations, and producing local or global SHAP visualizations.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1981
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
pytorch-patterns
Helps your agent use PyTorch for machine learning models. It applies best practices for efficient model training and ensures reproducible results.
affaan-m/ECC
evm-token-decimals
Helps your agent avoid errors with decimal numbers across different blockchain networks. It ensures token values are accurate in transactions and calculations.
affaan-m/ECC
knowledge-agent
Creates and queries knowledge bases using AI. It allows asking questions about past work or compiling expertise on a topic.
thedotmack/claude-mem