复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Monte Carlo's official toolkit for AI coding agents.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Monte Carlo's official toolkit for AI coding agents. Brings data observability — lineage, monitoring, validation, alerting, and metadata ingestion — directly into your development workflow. The toolkit bundles multiple skills into a single plugin that works across supported editors.
Using Claude.ai (web or desktop) instead of a coding agent? Monte Carlo is a verified connector in the Claude directory — install it directly.
The toolkit bundles the following capabilities as a single mc-agent-toolkit plugin. Each feature is a skill that can also be used standalone.
Skills are grouped by the job they help you do. Orchestrated workflows sequence individual skills into guided multi-step flows; atomic skills can be invoked directly by name. Both are loaded the same way.
| Skill | Description | Details |
|---|---|---|
| Asset Health | Single-table health report: freshness, active alerts, monitor coverage, importance, and upstream issues. Run before building on a table. | README |
| Skill | Description | Details |
|---|---|---|
| Incident Response (workflow) | Orchestrates full incident lifecycle — triage → root cause → remediation → prevent recurrence. | SKILL |
| Automated Triage | Scores and prioritizes active alerts; runs deep troubleshooting on high-signal ones. | SKILL |
| Analyze Root Cause | Investigates incidents via lineage tracing, ETL checks, query analysis, and data profiling. | README |
| Remediation | Proposes and executes fixes for data-quality alerts; assesses blast radius before acting, or escalates with full context. | README |
| Troubleshoot Agent Traces | Investigates AI-agent alerts (evaluation, metric, trajectory, validation) and agent traces — kicks off the trace troubleshooting agent and guides a backend-aware manual investigation. | README |
| Skill | Description | Details |
|---|---|---|
| Proactive Monitoring (workflow) | Sequences coverage analysis → gap identification → monitor creation into a guided flow. | SKILL |
| Monitoring Advisor | Identifies coverage gaps and creates monitors for warehouse tables or AI agents — validates tables and fields against your live workspace, emits monitors-as-code YAML. | README |
| Manage MaC | Create, edit, validate, and import Monitors-as-Code YAML files — authors new monitors from scratch, modifies existing files, validates against the published JSON Schema, and exports live monitors to YAML. | SKILL |
| Tune Monitor | Recommends sensitivity, segment, and schedule changes to reduce alert noise on an existing metric monitor. | SKILL |
| Skill | Description | Details |
|---|---|---|
| Prevent | Edit-lifecycle safety net for dbt/SQL: surfaces blast radius and monitor gaps before edits, generates monitors-as-code for new logic. Auto-activates via hooks. | README |
| Generate Validation Notebook | Generates targeted SQL validation queries for a dbt PR or local repo change. | README |
| Skill | Description | Details |
|---|---|---|
| Storage Cost Analysis | Identifies storage waste (unread, zombie, dead-end tables); uses lineage to verify cleanup is safe and estimates savings. | README |
| Performance Diagnosis | Diagnoses slow pipelines and expensive queries across Airflow, dbt, Databricks, and other platforms. | README |
| Skill | Description | Details |
|---|---|---|
| Push Ingestion | Generates collection scripts to push metadata, lineage, or query logs to Monte Carlo from any data source. | README |
| Connection Auth Rules | Builds Connection Auth Rules JSON for a Monte Carlo connection type using live connector schemas. | SKILL |
| Instrument Agent | Instruments a Python AI agent for Monte Carlo Agent Observability — detects AI libraries, installs the Monte Carlo OpenTelemetry SDK, sets up tracing, and verifies traces in Monte Carlo. Asks before editing. | SKILL |
Monte Carlo recommends installing the mc-agent-toolkit plugin. The plugin bundles all skills together with hooks, the Monte Carlo MCP server, and agent-specific capabilities — no separate MCP configuration or authentication setup needed. See the plugins page for the full list of supported coding agents.
/plugin marketplace add monte-carlo-data/mc-agent-toolkit
/plugin install mc-agent-toolkit@mc-marketplace
claude plugin update pulls in the latest skill and hook changes.See the Claude Code plugin README for detailed setup and usage.
For other coding agents (Cursor, Copilot CLI, OpenCode, Codex, Cortex Code), see the plugins page for installation guides.
Skills can also be used standalone without the plugin. This is for users who want to install individual skills via registries or use them with agents not listed above.
A Monte Carlo account with Editor role or above
Monte Carlo MCP server — configure with:
claude mcp add --transport http monte-carlo-mcp https://mcp.getmontecarlo.com/mcp
Then authenticate: run /mcp in your editor, select monte-carlo-mcp, and complete the OAuth flow.
See official docs for other MCP clients and advanced options.
If your MCP client doesn't support HTTP transport, use .mcp.json.example with npx mcp-remote and header-based authentication. See the MCP server docs for details.
npx skills add monte-carlo-data/mc-agent-toolkit --skill prevent
Or copy directly:
cp -r skills/prevent ~/.claude/skills/prevent
See the skills directory for the full list and individual READMEs.
All six editor plugins send an anonymous install beacon — a Toolkit Installed event carrying an opaque per-install UUID, a per-session UUID, the toolkit version, and the editor name — once per machine per toolkit version (first install and after each version change), so we can count installations and version adoption. The Claude Code and Cortex Code plugins additionally send anonymous skill-usage telemetry (which skills are invoked, how often). As of v1.13.3, the same install_id and toolkit version also ride as HTTP headers on authenticated MCP requests to the Monte Carlo MCP server, so the otherwise-anonymous install can be correlated with the account's MCP tool usage server-side. No prompts, skill arguments, or code are ever sent, and telemetry is fail-open and non-blocking. To disable all of it, set MC_AGENT_TOOLKIT_TELEMETRY_DISABLED=1. See each plugin's README (e.g. Claude Code, Cortex Code) for details.
See CONTRIBUTING.md for guidelines on adding skills, creating plugins, and submitting pull requests. It also covers plugin architecture and releasing new versions.
This project is licensed under the Apache-2.0 license — see LICENSE for details.
See SECURITY.md for reporting vulnerabilities.
name: connection-auth-rules
description: "Build a Connection Auth Rules for a Monte Carlo connection type. Fetches live connector schemas and transform steps from the apollo-agent repo."
bucket: Setup
version: 1.0.0Use this skill when the user wants to build a Connection Auth Rules (stored as ctp_config) for a Monte Carlo connection. The config is stored on the Connection object in the monolith and tells the Apollo agent how to transform flat credentials into the driver-specific connect_args format.
Activate when the user:
MapperConfig, TransformStep, or CtpConfigDo not activate when the user is:
Locate the companion script with Bash:
find -L ~/.claude . -name fetch_schema.py -path "*/connection-auth-rules/*" 2>/dev/null | head -1
Then run it:
python3 <script_path> --list
The script outputs JSON. Parse result.connectors — each entry has a name field. Present the names to the user and ask which connection type they want to build a config for.
If the script fails: Show the error output and offer to retry. Do not proceed until you have the connector list.
Once the user selects a connection type, run the script with that connector name:
python3 <script_path> --connector <name>
The script outputs JSON. Parse result.schema:
output_keys — the driver-level connect_args keys the mapper must produce (from the connector's TypedDict)default_field_map — the existing default mapping (credential field → Jinja2 template)default_steps — any default transform steps already configuredPresent a summary to the user:
If the connector's default config (from Step 2) already includes steps, or if the user indicates they need custom transform steps, run:
python3 <script_path> --connector <name> --transforms
Parse result.transforms — each entry has:
name — the step type string used in "type"step_input — fields the step reads from the pipeline statestep_output — derived fields the step writes, referenceable as {{ derived.<key> }} in the mapperstep_field_map — typical mapper entry to wire the step's output into connect_argsPresent the available steps with their full contracts (input, output, and field_map hint).
If the script fails: Tell the user and offer to retry. You can continue without step data — just describe steps as unknown and ask the user to specify them manually.
Walk the user through each output key in the TypedDict:
MapperConfig (if one exists).The template context has two namespaces:
raw — the flat credential dict as received. Use {{ raw.field_name }} to reference a credential field directly. Example: {{ raw.client_id }}derived — fields added by transform steps. Use {{ derived.field_name }} to reference a step's output. Example: {{ derived.private_key_pem }}Common patterns:
"{{ raw.username }}""{{ raw.port | default('1433') }}""{{ raw.host }}:{{ raw.port }}"When the user doesn't know their credential field names, remind them these come from the Data Collector's credential dict — the keys are whatever the DC sends for that connection type.
If the connector needs steps (e.g. decoding a PEM certificate, constructing a derived field), help the user configure each step. A step dict has these fields:
| Field | Required | Description |
|---|---|---|
type | yes | Step type name (e.g. "load_private_key") |
input | yes | Dict of template strings the step reads (e.g. {"pem": "{{ raw.private_key_pem }}"}) |
output | yes | Dict mapping the step's logical output names to derived key names (e.g. {"private_key": "private_key_der"}) |
when | no | Jinja2 boolean expression — step only runs if this evaluates to true (e.g. "raw.ssl_ca_pem is defined") |
field_map | no | Mapper entries contributed only when this step runs — useful for conditional fields |
Walk the user through type, input, and output for each step. Ask about when if the step should only run under certain credential conditions (e.g. when an optional SSL cert is present).
Steps run in order before the mapper. The mapper can reference step outputs via {{ derived.<key> }}.
Produce the complete Connection Auth Rules as a Python dict (ready to serialize to JSON for storage). This is stored as ctp_config on the Connection model:
{
"steps": [
# each step as a dict, e.g.:
{
"type": "load_private_key",
"input": {
"pem": "{{ raw.private_key_pem }}"
},
"output": {
"private_key": "private_key_der"
}
# optional: "when": "raw.private_key_pem is defined"
}
],
"mapper": {
"field_map": {
"output_key": "{{ raw.credential_field }}",
# step output referenced as: "private_key": "{{ derived.private_key_der }}"
# ...
}
}
}
Also show the equivalent JSON, since this is what gets stored in the monolith's Connection.ctp_config field and entered in the "Connection auth rules" field in the UI.
Remind the user that validation happens server-side via validateConnectionCtpConfig — they should test the config through that mutation (or the Validate button in the UI) after saving it.
validateConnectionCtpConfig GraphQL mutation or the Validate button in the "Connection auth rules" UI section.is not None pattern. An empty field_map ({}) is valid — do not treat it as missing. The monolith checks ctp_config is not None, not truthiness.steps: []. Only add steps when the user needs credential transformation (e.g. PEM decoding, composite field construction).ctp_config / CtpConfig.
评论 (0)
暂无评论,成为第一个评论者吧!