All notable changes to the Monte Carlo Agent Toolkit plugin for Claude Code will be documented in this file.
Format follows Keep a Changelog. This project uses Semantic Versioning.
- New
/manage-macskill: create, edit, validate, and import Monitors-as-Code YAML files — CLI-first: usesmontecarlo monitors compileto validate andapplyto deploy; falls back to MC MCP tools then manual validation - Schema validation gates injected into
monitoring-advisorandtune-monitor— agents now validate generated YAML against the published schema before presenting it to the user
- Add
MC_PREVENT_HOOKS_DISABLED=1env var to disable prevent hooks (block-edit, pre-commit, turn-end) for users who want the skills without the gating behavior.
- Clarify telemetry disclosure in plugin README: explicit opt-out instructions and confirmation that no prompts/arguments/code are sent.
- Polish
plugin.jsonmetadata for Anthropic plugin directory submission (expanded description,author.email,homepage). - Add
"category": "monitoring"to the marketplace.json entry.
- Instrument Agent skill — walks Monte Carlo Agent Observability customers through instrumenting a new Python AI agent for Monte Carlo. Detects AI libraries in the codebase, proposes the Monte Carlo OpenTelemetry SDK install with matching instrumentors, generates tracing setup tailored to serverless or long-running runtimes, suggests where workflow and task decorators belong, and verifies traces appear in Monte Carlo. Always asks before editing any file.
- Invoke via the
/instrument-agentslash command or by asking to "instrument my agent" / "set up Monte Carlo tracing".
- Invoke via the
- 1b2f114 fix(hooks): replace lib symlinks with real file copies (#82)
- 39c4dd6 AI-256: analyze-root-cause runs TSA first when an incident UUID is present (#79)
- Skill-usage telemetry hook now only beacons for
mc-agent-toolkitskills. Previously it fired for every Skill tool invocation, including skills from other plugins.
- Internal tracking only: anonymous skill-usage telemetry and MCP route updated to
/mcp/toolkit. No prompts, args, or file paths sent. Disable telemetry withMC_AGENT_TOOLKIT_TELEMETRY_DISABLED=1. See the plugin README for details.
- Correct
alert_assessmentoutput field descriptions in automated-triage skill: replace the stale "natural-language summary" reference with explicitalert_description(what happened) andtriage_summary(scoring reasoning) fields, and clarify thatalert_descriptionis used in triage comments for untroubleshot alerts.
- SessionStart welcome hook — reported as too noisy.
/mc-validate runsubcommand — extends the Monte Carlo Prevent skill's validation workflow to actually execute the generated queries./mc-validatealone still generates the validation SQL as before;/mc-validate runadditionally builds the changed model into your dev database (dbt build --select <model>) and runs the validation queries through the Snowflake MCP, reporting per-query verdicts against each query's "What to look for" guidance.- Workflow 4 (sandbox build) in the Prevent skill — parses
profiles.yml, classifies the active database as personal/dev/shared-dev/prod/unknown, detects hard-codeddatabase:kwargs in model{{ config() }}blocks, and runsdbt build --select <model>. Hard-stops against shared prod. Skipped automatically for YAML-only diffs. - Workflow 5 (execute validation) in the Prevent skill — substitutes
<YOUR_DEV_DATABASE>with the user-confirmed value, shows the full execution plan (including any literal prod databases referenced for parity checks), enforces read-only before execution, runs each query via Snowflake MCP, and produces ✅/⚠️ /🔴 per-query verdicts plus a consolidated summary. - Five new sandbox helper scripts under
skills/prevent/scripts/sandbox/:parse_profiles.py,classify_sandbox.py,detect_hardcoded_db.py,substitute_placeholders.py,readonly_check.py. All independently tested (48 pytest cases) and composable via CLI-emitted JSON. - Session markers
MC_BUILD_RANandMC_VALIDATE_RANfor hook coordination across the new workflows.
- Workflow 3 (generate validation queries) now always ends by offering
/mc-validate runas the next step, regardless of how it was triggered.
- Slim the prevent skill: delegate Workflow 1 (table health check) to
monte-carlo-asset-healthand Workflow 6 (add monitor) tomonte-carlo-monitoring-advisor. Remove the alert-triage workflow entirely. - Renumber the impact-assessment and validation-query workflows to W2 and W3. Workflow numbers 4 and 5 are reserved for sandbox-build and execute-validation steps from the in-flight
mc-validate runwork. - Single-line
descriptionfield inskills/prevent/SKILL.mdper the ≤250-char authoring rule. - Drop alert-mutation tools (
updateAlert,setAlertOwner,createOrUpdateAlertComment) from the prevent skill's MCP tool table — those belong to the incident-response peer skill.
- Clear the
MC_MONITOR_GAPcache marker after the post-edit / pre-commit prompt has been delivered, so subsequent prompts don't re-nag for the same gap (Python hooks and OpenCode TS hooks).
monitoring-advisor: hardened thecreate_*_monitor_macguidance against the top failure modes seen in production over the last 7 days (70 events across 14 categories). Changes spandata-monitor-creation.md(domain-uuid resolution, warehouse-UUID requirement, column-verification gate, enum discipline, table existence check) and the per-type references (alert_conditionshape constraints indata-validation-monitor, metric-name and operator-enum corrections indata-metric-monitor/data-custom-sql-monitor,change-threshold documentation indata-custom-sql-monitor, datetime-type requirement foraggregate_time_field, arg-shape constraints indata-table-monitoranddata-validation-monitor, predicate/field-type semantics indata-validation-monitor,threshold_valuerequirement clarification indata-comparison-monitor). See PR #66 for the full error → fix mapping.
scripts/bump-version.shnormalizes drifted plugin versions. Before this release, claude-code was at 1.8.1 while codex/copilot/cursor/opencode were stuck at 1.7.0 because the script's sed only matched the claude-code version. The non-monotonic 1.7.0 → 1.8.2 jump on those four plugins is intentional — they caught up to the canonical version in this PR. Future bumps stay in sync automatically.
- Plugin update failed on 1.8.0 with
commands path not foundforincident-responseandproactive-monitoring. The 1.8.0 manifest declared these command paths but the directories were never committed. Added the missing/monte-carlo-incident-responseand/monte-carlo-proactive-monitoringslash-command files so the paths resolve and the workflows documented in/mcare actually invokable.
context-detectionskill that routes ambiguous data-related asks to the right workflow by probing available MCP toolsincident-responseworkflow skill that runs a root-cause investigation for a reported alert or incidentproactive-monitoringworkflow skill that walks users from "what should I monitor?" to concrete monitor creation/mccatalog command- SessionStart welcome hook — a minimal one-line greeting triggered only when a dbt project or
montecarlo.ymlis detected in the workspace when_to_usefrontmatter on the new workflow skills so the router has explicit trigger examples
- feat(automated-triage): add mark_event_as_normal guidance and scope interactive triage by domain/audience
- Add tune-monitor skill for monitor noise reduction analysis
- Add connection-auth-rules skill for building Connection Auth Rules configs
- Consolidate
monitor-creation,agent-monitoring, andmonitoring-advisorinto a singlemonitoring-advisorskill - Add
data-monitor-creation.mdandagent-monitor-creation.mdmid-level creation procedures - Move per-type references with
data-/agent-prefixes and distribute constraints - Fix MCP tool names to snake_case across all skill docs
- Update trigger evals: direct monitor creation and agent monitoring now trigger this skill
- Add asset-health skill (#33)
- Add AI agent monitoring to monitoring-advisor skill (#48)
- c4842c4 fix: add missing skill registrations — READMEs, symlinks, and sync rules (#46)
- 647669a feat: add automated-triage skill (#40)
- 9477ae1 feat: add analyze-root-cause skill for incident investigation (#37)
- f46cdfb Add remediation skill for investigating and fixing data quality alerts (#39)
- c5dd6a5 feat: add agent-monitoring skill and plugin (AI-167) (#35)
- 9884442 feat: add storage cost analysis and performance diagnosis skills (#36)
- f40f262 fix: add --force flag to release script to skip branch check
- 9155214 fix: release script PR flow + awk multiline bug
- ad388c7 fix: register monitoring-advisor as plugin command + add trigger evals (#38)
- 9147282 K2-287: add monitoring-advisor skill (#34)
- 930a745 feat: add prevent trigger evals and shared eval runner (#29)
- cf09cb8 fix: add missing name field to generate-validation-notebook SKILL.md (#32)
- 44f85ab Add monitor-creation skill and wire into all editor plugins (#31)
- 6bc245d fix: correct marketplace add command to use repo name (#30)
- e8597c9 fix: improve release script post-run message (#28)
- Monitor Creation skill — guides AI agents through creating Monte Carlo monitors correctly with validation, field-type compatibility checks, and monitors-as-code YAML generation. Covers metric, validation, custom SQL, comparison, and table monitors.
- Restructure from three separate plugins (
mc-prevent,mc-generate-validation-notebook,mc-push-ingestion) to unifiedmc-agent-toolkitplugin - All skills, commands, hooks, and config merged into a single plugin directory
- Hooks namespaced under
hooks/prevent/for multi-skill support - Commands namespaced under
commands/<skill>/ - MCP server and permissions configured once at plugin root
Claude Code treats this as a new plugin. Existing users must uninstall old plugins and install the new one:
# 1. Uninstall old plugins
claude plugin remove mc-prevent
claude plugin remove mc-generate-validation-notebook
claude plugin remove mc-push-ingestion
# 2. Install the unified plugin
/plugin install mc-agent-toolkit@mc-marketplaceHistory prior to the unified toolkit restructure (mc-prevent plugin only):
- Rename plugin from
mc-safe-changetomc-prevent - Rename skill from
monte-carlo-safe-changetomonte-carlo-prevent - Reset version to 1.0.0 as a fresh identity
Entries below predate the rename from mc-safe-change to mc-prevent.
- Migrate MCP server from header-based auth (
npx mcp-remote+ env vars) to zero-config HTTP/OAuth - Plugin now bundles
.mcp.jsonwith HTTP transport — no manual key setup required - Auto-approve MCP tool calls via
permissions.allowfor both plugin-bundled and standalone server prefixes - Update all setup docs to OAuth-first flow; legacy header-based auth moved to collapsible fallback sections
- Use
permissions.allowinstead ofallowedToolsinsettings.json(was silently ignored) - Restore
commandsfield inplugin.json(accidentally removed in initial branch) - Track plugin
.mcp.jsonin git via.gitignorenegation rule
- Session cache is now keyed per Claude Code session ID, preventing state from leaking across sessions
- Hook-based enforcement for dbt model edits (pre-edit gate, post-edit accumulator, turn-end validation prompt, commit gate)
/mc-validateslash command for explicit validation- Shared lib: dbt model detection, session cache, fail-open decorator
- Monte Carlo MCP server wiring
- Initial plugin shell with skill file and manifest