You: What should I prioritize this morning?Agent: Here's your priority list: CRITICAL: - gold.fact_orders is 6 hours stale (SLA: 2h) Upstream staging.orders_raw is also stale. HIGH: - Schema drift: discount_pct column removed from gold.fact_orders on Tuesday - Null rate on gold.dim_customer.email spiked to 12.4% MEDIUM: - 2 validity rules failing on gold.dim_customer All other monitored tables are healthy.
$ claudeYou: /armor:statusClaude: Let me check your data health...[Tool: health_summary]Overall: NEEDS ATTENTION3 issues found:- 1 critical freshness violation (gold.fact_orders, 6h overdue)- 1 schema drift alert (column removed from gold.fact_orders)- 1 data quality anomaly (null rate spike on dim_customer.email)45 other assets are healthy. Want me to investigate any of these?
You: I got a freshness alert on the orders table. What's happening?Agent: gold.fact_orders is 6 hours overdue (SLA: 2 hours). I checked the upstream lineage: raw.events (FRESH) > staging.orders_raw (STALE, 8h overdue) > gold.fact_orders (STALE, 6h overdue) The issue originated in staging.orders_raw. 7 downstream tables are also affected: - gold.fact_payments - gold.fact_refunds - analytics.order_summary - reporting.daily_revenue ... and 3 more Recommended: Check the ETL pipeline that populates staging.orders_raw.
You: The orders table is stale. Why?Claude: Let me investigate...[Tool: check_freshness > gold.fact_orders: STALE, 6h overdue][Tool: get_lineage > upstream: staging.orders_raw][Tool: check_freshness > staging.orders_raw: STALE, 8h overdue]The orders table is stale because its upstream dependencystaging.orders_raw stopped updating 8 hours ago. The issuestarted upstream.7 downstream tables are affected. Want me to list them?
You: Set up hourly monitoring for all gold fact tablesAgent: Found 4 fact tables in the gold schema. Created freshness schedules: - gold.fact_orders: hourly, 2h SLA - gold.fact_payments: hourly, 2h SLA - gold.fact_refunds: hourly, 2h SLA - gold.fact_subscriptions: hourly, 2h SLA Want me to also add null_percentage metrics on key columns?
You: Monitor all gold fact tables for freshness, hourlyClaude: I'll set those up now.[Tool: search_tables > 4 fact tables in gold schema][Tool: create_freshness_schedule > gold.fact_orders: hourly, 2h SLA][Tool: create_freshness_schedule > gold.fact_payments: hourly, 2h SLA][Tool: create_freshness_schedule > gold.fact_refunds: hourly, 2h SLA][Tool: create_freshness_schedule > gold.fact_subscriptions: hourly, 2h SLA]Done. 4 freshness schedules created. You'll get alerts if anytable doesn't update within 2 hours.
No. The Web Agent runs in your browser with no install, and the MCP server works with any MCP-compatible client, including Cursor, Windsurf, Codex, OpenCode, and Claude Code. The /armor:* skills install into 40+ supported agents via skills.sh.
What’s the difference between the Web Agent, MCP server, and Python SDK?
All three call the same underlying tools. The Web Agent is built into the Intelligence page with zero setup. The MCP server lets your IDE agent manage observability without switching apps. The Python SDK is for scripts, notebooks, and CI/CD automation.
Run npx skills add anomalyarmor/agents and the 14 skills install into any supported agent (Claude Code, Cursor, Windsurf, Codex, OpenCode, and more). Source is at github.com/anomalyarmor/agents.
Can the agent make changes to my monitoring setup, or is it read-only?
The agent can create freshness schedules, metrics, validity rules, tags, and alert rules. For any action that modifies data, it shows the plan and asks for confirmation before executing. Tool calls are always visible so you can verify what ran.
Does the agent have access to my actual data rows?
No. The agent queries AnomalyArmor’s metadata (schemas, freshness timestamps, monitoring results, lineage), not your row-level data. See Query Gateway for how AnomalyArmor reads customer warehouses without exfiltrating rows.