This prompt is designed for engineering managers and AI program leads who must report on production AI system health to leadership on a monthly cadence. It takes aggregated trace data from your observability platform and produces a structured report with trend analysis, failure mode rankings, and actionable recommendations. Use this when raw trace volumes are too large for manual review and stakeholders need a decision-ready summary that preserves diagnostic signal without overwhelming detail.
Prompt
Monthly Trace Health Report Prompt Template

When to Use This Prompt
Define the exact conditions, audience, and prerequisites for using the Monthly Trace Health Report prompt, and when to choose a different tool.
The ideal user has already run aggregation queries against their observability store (e.g., Datadog, Arize, LangSmith, or an internal trace warehouse) and has pre-computed metrics such as error counts by category, P95 latency by step, tool-call failure rates, and eval pass/fail ratios. The prompt expects these aggregated numbers as input, not raw trace JSON. If you feed it thousands of individual trace objects, it will hit context limits and produce unreliable summaries. Instead, use the Trace Review and Diagnosis prompts for single-trace debugging, or the Weekly AI Operations Briefing prompt for higher-frequency operational updates.
Do not use this prompt for real-time incident response or live diagnosis. It is a retrospective reporting tool, not an on-call replacement. The output is a prose report with tables and bullet points, not a structured data payload for automated dashboards. If you need a machine-readable summary for downstream systems, pair this prompt with the Structured Output and Schema Control playbook to enforce a JSON output schema. For regulated or high-risk domains, always require human review of the final report before distribution, and ground every claim in the trace metrics you provided as input.
Use Case Fit
Where the Monthly Trace Health Report Prompt Template delivers value and where it falls short.
Good Fit: Recurring Leadership Cadences
Use when: Engineering managers must deliver a consistent monthly narrative to VPs or directors. The prompt excels at converting raw trace data into trend analysis, top failure modes, and improvement recommendations that match a predictable leadership review cycle. Guardrail: Lock the output schema to the stakeholder's expected report structure and pre-define the metrics they care about.
Bad Fit: Real-Time Operational Alerts
Avoid when: The goal is immediate incident detection or paging on-call engineers. This prompt is designed for retrospective aggregation and narrative synthesis, not sub-second anomaly detection. Guardrail: Route real-time alerting to a dedicated monitoring prompt or rule-based system, and use this template only for the post-hoc monthly summary.
Required Inputs: Structured Trace Aggregates
What to watch: Feeding raw, unstructured trace logs directly into the prompt will produce hallucinated statistics and vague trends. The model needs pre-aggregated data. Guardrail: Pre-process traces into structured inputs: error counts by category, P95 latency per operation, token consumption totals, and a list of the top N failure signatures before calling the prompt.
Operational Risk: Statistical Fabrication
What to watch: Without strict grounding, the model may invent plausible-sounding percentage changes or trend lines that don't exist in the source data. This is the highest-risk failure mode for stakeholder reporting. Guardrail: Require every statistical claim in the output to be traceable to a specific input data point. Implement a post-generation validation step that cross-references numbers in the report against the provided aggregates.
Operational Risk: Actionable Insight Dilution
What to watch: The model may produce fluent but generic recommendations like 'investigate errors further' instead of specific, data-backed improvement actions. Stakeholders will dismiss the report as AI-generated fluff. Guardrail: Add a constraint requiring each recommendation to cite a specific failure mode from the input data and propose a concrete next step (e.g., 'Increase timeout on the payment tool to address the 12% timeout rate').
Operational Risk: Cadence Mismatch
What to watch: Using a monthly template for a weekly or quarterly review will produce reports with the wrong granularity—either too much noise or too much smoothing. Guardrail: Maintain separate prompt templates for weekly operational briefings and quarterly executive summaries, each tuned to the appropriate time horizon and decision tempo.
Copy-Ready Prompt Template
A production-ready prompt template for synthesizing monthly trace data into a structured health report for leadership.
This template is designed to be pasted directly into your AI harness. It expects pre-processed trace data as input and produces a structured JSON report suitable for stakeholder review. Every square-bracket placeholder must be replaced with actual data before execution. The prompt enforces statistical grounding, actionable insight density, and clear separation of evidence from interpretation.
textYou are an AI observability analyst producing a Monthly Trace Health Report for engineering leadership. ## INPUT DATA [TRACE_DATA] ## REPORT PARAMETERS - Reporting Period: [REPORTING_MONTH] [REPORTING_YEAR] - Previous Period for Comparison: [PREVIOUS_MONTH] [PREVIOUS_YEAR] - System Components Under Review: [SYSTEM_COMPONENTS] - SLA Thresholds: [SLA_THRESHOLDS] - Business Impact Context: [BUSINESS_CONTEXT] ## OUTPUT SCHEMA Return a JSON object with the following structure: { "executive_summary": "string (max 150 words)", "key_metrics": { "total_traces": number, "success_rate": number (0-100), "p50_latency_ms": number, "p95_latency_ms": number, "p99_latency_ms": number, "error_budget_consumed_pct": number, "month_over_month_change": { "success_rate_delta": number, "p95_latency_delta_ms": number, "trace_volume_delta_pct": number } }, "top_failure_modes": [ { "category": "string", "frequency": number, "trend": "increasing" | "decreasing" | "stable", "example_trace_id": "string", "impact_assessment": "string" } ], "component_health": [ { "component": "string", "status": "healthy" | "degraded" | "critical", "success_rate": number, "p95_latency_ms": number, "notable_changes": "string" } ], "anomalies_detected": [ { "description": "string", "detection_date": "string", "severity": "low" | "medium" | "high" | "critical", "affected_trace_count": number, "hypothesis": "string" } ], "improvement_recommendations": [ { "recommendation": "string", "target_metric": "string", "expected_impact": "string", "effort_estimate": "low" | "medium" | "high" } ], "data_quality_notes": "string (caveats about data completeness or reliability)" } ## CONSTRAINTS - Every metric must be derived from [TRACE_DATA]. Do not invent numbers. - If a metric cannot be calculated from the provided data, set it to null and explain in data_quality_notes. - Month-over-month deltas must use [PREVIOUS_MONTH] data. If unavailable, set deltas to null. - Top failure modes must be ranked by frequency. Include no more than 5. - Anomalies must reference specific trace IDs or time windows present in the data. - Recommendations must be actionable and tied to specific metrics. - Use "unknown" or "insufficient data" rather than guessing. - The executive_summary must be suitable for a VP-level audience. ## EVALUATION CRITERIA Before returning the output, verify: 1. All percentages are between 0 and 100. 2. Latency values are positive numbers. 3. Failure mode categories are mutually exclusive. 4. Component status assignments are consistent with their success rates. 5. Recommendations reference specific failure modes or anomalies from the report. 6. No placeholder text remains in the output.
To adapt this template, replace [TRACE_DATA] with a structured dump of your production traces—typically a JSON array of trace objects containing timestamps, component paths, latency breakdowns, status codes, error messages, and tool-call records. The [SYSTEM_COMPONENTS] placeholder should list the specific services, models, or pipelines you want evaluated. For [SLA_THRESHOLDS], provide your target success rate, p95 latency ceiling, and error budget allocation. If previous-month comparison data is unavailable, set [PREVIOUS_MONTH] and [PREVIOUS_YEAR] to null and the prompt will handle the gap gracefully. Always validate the output JSON against the schema before presenting it to stakeholders—automated schema validation is strongly recommended for this workflow.
Prompt Variables
Every placeholder the Monthly Trace Health Report prompt expects, with concrete examples and actionable validation guidance for wiring into an AI harness.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[TRACE_DATA] | Raw monthly trace dataset containing spans, tool calls, evals, and session metadata. | JSON array of 10,000 trace objects from the observability platform. | Must parse as valid JSON array. Reject if empty or missing required fields: trace_id, timestamp, duration_ms. Schema check required before prompt injection. |
[REPORTING_MONTH] | The calendar month under analysis, used to scope the report title and trend comparisons. | 2025-02 | Must match ISO 8601 YYYY-MM format. Reject if future month or older than 12 months without explicit override flag. |
[PREVIOUS_MONTH_DATA] | Optional prior month trace data for trend comparison. Null allowed if first report. | JSON array of 9,800 trace objects from 2025-01. | If provided, must pass same schema check as [TRACE_DATA]. Null allowed. If present, validate month ordering: [PREVIOUS_MONTH] must precede [REPORTING_MONTH]. |
[SLA_THRESHOLDS] | Key performance thresholds for latency, availability, and error budget consumption. | {"p95_latency_ms": 2000, "availability_pct": 99.5, "error_budget_burn_pct": 80} | Must parse as valid JSON object. Required fields: p95_latency_ms, availability_pct, error_budget_burn_pct. Reject if thresholds are negative or availability_pct > 100. Approval required if thresholds changed from prior month. |
[FAILURE_CATEGORIES] | Taxonomy of failure modes to classify trace errors against. | ["tool_call_timeout", "invalid_schema", "refusal", "hallucination", "routing_error"] | Must be a non-empty JSON array of strings. Reject if duplicates present. Cross-check: every failure in [TRACE_DATA] must map to at least one category or be flagged as uncategorized in output. |
[STAKEHOLDER_AUDIENCE] | Target audience persona for tone, abstraction level, and recommendation framing. | executive_leadership | Must be one of enum: executive_leadership, engineering_lead, product_manager, compliance_officer. Reject unknown values. Controls output abstraction level and metric emphasis. |
[OUTPUT_SCHEMA] | Expected JSON structure for the report output, defining sections and field types. | {"sections": ["executive_summary", "trend_analysis", "top_failure_modes", "recommendations"]} | Must parse as valid JSON schema definition. Required sections: executive_summary, trend_analysis, top_failure_modes, recommendations. Reject if schema allows unbounded text fields without length constraints. |
[CONFIDENCE_THRESHOLD] | Minimum confidence score for statistical claims in the report. Claims below threshold must be flagged. | 0.85 | Must be a float between 0.0 and 1.0. Reject if below 0.7 for production use. Output validator must check that all trend claims have confidence scores and flag any below this threshold for human review. |
Implementation Harness Notes
How to wire the Monthly Trace Health Report prompt into a production reporting pipeline with validation, retries, and human review.
This prompt is not a one-off chat interaction; it is a scheduled reporting job that must run reliably, produce auditable output, and fail gracefully when inputs are incomplete. The implementation harness wraps the LLM call in application logic that handles data assembly, validation, retry recovery, and delivery. For a monthly health report, the pipeline typically runs on the first business day of the month, pulling trace data from an observability store (e.g., Datadog, LangSmith, Arize, or an internal trace warehouse) and assembling the [TRACE_METRICS_JSON], [PREVIOUS_REPORT_SUMMARY], and [ORGANIZATIONAL_CONTEXT] placeholders before the prompt is rendered.
Data assembly and pre-processing is the first harness stage. The application must query the trace store for the target month's metrics: total requests, error rates, P50/P95/P99 latency, token consumption, tool-call success rates, eval pass rates, and refusal counts. These should be aggregated into a structured JSON payload matching the [TRACE_METRICS_JSON] schema the prompt expects. The harness should also fetch the previous month's report summary for trend comparison and any organizational context (team changes, model upgrades, infrastructure migrations) that occurred during the period. If any required data source is unavailable or returns null, the harness should abort with a clear error log rather than passing incomplete data to the model, which would produce a misleading report.
Validation and retry logic must operate at two levels. First, validate the assembled input data: check that metric values are within plausible ranges, that date windows are correct, and that required fields are present. Second, validate the model's output against the expected schema. The prompt requests a JSON structure with executive_summary, trend_analysis, top_failure_modes, improvement_recommendations, and data_quality_notes fields. The harness should parse the response, confirm all required fields exist, verify that numeric claims in the summary match the input metrics, and flag any hallucinated statistics not present in the source data. If validation fails, retry once with the same prompt plus the validation error message appended as a correction hint. If the second attempt also fails, escalate to a human reviewer with the raw trace data and both failed outputs attached.
Model selection and cost control are critical for a monthly pipeline that may process large trace volumes. Use a model with strong structured output capabilities and a context window large enough to hold the full metrics payload plus the prompt. GPT-4o or Claude 3.5 Sonnet are appropriate defaults; avoid smaller models that may hallucinate trend interpretations or fail to maintain statistical precision. If the trace data payload exceeds ~8K tokens, consider pre-summarizing raw trace samples before passing them to the report prompt, or use a two-stage pipeline where a first pass extracts representative examples and a second pass generates the report. Always log token usage, latency, and cost per run for budget tracking.
Human review and delivery complete the harness. For a monthly report going to leadership, the output should never be sent directly from the model to stakeholders without review. Route the validated output to a review queue where an engineering manager can confirm that trend interpretations are accurate, failure modes are correctly prioritized, and recommendations are actionable. The review interface should display the input metrics alongside the generated report so the reviewer can spot-check claims. After approval, the report can be delivered via email, Slack, or a dashboard. Store the approved report as the [PREVIOUS_REPORT_SUMMARY] for next month's run, closing the feedback loop. Log every run's input, output, validation results, review decision, and delivery status for auditability.
Expected Output Contract
Defines the required structure and validation rules for the Monthly Trace Health Report. Use this contract to programmatically validate the model's output before it reaches a stakeholder.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
report_title | string | Must match the pattern 'Monthly Trace Health Report: [YYYY-MM]'. Parse check. | |
executive_summary | string | Length must be between 100 and 500 characters. Not null or empty. | |
overall_health_score | string | Must be one of the enum values: 'Healthy', 'At Risk', 'Critical'. Enum check. | |
key_metrics.total_traces_analyzed | integer | Must be a positive integer. Schema check. | |
key_metrics.overall_success_rate | number | Must be a float between 0.0 and 100.0, representing a percentage. Range check. | |
top_failure_modes | array of objects | Array must contain 1-5 objects. Each object must have 'failure_category' (string) and 'occurrence_percentage' (number). Schema and length check. | |
trend_analysis.summary | string | Must explicitly compare current month metrics to the previous month. Contains check for comparison keywords like 'increase', 'decrease', or 'stable'. | |
improvement_recommendations | array of strings | Array must contain 1-3 actionable, non-generic recommendations. Each string must be longer than 20 characters. Content quality check. | |
data_anomalies | array of strings | If present, each string must describe a specific statistical outlier with a date or metric reference. Null allowed. |
Common Failure Modes
What breaks first when synthesizing monthly trace health reports and how to guard against it.
Statistical Overconfidence
What to watch: The model treats small sample sizes or volatile week-over-week data as definitive trends, declaring 'significant' changes without statistical backing. Guardrail: Require the prompt to report raw counts alongside percentages and add an eval check that flags any claim of a 'trend' when the absolute change is fewer than [N] events.
Hallucinated Incident Narratives
What to watch: The model invents a plausible-sounding root cause or remediation story for a spike in errors, rather than sticking to the trace evidence provided. Guardrail: Constrain the output schema to separate 'Observed Data' from 'Hypothesized Cause.' Add a grounding eval that verifies every causal claim is directly linked to a trace attribute in the input.
Loss of Diagnostic Signal
What to watch: The summarization is too aggressive, collapsing distinct failure modes (e.g., timeout vs. auth error) into a vague 'Infrastructure Issues' bucket, hiding critical details from engineering. Guardrail: Provide a strict, pre-defined taxonomy of failure categories in the prompt. Use an eval to measure the preservation of unique error codes from input to output.
Metric Cherry-Picking
What to watch: The model highlights a single positive metric (e.g., latency improvement) while burying a simultaneous negative metric (e.g., accuracy drop) in an appendix, creating a misleadingly optimistic report. Guardrail: Instruct the prompt to generate a mandatory 'Trade-offs and Regressions' section that explicitly pairs any highlighted improvement with a corresponding negative movement.
Stale Context Window Contamination
What to watch: When processing large monthly trace dumps, the model ignores the most recent week's data because it fell out of the effective attention window, reporting on stale mid-month patterns. Guardrail: Structure the input by feeding data in reverse chronological order and explicitly instruct the model to prioritize the first [N] tokens of context for trend analysis.
Actionable Recommendation Vacuity
What to watch: The 'Recommendations' section is filled with generic platitudes like 'investigate further' or 'monitor closely' that provide zero engineering direction. Guardrail: Add a constraint requiring every recommendation to include a specific system component, a concrete action verb, and a measurable success criterion. Use an LLM judge to score recommendation specificity.
Evaluation Rubric
Score each dimension before the Monthly Trace Health Report reaches leadership. Ship only when all criteria pass. Use automated checks where possible; escalate to human review for narrative and recommendation quality.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Statistical Accuracy | All reported metrics (latency, error rate, volume) match source trace data within ±2% tolerance | Metric in report differs from source query by >2% or uses undefined aggregation method | Automated: Run source queries against trace store and diff numeric values in report output |
Trend Direction Correctness | All trend statements (improving, degrading, stable) match the sign and magnitude of the actual change | Report claims improvement when metric worsened, or describes flat trend when change exceeds significance threshold | Automated: Compare trend adjectives to computed slope direction and p-value from source data |
Failure Mode Completeness | Top 3 failure categories by frequency are present with correct percentages and representative examples | Missing a failure category that accounts for >10% of errors, or percentages sum to >105% | Automated: Extract failure categories from report, rank by reported frequency, cross-check against trace classification output |
Insight Density | Report contains at least 3 actionable recommendations tied to specific failure modes or trends | Recommendations are generic (e.g., 'improve reliability'), fewer than 3, or not linked to any data point in the report | Human review: Count recommendations, verify each references a specific metric or failure mode from the report body |
Abstraction Appropriateness | Executive summary uses business-impact language without raw trace jargon; technical appendix preserves diagnostic detail | Executive summary contains tool-call IDs, stack traces, or model version strings; technical appendix is missing or empty | Human review: Scan executive summary for banned technical terms; confirm appendix section exists and contains structured detail |
Time Period Integrity | Report covers exactly the specified month range; no data from outside the window is included in aggregations | Report references dates outside [START_DATE] to [END_DATE] range, or month label doesn't match the data window | Automated: Extract all date references from report, validate against input date range parameters |
Anomaly Flagging Accuracy | All flagged anomalies correspond to statistically significant deviations (>2σ from rolling mean) with correct severity | Anomaly flagged for normal variance, or genuine anomaly missed; severity labeled Critical for sub-1% deviation | Automated: Compare flagged anomaly timestamps and severities against statistical outlier detection on source trace data |
Source Grounding | Every quantitative claim traces to a specific data source, query, or trace segment referenced in the appendix | Claim states 'error rates increased' without citing the metric name, source system, or query used to derive it | Automated: Parse report for quantitative claims, verify each has a corresponding source reference in the appendix section |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base prompt and a CSV export of 50–100 traces. Remove strict schema requirements and let the model produce a narrative summary first. Use a simple instruction: Analyze the following monthly trace data and produce a health report with trends, top failure modes, and recommendations.
Watch for
- Hallucinated metrics not present in the input data
- Overly broad trend statements without numerical support
- Missing failure mode categorization

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us