| name | dr-anomalies-report |
| description | Generate comprehensive anomaly detection report with Excel deliverables. Discovers data quality issues without requiring configuration. |
| user-invocable | true |
| allowed-tools | ["mcp__datarails-finance-os__list_finance_tables","mcp__datarails-finance-os__get_table_schema","mcp__datarails-finance-os__profile_numeric_fields","mcp__datarails-finance-os__profile_categorical_fields","mcp__datarails-finance-os__detect_anomalies","mcp__datarails-finance-os__get_records_by_filter","Write","Read","Bash"] |
| argument-hint | [--table-id <id>] [--severity <level>] [--output <file>] |
Anomaly Detection Report
Generate comprehensive data quality assessment report with automated anomaly detection.
This skill automatically discovers your data structure and detects issues without requiring pre-configuration. Works with any Datarails Finance OS table.
Design Principles
General-Purpose:
- ✅ No hardcoded table IDs or field names
- ✅ Adapts to any client structure
- ✅ Works with and without client profiles
- ✅ Falls back to discovery mode if profile missing
Arguments
| Argument | Description | Default |
|---|
--table-id <id> | Specific table to analyze | Uses profile or discovers automatically |
--severity <level> | Filter results: critical, high, medium, low | All |
--output <file> | Output filename | tmp/Anomaly_Report_TIMESTAMP.xlsx |
What It Reports
Summary Sheet
- Data Quality Score (0-100)
- Health status indicator
- Anomaly count by severity
- Key metrics
Critical Findings Sheet
- Anomalies requiring immediate attention
- Sample records for investigation
- Field-specific details
- Recommended actions
High Priority Sheet
- Issues to address this week
- Full descriptions
- Count and context
Analysis Sheets
- Numeric Analysis: Min, max, mean, std dev for numeric fields
- Categorical Analysis: Distinct values, cardinality, frequency
- Sample Records: Actual data samples for top anomalies
Workflow
Phase 1: Discovery
- Verify connection (if tools fail, guide user to Connectors UI)
- If no
--table-id, discover tables or use profile
- Load table schema
Phase 2: Anomaly Detection
- Run
detect_anomalies - Automated data quality checks
- Profile numeric fields - Statistics and outliers
- Profile categorical fields - Cardinality and frequencies
- Fetch sample records - Get actual data for investigation
Datarails Brand Styling
When generating Excel or PowerPoint files, apply Datarails brand styling:
Font: Poppins (fall back to Calibri if unavailable). Weights: 400 regular, 600 semibold, 700 bold.
Colors:
| Role | Hex | Use |
|---|
| Navy | 0C142B | Header/banner background |
| Main text | 333333 | Primary text |
| Secondary | 6D6E6F | Muted/subtitle text |
| Border | 9EA1AA | Cell borders |
| Section bg | F2F2FB | Section header / row header background (lavender) |
| Input bg | EAEAFF | Editable/input cell background |
| Input text | 4646CE | Editable cell text (indigo) |
| Favorable | 2ECC71 | Positive variance / good KPI delta |
| Unfavorable | E74C3C | Negative variance / bad KPI delta |
| Chart 1 | 0C142B | Actuals (navy) |
| Chart 2 | F93576 | Budget (hot pink) |
| Chart 3 | 00B4D8 | Teal |
| Chart 4 | FFA30F | Amber |
Excel layout:
- Content starts at column B (column A is a narrow gutter)
- Rows 1-6: header banner with navy background, white title text, white subtitle
- Gridlines OFF. Freeze panes at B7.
- Footer as last row with generation date
- Every cell must have font, fill, alignment, and number format set
Number formats: _(* #,##0_);_(* (#,##0);_(* "-"_);_(@_) (default), $#,##0 (dollars), $#,##0.0,,"M" (millions), 0.0% (percent)
Variance coloring: Any cell showing a delta/change: green (2ECC71) if favorable, red (E74C3C) if unfavorable. Apply automatically based on value sign and metric context.
PowerPoint: Navy (0C142B) background, 16:9 widescreen, Poppins font, white text, amber (FFA30F) accent lines, card backgrounds 001F37.
Phase 3: Report Generation
- Categorize findings by severity
- Generate Excel workbook with multiple sheets
- Apply professional formatting
- Calculate data quality score
Phase 4: Summary
- Display key findings
- Show health status
- Guide next steps
Examples
Analyze default financials table
/dr-anomalies-report
Output:
🔍 Discovering financials table...
✓ Found financials table: TABLE_ID
📊 Analyzing table TABLE_ID...
🔬 Running anomaly detection...
📈 Profiling numeric fields...
📝 Profiling categorical fields...
🔍 Fetching sample records...
📊 Summarizing results...
📄 Generating Excel report...
✅ Report generated: tmp/Anomaly_Report_2026-02-03_143022.xlsx
==================================================
ANOMALY DETECTION SUMMARY
==================================================
Table: TABLE_ID
Total Anomalies: 45
Data Quality Score: 87/100
By Severity:
Critical: 2
High: 8
Medium: 23
Low: 12
Report: tmp/Anomaly_Report_2026-02-03_143022.xlsx
==================================================
Analyze specific table for critical issues only
/dr-anomalies-report --table-id TABLE_ID --severity critical
Save to custom location
/dr-anomalies-report --env app --output tmp/Quality_Check_Feb_2026.xlsx
Data Quality Score
Score ranges from 0-100:
- 90-100 ✅ Excellent - Minimal issues, data is reliable
- 80-90 🟢 Good - Minor issues, generally usable
- 70-80 🟡 Fair - Moderate issues, needs attention
- 70 🟠 Poor - Significant issues, requires action
- <70 🔴 Critical - Major issues, immediate action required
Calculation:
Score = 100 - (critical×10 + high×5 + medium×2 + low×0.5)
Clamped to 0-100 range
Adaptive Behavior
With Client Profile
- Uses table IDs from
config/client-profiles/<env>.json
- Uses discovered field names and mappings
- Applies business rules from profile notes
Without Client Profile
- Lists available tables
- Automatically discovers table schema
- Infers field purposes from names and data types
- Uses general data quality rules
Fallback Discovery
If profile incomplete or unavailable:
- List all Finance OS tables
- Identify likely data tables (those with numeric fields)
- Get full schema
- Discover field purposes automatically
- Run analysis
Use Cases
Monthly Data Quality Check
/dr-anomalies-report --env app --output tmp/DQ_Check_$(date +%Y-%m).xlsx
Pre-Month-End Close Validation
/dr-anomalies-report --severity critical
Alerts on critical issues that could affect close
Department Data Audit
/dr-anomalies-report --table-id 12345 --severity high
Checks specific department data for issues
Exploratory Analysis
/dr-anomalies-report --table-id unknown_table_id
Discovers what's in an unfamiliar table
Output Files
Reports are saved to: tmp/Anomaly_Report_YYYY-MM-DD_HHMMSS.xlsx
Each report includes:
- Professional formatting with colors
- Severity-based highlighting
- Embedded sample data
- Statistical analysis
- Investigation queries
Troubleshooting
"Not authenticated" error
- Connect via Connectors UI ("+" > Connectors > Datarails > Connect)
"No tables found" error
- Check that authentication succeeded
- Verify you have access to Finance OS
"Table not found" error
- Verify table ID is correct
- Run
/dr-tables to see available tables
"Incomplete profile" error
- Run
/dr-learn to refresh profile
- Or specify
--table-id to override
Related Skills
/dr-tables - List and explore available tables
/dr-learn - Discover and create client profiles
/dr-extract - Extract validated financial data
/dr-reconcile - Compare P&L vs KPI data
Performance
- Small tables (< 10K rows): ~30 seconds
- Medium tables (10-100K rows): ~1-2 minutes
- Large tables (100K+ rows): ~5-10 minutes
Scaling handled automatically via pagination and efficient MCP tools.