armor-monitor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited armor-monitor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.