npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin gamma-packWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Implement comprehensive observability for Gamma integrations. Use when setting up monitoring, logging, tracing, or building dashboards for Gamma API usage. Trigger with phrases like "gamma monitoring", "gamma logging", "gamma metrics", "gamma observability", "gamma dashboard".
This skill is limited to using the following tools:
references/implementation.mdGamma Observability
Contents
Overview
Implement the three pillars of observability (metrics, logging, tracing) for Gamma integrations with alerting and dashboards.
Prerequisites
- Observability stack (Prometheus, Grafana, or cloud equivalent)
- Log aggregation (ELK, CloudWatch, or similar)
- APM tool (Datadog, New Relic, or OpenTelemetry)
Instructions
Step 1: Instrument Metrics
Add Prometheus counters (request total, presentations created), histograms (request duration), and gauges (rate limit remaining) to the Gamma client via interceptors.
Step 2: Add Structured Logging
Configure Winston with JSON format, timestamps, and service metadata. Log requests, responses, and errors with sanitized parameters (no API keys).
Step 3: Enable Distributed Tracing
Use OpenTelemetry to create spans for Gamma API calls with operation name, success status, and error recording.
Step 4: Build Dashboard
Create Grafana dashboard with request rate, latency p95, error rate, and rate limit remaining panels.
Step 5: Configure Alerts
- High error rate (>5% for 5 min)
- Rate limit critically low (<10 remaining)
- High latency (p95 > 5s for 5 min)
Step 6: Add Health Check
Endpoint that pings Gamma API and reports status (healthy/degraded/unhealthy) with latency and rate limit info.
See detailed implementation for Prometheus metrics, Winston logger, OpenTelemetry tracing, Grafana dashboard JSON, alert rules, and health check endpoint.
Output
- Prometheus metrics on all API calls
- Structured JSON logging with sanitized params
- Distributed tracing with OpenTelemetry spans
- Grafana dashboard with key metrics
- Alert rules for errors, rate limits, and latency
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Metrics not appearing | Registry not exposed | Add /metrics endpoint serving registry |
| Missing traces | Tracer not initialized | Initialize OpenTelemetry SDK at startup |
| Log volume too high | Debug level in prod | Set LOG_LEVEL to 'info' or 'warn' |
| False alerts | Thresholds too sensitive | Tune alert thresholds to traffic patterns |
Examples
Quick Health Check
set -euo pipefail
curl http://localhost:3000/health/gamma | jq # 3000: 3 seconds in ms
# { "status": "healthy", "latency": 150, "rateLimit": { "remaining": 95, "limit": 100 } }
Resources
Next Steps
Proceed to gamma-incident-runbook for incident response.
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.