KS
Killer-Skills

ce-plugin-audit — Categories.community

v1.0.0
GitHub

About this Skill

Perfect for Compliance Agents needing advanced plugin auditing capabilities with Calibrated Explanations (CE) plugin contract. Repository for the explanation method Calibrated Explanations (CE)

Moffran Moffran
[74]
[12]
Updated: 3/2/2026

Quality Score

Top 5%
45
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add Moffran/calibrated_explanations

Agent Capability Analysis

The ce-plugin-audit MCP Server by Moffran is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion.

Ideal Agent Persona

Perfect for Compliance Agents needing advanced plugin auditing capabilities with Calibrated Explanations (CE) plugin contract.

Core Value

Empowers agents to validate plugin metadata using the `validate_plugin_meta` function, ensuring conformance with the CE plugin contract, including schema version, name, and version checks, leveraging non-empty strings and integer types.

Capabilities Granted for ce-plugin-audit MCP Server

Auditing plugin metadata for schema version compliance
Validating plugin names and versions against the CE contract
Generating structured reports for plugin audit dimensions

! Prerequisites & Limits

  • Requires implementation of the Calibrated Explanations (CE) plugin contract
  • Limited to plugins with a `plugin_meta` field
  • Schema version must be `1` for current contract compliance
Project
SKILL.md
6.1 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

CE Plugin Audit

You are auditing a plugin's conformance with the CE plugin contract. Run through each audit dimension below and produce a structured report.


Audit Dimension 1 — plugin_meta (ADR-006)

Run validate_plugin_meta(plugin.plugin_meta) and check:

FieldRequiredCorrect typeNotes
schema_versionintMust be 1 for current contract
namenon-empty strRecommend reverse-DNS
versionnon-empty strSemantic version
providernon-empty strAuthor/org attribution
capabilitiesnon-empty list[str]Each tag non-empty
trustedoptionalboolBuilt-ins set True; third-party False
data_modalitiesoptional (ADR-033)tuple[str, ...]Normalised lowercase; validated taxonomy
plugin_api_versionoptional (ADR-033)"MAJOR.MINOR" strDefault "1.0"
python
1from calibrated_explanations.plugins.base import validate_plugin_meta 2validate_plugin_meta(plugin.plugin_meta) # raises ValidationError on non-conformance

Audit Dimension 2 — Capability tags (ADR-015)

Each capability tag must match a defined CE capability:

Expected tagPlugin type
"interval:classification"Classification calibrator
"interval:regression"Regression calibrator
"explanation:factual", "explanation:alternative", "explanation:fast"Explanation
"plot:legacy", "plot:plotspec"Plot

Red flag: Plugin lists no capability tags, or lists tags it doesn't implement.


Audit Dimension 3 — Interval calibrator protocol (ADR-013)

If "interval:classification" or "interval:regression" in capabilities:

python
1# Required: predict_proba must match VennAbers surface exactly 2def predict_proba( 3 self, x, *, output_interval: bool = False, classes=None, bins=None 4) -> np.ndarray: ... 5# Shapes: (n_samples, n_classes) when output_interval=False 6# (n_samples, n_classes, 3) when output_interval=True (predict, low, high) 7 8def is_multiclass(self) -> bool: ... 9def is_mondrian(self) -> bool: ...

For regression ("interval:regression"), additional surface required:

python
1def predict_probability(self, x) -> np.ndarray: ... # shape (n_samples, 2): (low, high) 2def predict_uncertainty(self, x) -> np.ndarray: ... # shape (n_samples, 2): (width, confidence) 3def pre_fit_for_probabilistic(self, x, y) -> None: ... 4def compute_proba_cal(self, x, y, *, weights=None) -> np.ndarray: ... 5def insert_calibration(self, x, y, *, warm_start: bool = False) -> None: ...

Critical: predict_proba must delegate to VennAbers/IntervalRegressor reference logic to preserve calibration guarantees (ADR-021). A plugin that replaces the probability maths wholesale is non-conformant.

Context immutability: The plugin must NOT mutate fields in the IntervalCalibratorContext passed to create().


Audit Dimension 4 — ADR-001: Core / plugin boundary

FAIL if the plugin imports anything from calibrated_explanations.core.* that is not a protocol, dataclass, or exception:

python
1# OK — passive types 2from calibrated_explanations.core.exceptions import ValidationError 3 4# NOT OK — implementation details 5from calibrated_explanations.core.calibrated_explainer import CalibratedExplainer # red flag

Check with:

bash
1grep -r "from calibrated_explanations.core" src/your_plugin/

Audit Dimension 5 — Fallback visibility (mandatory copilot-instructions.md §7)

All fallback decisions inside the plugin must be visible:

python
1import warnings, logging 2_LOGGER = logging.getLogger("calibrated_explanations.plugins.<name>") 3 4# BAD — silent fallback 5if something_failed: 6 use_legacy_path() 7 8# GOOD — visible fallback 9if something_failed: 10 msg = "MyPlugin: <reason>. Falling back to legacy path." 11 _LOGGER.info(msg) 12 warnings.warn(msg, UserWarning, stacklevel=2) 13 use_legacy_path()

Audit Dimension 6 — Lazy imports (source-code.instructions.md)

Heavy optional dependencies must be imported lazily:

python
1# BAD 2import matplotlib.pyplot as plt # top-level in a module reachable from package root 3 4# GOOD 5def render(self, ...): 6 import matplotlib.pyplot as plt # inside function body

Audit Dimension 7 — ADR-033 modality contract (if applicable)

If the plugin targets a non-tabular modality ("image", "audio", "text", "timeseries", "multimodal", or "x-<vendor>-<name>"):

  • data_modalities must be present in plugin_meta.
  • Modality strings must be in the canonical taxonomy or use the x-<vendor>-<name> namespace.
  • Aliases ("vision" → "image", "time_series" → "timeseries") are acceptable inputs but are normalised to canonical form by the registry.
  • plugin_api_version must be present; major-version mismatch causes a registry rejection.

Report Template

Plugin Audit Report: <plugin name>
===================================
plugin_meta validation:        PASS / FAIL
  details: <fieldname: issue>

Capability tags:               PASS / FAIL / N_A
  declared: [...]
  implemented: [...]

Interval protocol (ADR-013):   PASS / FAIL / N_A
  predict_proba shape:         PASS / FAIL
  context immutability:        PASS / FAIL
  delegates to reference:      YES / NO

ADR-001 core boundary:         PASS / FAIL
  violations: <list>

Fallback visibility:           PASS / FAIL
  missing warn():              <method names>

Lazy imports:                  PASS / FAIL
  eager heavy imports:         <list>

ADR-033 modality (if used):    PASS / FAIL / N_A
  data_modalities:             <value>
  plugin_api_version:          <value>

Overall:   CONFORMANT / NON-CONFORMANT (N issues)

Evaluation Checklist

  • validate_plugin_meta() called and passes.
  • All declared capabilities have corresponding implementations.
  • Context not mutated in create().
  • predict_proba delegates to VennAbers / IntervalRegressor for probability maths.
  • No imports of core/ implementation details.
  • Every fallback emits warnings.warn + _LOGGER.info.
  • No eager top-level imports of matplotlib/pandas/joblib.
  • ADR-033 metadata present if non-tabular modality targeted.

Related Skills

Looking for an alternative to ce-plugin-audit or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
Design

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication