What problem does it solve? Adding observability to a FastAPI + LLM stack is error-prone: spans get orphaned in async code, raw prompts leak into logs, and token costs go untracked. This Skill provides a complete, privacy-safe OpenTelemetry instrumentation pattern for the Portal Centralizado de Datos Financieros. ## Core Features & Use Cases - Structured trace hierarchy: Automatic FastAPI request traces with nested sub-spans (db.retrieval, rag.retrieval, llm.call, llm.postprocess) and verified async context propagation. - FinOps telemetry: Captures llm.usage.prompt_tokens, llm.usage.completion_tokens, llm.usage.total_tokens, model name, tool-call counts, and TTFT for streaming requests, feeding a tokens/cost dashboard. - Privacy by design: Raw prompt content never reaches traces or logs; only a SHA-256 llm.prompt_hash computed at the single Gemini egress point, plus a grep-based privacy verification check. - Use Case: Instrument a RAG chat endpoint so every request produces a Cloud Trace span tree with token usage and TTFT attributes, then build a daily cost dashboard from the exported spans. ## Quick Start Ask the AI to instrument the FastAPI app with OpenTelemetry following the portal-observability rules, including the llm.call span with FinOps attributes and prompt hashing.