posthog-debug-bundle
Collect PostHog debug evidence for support tickets and troubleshooting.Use when encountering persistent issues, preparing support tickets,or collecting diagnostic information for PostHog problems.Trigger with phrases like "posthog debug", "posthog support bundle","collect posthog logs", "posthog diagnostic".
When & Why to Use This Skill
This Claude skill automates the collection of PostHog diagnostic evidence, including environment details, SDK versions, redacted logs, and network connectivity status. It streamlines the troubleshooting process for developers and support teams by generating a standardized debug bundle, ensuring all necessary information is captured while protecting sensitive data for faster issue resolution.
Use Cases
- Preparing a comprehensive support ticket for PostHog technical staff when encountering persistent integration errors or data discrepancies.
- Diagnosing local environment configuration issues or SDK version mismatches that affect PostHog event tracking performance.
- Verifying network connectivity to PostHog APIs and checking service health status during suspected outages or latency issues.
- Collecting and redacting application logs to share with team members for internal debugging without exposing sensitive API keys or PII.
| name | posthog-debug-bundle |
|---|---|
| description | | |
| allowed-tools | Read, Bash(grep:*), Bash(curl:*), Bash(tar:*), Grep |
| version | 1.0.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
PostHog Debug Bundle
Overview
Collect all necessary diagnostic information for PostHog support tickets.
Prerequisites
- PostHog SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash
# posthog-debug-bundle.sh
BUNDLE_DIR="posthog-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== PostHog Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date)" >> "$BUNDLE_DIR/summary.txt"
Step 2: Collect Environment Info
# Environment info
echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt"
node --version >> "$BUNDLE_DIR/summary.txt" 2>&1
npm --version >> "$BUNDLE_DIR/summary.txt" 2>&1
echo "POSTHOG_API_KEY: ${POSTHOG_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and Logs
# SDK version
npm list @posthog/sdk 2>/dev/null >> "$BUNDLE_DIR/summary.txt"
# Recent logs (redacted)
grep -i "posthog" ~/.npm/_logs/*.log 2>/dev/null | tail -50 >> "$BUNDLE_DIR/logs.txt"
# Configuration (redacted - secrets masked)
echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
cat .env 2>/dev/null | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE_DIR/config-redacted.txt"
# Network connectivity test
echo "--- Network Test ---" >> "$BUNDLE_DIR/summary.txt"
echo -n "API Health: " >> "$BUNDLE_DIR/summary.txt"
curl -s -o /dev/null -w "%{http_code}" https://api.posthog.com/health >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
Step 4: Package Bundle
tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
echo "Bundle created: $BUNDLE_DIR.tar.gz"
Output
posthog-debug-YYYYMMDD-HHMMSS.tar.gzarchive containing:summary.txt- Environment and SDK infologs.txt- Recent redacted logsconfig-redacted.txt- Configuration (secrets removed)
Error Handling
| Item | Purpose | Included |
|---|---|---|
| Environment versions | Compatibility check | ✓ |
| SDK version | Version-specific bugs | ✓ |
| Error logs (redacted) | Root cause analysis | ✓ |
| Config (redacted) | Configuration issues | ✓ |
| Network test | Connectivity issues | ✓ |
Examples
Sensitive Data Handling
ALWAYS REDACT:
- API keys and tokens
- Passwords and secrets
- PII (emails, names, IDs)
Safe to Include:
- Error messages
- Stack traces (redacted)
- SDK/runtime versions
Submit to Support
- Create bundle:
bash posthog-debug-bundle.sh - Review for sensitive data
- Upload to PostHog support portal
Resources
Next Steps
For rate limit issues, see posthog-rate-limits.