madai-investigator
MadAI Support Ticket Investigator
Investigate MadKudu support tickets systematically using available MCP tools.
Investigation Workflow
Follow these steps in order for thorough investigation:
Step 1: Fetch Ticket Details
Extract ticket information based on source:
Zendesk tickets:
mcp__MadAI_Prod__get_zendesk_ticket(ticket_url)
Jira tickets:
mcp__MadAI_Prod__get_jira_ticket(issue_key) # e.g., "SUPPORT-123"
Identify from ticket:
- Tenant ID (look for tenant mentions, domain, or company name)
- Issue description and symptoms
- Timeline (when did the issue start?)
- Any error messages or screenshots
Step 2: Identify Tenant
If tenant ID not explicit in ticket, search by domain:
mcp__MadAI_Prod__get_argo_data(endpoint="tenant", params={"domain": "example.com"})
Or search by user email:
mcp__MadAI_Prod__get_argo_data(endpoint="users/search", params={"email": "user@example.com"})
Get full tenant details:
mcp__MadAI_Prod__get_argo_data(endpoint="tenant/{tenant_id}")
Step 3: Health Checks
Run health checks in parallel when possible:
Tenant active status:
mcp__MadAI_Prod__check_tenant_active(tenant_id)
Connector connectivity:
mcp__MadAI_Prod__check_connector_connectivity(tenant_id)
Fill rate (scoring health):
mcp__MadAI_Prod__get_fill_rate_data(tenant_id, look_back_hours=24)
Process status:
mcp__MadAI_Prod__get_pull_processes_status(tenant_id, look_back_hours=24)
mcp__MadAI_Prod__get_push_processes_status(tenant_id, look_back_hours=24)
mcp__MadAI_Prod__get_data_workers_status(tenant_id, look_back_hours=24)
Step 4: Dig Deeper (as needed)
Check connector details:
mcp__MadAI_Prod__get_argo_data(endpoint="tenant/{tenant_id}/connectors/{connector_name}")
# connector_name: salesforce, hubspot, marketo, etc.
Query Datadog logs for errors:
mcp__MadAI_Prod__query_datadog_logs(query="@tenant:{tenant_id} status:error", look_back_hours=72)
Query tenant databases:
# Redshift (analytics data)
mcp__MadAI_Prod__execute_redshift_query(tenant_id, query="SELECT ...")
# Postgres - emback (main app data)
mcp__MadAI_Prod__execute_postgres_query(tenant_id, query="SELECT ...", database="emback")
# Postgres - honk (playbooks data)
mcp__MadAI_Prod__execute_postgres_query(tenant_id, query="SELECT ...", database="honk")
Check tenant config in GitHub:
mcp__MadAI_Prod__get_github_tenant_config_file_content(file_path="path/to/config")
Step 5: Query Knowledge Bases
Search for similar issues or solutions:
Product questions:
mcp__MadAI_Prod__answer_product_question(question="How does X feature work?")
Engineering how-to:
mcp__MadAI_Prod__answer_engineering_question(question="How to debug Y issue?")
Step 6: Produce Investigation Report
Structure findings as:
## Investigation Summary
**Ticket:** [ticket ID/URL]
**Tenant:** [tenant_id] - [company name]
**Issue:** [brief description]
## Findings
### Health Status
- Tenant Active: ✅/❌
- Connectors: [status]
- Fill Rate: [percentage]
- Processes: [status]
### Root Cause Analysis
[What's causing the issue based on evidence]
### Evidence
- [Log entries, error messages, data points]
## Recommendations
1. [Action item]
2. [Action item]
## Next Steps
[What should happen next - escalate, fix, follow up]
Common Investigation Patterns
Scoring Issues
- Check fill rate data
- Verify connector connectivity
- Query pull/push process status
- Check Datadog for scoring errors
Connector Problems
- Check connector connectivity
- Get specific connector details from Argo
- Query Datadog for connector-specific errors
- Verify credentials/config in tenant settings
Data Sync Issues
- Check data workers status
- Query pull processes
- Check Redshift for data freshness
- Look for sync errors in Datadog
Missing Scores/Signals
- Verify tenant is active
- Check if model is deployed (tenant config)
- Query Postgres for signal configuration
- Check fill rate trends over time
More from benjaming/ai-skills
confluence-cli
Use confluence-cli (NPM package) to manage Confluence content, pages, and spaces from the command line. Ideal for documentation workflows, bulk content operations, page migration, and when users request CLI-based Confluence interactions. Trigger on requests like "use Confluence CLI", "create Confluence pages via CLI", "migrate Confluence content", "automate documentation workflows", or when users want to script Confluence operations.
43atlassian-cli-jira
Use Atlassian CLI (acli) to manage Jira work items, projects, and workflows from the command line. Ideal for bulk operations, automation, scripting, and when users request CLI-based Jira interactions. Trigger on requests like "use Jira CLI", "create Jira issues via CLI", "bulk update Jira tickets", "automate Jira workflows", or when users want to script Jira operations.
29ralph-loop
Create autonomous iterative loops (Ralph Wiggum pattern) for multi-step tasks. Use when setting up automated workflows that iterate over a backlog of tasks with clear acceptance criteria. Triggers on requests like "create a ralph loop", "set up an iterative agent", "automate this migration", or "create an autonomous loop".
21interview
Interview user to clarify any topic - exploring codebase, investigating issues, planning features, understanding requirements, or drilling into plans. Socratic questioning to uncover details.
20codex-cli
Use OpenAI Codex CLI in non-interactive mode for automated code analysis, review, and programmatic task execution. Trigger on requests like "use Codex to analyze", "run codex exec", "codex code review", or when users want AI-powered code analysis without interactive prompts. Ideal for automation workflows, code quality checks, and generating structured analysis reports.
19daily-standup
Daily standup assistant for Benjamin that compiles work priorities from Jira and Slack into a single prioritized task list. This skill should be used when Benjamin asks for morning standup, daily priorities, what to work on today, or needs to compile work items.
18