From anomalyarmor-agents
Set up monitoring for freshness and schema drift. Handles "monitor my table", "setup freshness", "enable schema monitoring", "track changes".
npx claudepluginhub anomalyarmor/agents --plugin armorThis skill uses the workspace's default tool permissions.
Configure freshness monitoring and schema drift detection for your data assets.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
Configure freshness monitoring and schema drift detection for your data assets.
~/.armor/config.yaml or ARMOR_API_KEY env var)pip install anomalyarmor)/armor:connect first)client.freshness.create_schedule()client.schema.create_baseline()client.schema.enable_monitoring()from anomalyarmor import Client
client = Client()
# List existing schedules for the asset
schedules = client.freshness.list_schedules(asset_id="asset-uuid")
print(f"Existing schedules: {len(schedules)}")
# Create freshness schedule with auto-learn
# System will learn normal update patterns and alert on deviations
schedule = client.freshness.create_schedule(
asset_id="asset-uuid",
table_path="public.orders",
check_interval="1h", # Check every hour
monitoring_mode="auto_learn"
)
print(f"Created schedule: {schedule.id}")
print(f"Table: {schedule.table_path}")
print(f"Check interval: {schedule.check_interval}")
from anomalyarmor import Client
client = Client()
# Create schedule with explicit threshold
# Alert if table hasn't updated in 24 hours
schedule = client.freshness.create_schedule(
asset_id="asset-uuid",
table_path="public.daily_summary",
check_interval="6h",
monitoring_mode="explicit",
expected_interval_hours=24,
freshness_column="updated_at" # Optional: specify column
)
print(f"Created schedule with {schedule.expected_interval_hours}h threshold")
from anomalyarmor import Client
client = Client()
# Create schema baseline (captures current schema)
baseline = client.schema.create_baseline(
asset_id="asset-uuid",
description="Initial production baseline"
)
print(f"Baseline captured: {baseline.column_count} columns")
# Enable monitoring with daily checks
config = client.schema.enable_monitoring(
asset_id="asset-uuid",
schedule_type="daily", # hourly, every_4_hours, daily, weekly
auto_create_baseline=True # Create baseline if none exists
)
print(f"Monitoring enabled, next check: {config.next_check_at}")
from anomalyarmor import Client
client = Client()
# Delete freshness schedule
client.freshness.delete_schedule("schedule-uuid")
# Disable schema monitoring (keeps baseline)
client.schema.disable_monitoring("asset-uuid")
| Interval | Description | Best For |
|---|---|---|
5m | Every 5 minutes | Real-time data |
1h | Hourly | Frequently updated tables |
6h | Every 6 hours | Moderate update frequency |
1d | Daily | Daily batch jobs |
1w | Weekly | Weekly reports |
| Type | Description |
|---|---|
hourly | Check every hour |
every_4_hours | Check every 4 hours |
daily | Check once per day |
weekly | Check once per week |
/armor:status to verify monitoring is working/armor:alerts to see triggered alerts