Source profileQuality 91/100

datarobot-oss/datarobot-agent-skills/skills/datarobot-model-explainability/SKILL.md

datarobot-model-explainability

Tools and guidance for model explainability, prediction explanations, feature impact analysis, SHAP values, SHAP distributions, anomaly assessment, and model diagnostics. Use when analyzing model explanations, feature impact, SHAP values, SHAP distributions, anomaly assessment, or diagnosing model behavior.

Source repository stars
24
Declared platforms
0
Static risk flags
1
Last source update
2026-08-20
Source checked
2026-08-25

Decision brief

What it does: where it fits

This skill covers SHAP insights, XEMP prediction explanations, anomaly explanations, and model diagnostics.

Best for

  • Use this skill when you need to explain leaderboard model behavior, compute SHAP insights, use XEMP prediction explanations, analyze anomaly explanations, or retrieve model diagnostics.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/datarobot-oss/datarobot-agent-skills --skill "skills/datarobot-model-explainability"
Safe inspection promptEditorial

Inspect the Agent Skill "datarobot-model-explainability" from https://github.com/datarobot-oss/datarobot-agent-skills/blob/b901f1c491c1742ebf9282820cd2d5c00d7db2bf/skills/datarobot-model-explainability/SKILL.md at commit b901f1c491c1742ebf9282820cd2d5c00d7db2bf. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Quick Start

    Universal SHAP is the preferred path - no dataset pre-upload or Feature Impact step required.

    Universal SHAP is the preferred path - no dataset pre-upload or Feature Impact step required.
  2. 02

    Setup

    Review the “Setup” section in the pinned source before continuing.

    Review and apply the “Setup” source section.
  3. 03

    Anomaly assessment (time series models)

    For time series anomaly detection models, use AnomalyAssessmentRecord.

    For time series anomaly detection models, use AnomalyAssessmentRecord.
  4. 04

    When to use this skill

    Use this skill when you need to explain leaderboard model behavior, compute SHAP insights, use XEMP prediction explanations, analyze anomaly explanations, or retrieve model diagnostics.

    Use this skill when you need to explain leaderboard model behavior, compute SHAP insights, use XEMP prediction explanations, analyze anomaly explanations, or retrieve model diagnostics.
  5. 05

    Key capabilities

    Compute ShapMatrix, ShapPreview, ShapImpact, and ShapDistributions

    Compute ShapMatrix, ShapPreview, ShapImpact, and ShapDistributionsFilter insights with dr.DataSliceUse XEMP dr.PredictionExplanations when specifically required

Permission review

Static risk signals and limitations

Network access

medium · line 61

The documentation includes network, browsing, or remote request actions.

endpoint=os.environ.get("DATAROBOT_ENDPOINT", "https://app.datarobot.com/api/v2"),

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars24SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
datarobot-oss/datarobot-agent-skills
Skill path
skills/datarobot-model-explainability/SKILL.md
Commit
b901f1c491c1742ebf9282820cd2d5c00d7db2bf
License
Apache-2.0
Collected
2026-08-25
Default branch
main
View the original SKILL.md

DataRobot Model Explainability Skill

This skill covers SHAP insights, XEMP prediction explanations, anomaly explanations, and model diagnostics.

SDK version: Use datarobot>=3.6.0 for the full API set in this skill (ShapDistributions was added in 3.6; ShapMatrix, ShapImpact, and ShapPreview are available in datarobot>=3.4.0). Use from datarobot.insights import ShapMatrix, ... with entity_id=model_id — not legacy datarobot.models.ShapMatrix (project_id / dataset_id). ShapMatrix, ShapImpact, ShapPreview, and ShapDistributions are the canonical SHAP API. The older dr.PredictionExplanations (XEMP-based) remains available but is the secondary path.


Quick Start

GoalAPI to usePrerequisites
SHAP values for all features, all rowsShapMatrix.create(entity_id=model_id)None - universal SHAP
Per-row top-feature explanationsShapPreview.create(entity_id=model_id)None
Aggregated feature importance via SHAPShapImpact.create(entity_id=model_id)None
SHAP value distributions across featuresShapDistributions.create(entity_id=model_id)None
SHAP for a filtered segmentdr.DataSlice.create(...) + ShapMatrix.create(..., data_slice_id=...)Data slice definition
XEMP-based prediction explanationsdr.PredictionExplanations.create(...)Feature Impact; PE initialization; dataset uploaded
Anomaly explanations (time series)AnomalyAssessmentRecord.compute(project_id, model_id, ...)Anomaly model
ROC / lift / confusion (insights)RocCurve.create(...) / LiftChart.create(...) / ConfusionMatrix.create(...)Validation data
ROC / lift / confusion (Model helpers)model.get_roc_curve() / model.get_lift_chart() / model.get_confusion_chart()Validation data

Universal SHAP is the preferred path - no dataset pre-upload or Feature Impact step required.

When to use this skill

Use this skill when you need to explain leaderboard model behavior, compute SHAP insights, use XEMP prediction explanations, analyze anomaly explanations, or retrieve model diagnostics.

Key capabilities

1. SHAP insights

  • Compute ShapMatrix, ShapPreview, ShapImpact, and ShapDistributions
  • Filter insights with dr.DataSlice

2. XEMP and anomaly explanations

  • Use XEMP dr.PredictionExplanations when specifically required
  • Retrieve time series anomaly assessment records and explanations

3. Diagnostics

  • Retrieve ROC, lift, and confusion insights
  • Use Model helpers for ROC, lift, confusion, and feature effects

Setup

import os
import datarobot as dr
from datarobot.insights import ShapMatrix, ShapImpact, ShapPreview, ShapDistributions

dr.Client(
    token=os.environ["DATAROBOT_API_TOKEN"],
    endpoint=os.environ.get("DATAROBOT_ENDPOINT", "https://app.datarobot.com/api/v2"),
)

Core API: datarobot.insights

import pandas as pd
from datarobot.insights import ShapMatrix, ShapImpact, ShapPreview, ShapDistributions

model_id = "YOUR_MODEL_ID"

matrix = ShapMatrix.create(entity_id=model_id)
df = pd.DataFrame(matrix.matrix, columns=matrix.columns)

impact = ShapImpact.create(entity_id=model_id)
preview = ShapPreview.create(entity_id=model_id)
distributions = ShapDistributions.create(entity_id=model_id)

Use ShapMatrix for full row-by-feature SHAP values, ShapPreview for compact top-driver rows, ShapImpact for aggregated SHAP importance, and ShapDistributions for per-feature SHAP distributions. Use source="externalTestSet" plus external_dataset_id for external datasets. See references/shap_api_reference.md for parameters, exports, and limitations.


Secondary path: XEMP Prediction Explanations

Use dr.PredictionExplanations when XEMP explanations are specifically required (e.g., certain regulatory contexts, or when SHAP is unavailable for the model type).

Prerequisites (all required before calling .create()):

  1. Feature Impact must be computed: model.request_feature_impact() and wait
  2. Prediction explanations initialized: dr.PredictionExplanationsInitialization.create(...)
  3. Scoring dataset uploaded to the AI Catalog
import datarobot as dr

model = dr.Model.get(project=project_id, model_id=model_id)
model.request_feature_impact().wait_for_completion()
dr.PredictionExplanationsInitialization.create(project_id=project_id, model_id=model_id)

dataset = dr.Dataset.upload("./data/scoring_data.csv")
pe_job = dr.PredictionExplanations.create(
    project_id=project_id,
    model_id=model_id,
    dataset_id=dataset.id,
    max_explanations=5,  # top N features per row, up to 50
    threshold_high=0.5,  # only explain rows with prediction >= threshold
    threshold_low=0.1,  # only explain rows with prediction <= threshold
)

pe_obj = pe_job.get_result_when_complete()

Use pe_obj.get_rows(), pe_obj.get_all_as_dataframe(), or pe_obj.download_to_csv(...) to retrieve results. For parameters, multiclass modes, and exposure-adjusted predictions, see references/xemp_pe_reference.md.

Data slices for filtered insights

Use dr.DataSlice when the user asks to explain model behavior for a segment, such as a region, product line, target class, or high-risk cohort. Pass the resulting data_slice_id into the datarobot.insights SHAP APIs.

import datarobot as dr
from datarobot.insights import ShapMatrix

data_slice = dr.DataSlice.create(
    name="high_income_customers",
    filters=[{"operand": "income", "operator": ">", "values": 100000}],
    project=project_id,
)

shap_matrix = ShapMatrix.create(
    entity_id=model_id,
    source="validation",
    data_slice_id=data_slice.id,
)

Anomaly assessment (time series models)

For time series anomaly detection models, use AnomalyAssessmentRecord.

from datarobot.models.anomaly_assessment import AnomalyAssessmentRecord

record = AnomalyAssessmentRecord.compute(
    project_id=project_id,
    model_id=model_id,
    backtest=0,  # backtest index (int) or "holdout"
    source="validation",  # "training" or "validation" only
    series_id=None,  # required for multiseries projects
)

records = AnomalyAssessmentRecord.list(project_id=project_id, model_id=model_id)
latest = record.get_latest_explanations()

regions = record.get_predictions_preview().find_anomalous_regions()
explanations = record.get_explanations_data_in_regions(regions=regions)

ranged = record.get_explanations(
    start_date="2024-01-01T00:00:00.000000Z",
    end_date="2024-06-01T00:00:00.000000Z",
)

Model diagnostics

Use the same entity_id=model_id pattern as SHAP insights. FeatureEffects / partial dependence is still retrieved through Model helpers (not in datarobot.insights).

Insights diagnostics (preferred — matches SHAP API)

from datarobot.insights import RocCurve, LiftChart, ConfusionMatrix

roc = RocCurve.create(entity_id=model_id)
lift = LiftChart.create(entity_id=model_id)
confusion = ConfusionMatrix.create(entity_id=model_id)

Model helpers (alternative)

model = dr.Model.get(project=project_id, model_id=model_id)

roc = model.get_roc_curve(source="validation")
lift = model.get_lift_chart(source="validation")
confusion = model.get_confusion_chart(source="validation")

# Feature Impact (non-SHAP) and Feature Effects (partial dependence for top features)
fi = model.get_feature_impact()
feature_effects = model.get_feature_effect(source="validation")

Interpreting SHAP values

  • Positive value: feature pushes prediction higher than baseline
  • Negative value: feature pushes prediction lower than baseline
  • Magnitude: size of influence; larger absolute value = stronger effect
  • Sum: all SHAP values for a row sum to prediction - base_value in the link-function space
  • base_value: the model's mean prediction (the "no information" baseline)

Example: if base_value = 0.35 and a row's prediction is 0.72, the row's SHAP values sum to 0.37 when link_function = "identity". A feature with SHAP +0.20 contributed 20 units in that same link-function space above baseline.

When link_function = "logit", SHAP values are in log-odds space. Add feature contributions to base_value in log-odds space, then use inverse-logit (scipy.special.expit) on the resulting total to convert it to a probability. Do not apply expit to individual SHAP values as if they were probability deltas.


Decision guide

Task: explain predictions
    |
    - Need all features + all rows?     -> ShapMatrix.create(entity_id=model_id)
    - Need top-N features per row?      -> ShapPreview.create(entity_id=model_id)
    - Need aggregated importance?       -> ShapImpact.compute(entity_id=model_id)
    - Need feature SHAP distributions?  -> ShapDistributions.create(entity_id=model_id)
    - Need a segment/cohort only?       -> dr.DataSlice + data_slice_id
    - XEMP required (regulatory/type)?  -> dr.PredictionExplanations.create(...)
    - Time series / anomaly model?      -> AnomalyAssessmentRecord.compute(project_id, model_id, ...)

Common errors

ErrorCauseFix
SHAP not available for this modelUnsupported model type, or anomaly-detection model with >1000 featuresCheck model support; use XEMP PE if SHAP is unavailable
Feature Impact not computedPredictionExplanations prerequisite missingRun model.request_feature_impact() and wait
Missing PredictionExplanationsInitializationPE not initializedCall PredictionExplanationsInitialization.create()
source='holdout' failsHoldout not unlockedUnlock holdout in project settings first
Empty previewsNo rows in partitionCheck partition contains data

Reference files

  • references/shap_api_reference.md - full parameter signatures for ShapMatrix, ShapImpact, ShapPreview, ShapDistributions
  • references/xemp_pe_reference.md - PredictionExplanations and PredictionExplanationsInitialization parameter reference
  • scripts/compute_shap_matrix.py - compute and export ShapMatrix to CSV or DataFrame

Resources

Frequently asked questions

What to verify before installation and use

What does the datarobot-model-explainability source document cover?

This skill covers SHAP insights, XEMP prediction explanations, anomaly explanations, and model diagnostics.

How do I install datarobot-model-explainability?

The source record exposes this install command: npx skills add https://github.com/datarobot-oss/datarobot-agent-skills --skill "skills/datarobot-model-explainability". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged network in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10045,511

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 100152

JasonColapietro/suede-creator-skills

suede-ab-testing

Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

Computed 10035

tenequm/skills

founder-playbook

Decision validation and thinking frameworks for startup founders. Use when you need to pressure-test a decision, validate your next steps, think through strategic options, or sanity-check your approach. Triggers on phrases like "should I", "help me think through", "is this the right move", "validate my thinking", "what am I missing". Covers fundraising, customer development, runway management, prioritization, and crypto/web3 founder challenges.