Claude-skill-registry-data mistral-debug-bundle
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mistral-debug-bundle" ~/.claude/skills/majiayu000-claude-skill-registry-data-mistral-debug-bundle && rm -rf "$T"
manifest:
data/mistral-debug-bundle/SKILL.mdsource content
Mistral AI Debug Bundle
Overview
Collect all necessary diagnostic information for Mistral AI support tickets.
Prerequisites
- Mistral AI SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash # mistral-debug-bundle.sh BUNDLE_DIR="mistral-debug-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BUNDLE_DIR" echo "=== Mistral AI Debug Bundle ===" > "$BUNDLE_DIR/summary.txt" echo "Generated: $(date)" >> "$BUNDLE_DIR/summary.txt" echo "" >> "$BUNDLE_DIR/summary.txt"
Step 2: Collect Environment Info
# Environment info echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt" echo "Node.js: $(node --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt" echo "Python: $(python3 --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt" echo "npm: $(npm --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt" echo "pip: $(pip --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt" echo "OS: $(uname -a)" >> "$BUNDLE_DIR/summary.txt" echo "MISTRAL_API_KEY: ${MISTRAL_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt" echo "" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and API Info
# SDK version (Node.js) echo "--- SDK Versions ---" >> "$BUNDLE_DIR/summary.txt" npm list @mistralai/mistralai 2>/dev/null >> "$BUNDLE_DIR/summary.txt" || echo "Node SDK: not installed" >> "$BUNDLE_DIR/summary.txt" # SDK version (Python) pip show mistralai 2>/dev/null | grep -E "^(Name|Version)" >> "$BUNDLE_DIR/summary.txt" || echo "Python SDK: not installed" >> "$BUNDLE_DIR/summary.txt" echo "" >> "$BUNDLE_DIR/summary.txt" # API connectivity test echo "--- API Connectivity ---" >> "$BUNDLE_DIR/summary.txt" echo -n "API Status: " >> "$BUNDLE_DIR/summary.txt" HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \ -H "Authorization: Bearer ${MISTRAL_API_KEY}" \ https://api.mistral.ai/v1/models) echo "$HTTP_STATUS" >> "$BUNDLE_DIR/summary.txt" # List available models (redact API key from output) echo "" >> "$BUNDLE_DIR/summary.txt" echo "--- Available Models ---" >> "$BUNDLE_DIR/summary.txt" curl -s -H "Authorization: Bearer ${MISTRAL_API_KEY}" \ https://api.mistral.ai/v1/models 2>/dev/null | \ jq -r '.data[].id' 2>/dev/null >> "$BUNDLE_DIR/summary.txt" || \ echo "Could not fetch models" >> "$BUNDLE_DIR/summary.txt" echo "" >> "$BUNDLE_DIR/summary.txt"
Step 4: Collect Logs (Redacted)
# Recent logs (redacted) echo "--- Recent Logs (redacted) ---" >> "$BUNDLE_DIR/logs.txt" if [ -d "logs" ]; then grep -i "mistral" logs/*.log 2>/dev/null | tail -100 >> "$BUNDLE_DIR/logs.txt" fi # npm debug logs if [ -d "$HOME/.npm/_logs" ]; then grep -i "mistral" "$HOME/.npm/_logs"/*.log 2>/dev/null | tail -50 >> "$BUNDLE_DIR/logs.txt" fi # Configuration (redacted - secrets masked) echo "" >> "$BUNDLE_DIR/summary.txt" echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt" if [ -f ".env" ]; then cat .env 2>/dev/null | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE_DIR/config-redacted.txt" fi # package.json dependencies if [ -f "package.json" ]; then echo "" >> "$BUNDLE_DIR/summary.txt" echo "--- Dependencies ---" >> "$BUNDLE_DIR/summary.txt" jq '.dependencies, .devDependencies' package.json 2>/dev/null >> "$BUNDLE_DIR/summary.txt" fi
Step 5: Capture Error Details
# Error reproduction script cat > "$BUNDLE_DIR/reproduce.sh" << 'SCRIPT' #!/bin/bash # Minimal reproduction script curl -X POST https://api.mistral.ai/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${MISTRAL_API_KEY}" \ -d '{ "model": "mistral-small-latest", "messages": [{"role": "user", "content": "Hello"}] }' 2>&1 echo "" echo "Exit code: $?" SCRIPT chmod +x "$BUNDLE_DIR/reproduce.sh"
Step 6: Package Bundle
# Create timestamp file echo "Bundle created: $(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$BUNDLE_DIR/timestamp.txt" # Package everything tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR" rm -rf "$BUNDLE_DIR" echo "Bundle created: $BUNDLE_DIR.tar.gz" echo "" echo "IMPORTANT: Review the bundle for sensitive data before sharing!" echo "Run: tar -tzf $BUNDLE_DIR.tar.gz"
Complete Script
#!/bin/bash # mistral-debug-bundle.sh - Complete version set -e BUNDLE_DIR="mistral-debug-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BUNDLE_DIR" echo "Creating Mistral AI debug bundle..." # Summary file cat > "$BUNDLE_DIR/summary.txt" << EOF === Mistral AI Debug Bundle === Generated: $(date) Hostname: $(hostname) --- Environment --- Node.js: $(node --version 2>/dev/null || echo 'not installed') Python: $(python3 --version 2>/dev/null || echo 'not installed') OS: $(uname -a) MISTRAL_API_KEY: ${MISTRAL_API_KEY:+[SET]} --- SDK Versions --- EOF npm list @mistralai/mistralai 2>/dev/null >> "$BUNDLE_DIR/summary.txt" || echo "Node SDK: not installed" >> "$BUNDLE_DIR/summary.txt" pip show mistralai 2>/dev/null | grep -E "^(Name|Version)" >> "$BUNDLE_DIR/summary.txt" || echo "Python SDK: not installed" >> "$BUNDLE_DIR/summary.txt" echo "" >> "$BUNDLE_DIR/summary.txt" echo "--- API Test ---" >> "$BUNDLE_DIR/summary.txt" HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: Bearer ${MISTRAL_API_KEY}" https://api.mistral.ai/v1/models 2>/dev/null) echo "HTTP Status: $HTTP_STATUS" >> "$BUNDLE_DIR/summary.txt" # Redacted config if [ -f ".env" ]; then cat .env | sed 's/=.*/=***REDACTED***/' > "$BUNDLE_DIR/config-redacted.txt" fi # Package tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR" rm -rf "$BUNDLE_DIR" echo "Bundle created: $BUNDLE_DIR.tar.gz"
Output
archive containing:mistral-debug-YYYYMMDD-HHMMSS.tar.gz
- Environment and SDK infosummary.txt
- Recent redacted logslogs.txt
- Configuration (secrets removed)config-redacted.txt
- Minimal reproduction scriptreproduce.sh
Error Handling
| Item | Purpose | Included |
|---|---|---|
| Environment versions | Compatibility check | Yes |
| SDK version | Version-specific bugs | Yes |
| Error logs (redacted) | Root cause analysis | Yes |
| Config (redacted) | Configuration issues | Yes |
| API connectivity test | Network issues | Yes |
Sensitive Data Handling
ALWAYS REDACT:
- API keys and tokens
- Passwords and secrets
- PII (emails, names, IDs)
- Internal URLs and IPs
Safe to Include:
- Error messages
- Stack traces (redacted)
- SDK/runtime versions
- HTTP status codes
TypeScript Debug Helper
interface DebugInfo { timestamp: string; sdkVersion: string; nodeVersion: string; apiKeySet: boolean; lastError?: { message: string; status?: number; requestId?: string; }; } function collectDebugInfo(error?: Error): DebugInfo { return { timestamp: new Date().toISOString(), sdkVersion: require('@mistralai/mistralai/package.json').version, nodeVersion: process.version, apiKeySet: !!process.env.MISTRAL_API_KEY, lastError: error ? { message: error.message, status: (error as any).status, requestId: (error as any).requestId, } : undefined, }; } // Usage try { await client.chat.complete({ /* ... */ }); } catch (error) { const debug = collectDebugInfo(error as Error); console.error('Debug info:', JSON.stringify(debug, null, 2)); }
Resources
Next Steps
For rate limit issues, see
mistral-rate-limits.