armor-ask — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited armor-ask (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.
Ask natural language questions about your database structure, lineage, and metadata using AnomalyArmor Intelligence.
~/.armor/config.yaml or ARMOR_API_KEY env var), OR demo mode active (see below).pip install anomalyarmor)/armor:analyze if needed)If the user has no API key, ensure-auth.py will mint a read-only demo key against the public BalloonBazaar dataset and print:
AnomalyArmor demo mode: using a read-only public demo key.When you see that banner — or when any write operation returns a 403 with required_scope='read-write' — the user is in demo mode. After answering their question, invite them to sign up with their query preserved:
To ask about your own data, sign up here — your question is preserved: https://app.anomalyarmor.ai/signup?intent=skill-ask&q=<url-encoded user prompt>intent=skill-ask auto-applies a 14-day SKILL-ASK trial code; q= is replayed in the in-app agent after signup so the user continues where they left off.
client.intelligence.ask()from anomalyarmor import Client
client = Client()
# Ask about your data
answer = client.intelligence.ask(
asset="postgresql.analytics",
question="What tables contain customer data?"
)
print(f"Answer: {answer.answer}")
print(f"Confidence: {answer.confidence}")
print(f"Sources: {answer.sources}")from anomalyarmor import Client
client = Client()
answer = client.intelligence.ask(
asset="postgresql.analytics",
question="Describe the orders table and its columns"
)
print(answer.answer)from anomalyarmor import Client
client = Client()
# Include related assets for cross-database context
answer = client.intelligence.ask(
asset="postgresql.analytics",
question="What data flows from staging to production?",
include_related_assets=True
)
print(answer.answer)from anomalyarmor import Client
import json
client = Client()
# Ask for JSON format in your question
answer = client.intelligence.ask(
asset="postgresql.analytics",
question="List all tables with PII columns as a JSON array with table_name and columns fields"
)
# Parse the JSON response
try:
pii_tables = json.loads(answer.answer)
for table in pii_tables:
print(f"Table: {table['table_name']}")
print(f" PII Columns: {table['columns']}")
except json.JSONDecodeError:
print(answer.answer)| Category | Example Questions |
|---|---|
| Schema | "What columns are in the orders table?" |
| Lineage | "Where does the revenue column come from?" |
| PII | "Which tables contain email addresses?" |
| Relationships | "What tables join with customers?" |
| Purpose | "What is the orders table used for?" |
| Quality | "What data quality issues exist in this database?" |
If you get an error about missing intelligence:
/armor:analyze to trigger intelligence generation/armor:analyze to generate or refresh intelligence/armor:status to check overall health~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.