xiaohongshu
xiaohongshu
lokalise-debug-bundle
Collect Lokalise debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic information for Lokalise problems. Trigger with phrases like "lokalise debug", "lokalise support bundle", "collect lokalise logs", ...
Full skill instructions
Collect all necessary diagnostic information for Lokalise support tickets.
#!/bin/bash
# lokalise-debug-bundle.sh
set -e
BUNDLE_DIR="lokalise-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== Lokalise Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date)" >> "$BUNDLE_DIR/summary.txt"
echo "Hostname: $(hostname)" >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
# Environment info
echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt"
echo "Node version: $(node --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt"
echo "npm version: $(npm --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt"
echo "lokalise2 version: $(lokalise2 --version 2>/dev/null || echo 'not installed')" >> "$BUNDLE_DIR/summary.txt"
echo "LOKALISE_API_TOKEN: ${LOKALISE_API_TOKEN:+[SET - ${#LOKALISE_API_TOKEN} chars]}" >> "$BUNDLE_DIR/summary.txt"
echo "LOKALISE_PROJECT_ID: ${LOKALISE_PROJECT_ID:-[NOT SET]}" >> "$BUNDLE_DIR/summary.txt"
# SDK version
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- SDK Info ---" >> "$BUNDLE_DIR/summary.txt"
npm list @lokalise/node-api 2>/dev/null >> "$BUNDLE_DIR/summary.txt" || echo "SDK not installed" >> "$BUNDLE_DIR/summary.txt"
# Project info (if token is set)
if [ -n "$LOKALISE_API_TOKEN" ]; then
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Project Info ---" >> "$BUNDLE_DIR/summary.txt"
# Get project details
curl -s -X GET "https://api.lokalise.com/api2/projects" \
-H "X-Api-Token: $LOKALISE_API_TOKEN" \
| jq '.projects[] | {name, project_id, team_id, created_at}' \
>> "$BUNDLE_DIR/projects.json" 2>/dev/null || echo "Failed to fetch projects" >> "$BUNDLE_DIR/summary.txt"
fi
# Network connectivity test
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Network Tests ---" >> "$BUNDLE_DIR/summary.txt"
# DNS resolution
echo -n "DNS resolution: " >> "$BUNDLE_DIR/summary.txt"
host api.lokalise.com >> "$BUNDLE_DIR/summary.txt" 2>&1 || echo "FAILED" >> "$BUNDLE_DIR/summary.txt"
# API health check
echo -n "API Health: " >> "$BUNDLE_DIR/summary.txt"
curl -s -o /dev/null -w "%{http_code}" "https://api.lokalise.com/api2/system/health" >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
# Response time
echo -n "API Response Time: " >> "$BUNDLE_DIR/summary.txt"
curl -s -o /dev/null -w "%{time_total}s" "https://api.lokalise.com/api2/system/health" >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
# Check rate limit headers
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Rate Limit Status ---" >> "$BUNDLE_DIR/summary.txt"
if [ -n "$LOKALISE_API_TOKEN" ]; then
curl -s -I -X GET "https://api.lokalise.com/api2/projects" \
-H "X-Api-Token: $LOKALISE_API_TOKEN" \
| grep -i "x-ratelimit" >> "$BUNDLE_DIR/summary.txt" 2>/dev/null
fi
# Recent application logs (redacted)
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Recent Logs (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
# Search for Lokalise-related logs
if [ -d "./logs" ]; then
grep -i "lokalise" ./logs/*.log 2>/dev/null | tail -100 \
| sed 's/X-Api-Token: [^""]*/X-Api-Token: [REDACTED]/g' \
| sed 's/apiKey": "[^"]*"/apiKey": "[REDACTED]"/g' \
>> "$BUNDLE_DIR/logs-redacted.txt"
fi
# npm logs if available
if [ -d ~/.npm/_logs ]; then
grep -l "lokalise" ~/.npm/_logs/*.log 2>/dev/null | tail -5 | while read f; do
cat "$f" | sed 's/token=[^&]*/token=[REDACTED]/g' >> "$BUNDLE_DIR/npm-logs-redacted.txt"
done
fi
# Config files (redacted)
echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
if [ -f ".env" ]; then
grep -i lokalise .env 2>/dev/null | sed 's/=.*/=[REDACTED]/' >> "$BUNDLE_DIR/config-redacted.txt"
fi
if [ -f "lokalise.json" ]; then
cat lokalise.json | jq 'del(.token)' >> "$BUNDLE_DIR/lokalise-config.json" 2>/dev/null
fi
# Create archive
tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
echo ""
echo "Debug bundle created: $BUNDLE_DIR.tar.gz"
echo ""
echo "Contents:"
ls -la "$BUNDLE_DIR/"
echo ""
echo "IMPORTANT: Review the bundle for any remaining sensitive data before sharing!"
# Cleanup directory (keep tar.gz)
rm -rf "$BUNDLE_DIR"
lokalise-debug-YYYYMMDD-HHMMSS.tar.gz archive containing:
summary.txt - Environment, SDK, and network infoprojects.json - Project listing (if token available)logs-redacted.txt - Application logs with secrets removedconfig-redacted.txt - Configuration with secrets removed| Item | Purpose | Included |
|---|---|---|
| Environment versions | Compatibility check | Yes |
| SDK version | Version-specific bugs | Yes |
| Network tests | Connectivity issues | Yes |
| Rate limit status | Throttling issues | Yes |
| Error logs (redacted) | Root cause analysis | Yes |
| Config (redacted) | Configuration issues | Yes |
ALWAYS REDACT:
Safe to Include:
# Quick API test
curl -s -w "\nStatus: %{http_code}\nTime: %{time_total}s\n" \
-H "X-Api-Token: $LOKALISE_API_TOKEN" \
"https://api.lokalise.com/api2/projects?limit=1" | jq '.projects[0].name // .error'
bash lokalise-debug-bundle.sh*.tar.gz contents for sensitive dataimport { LokaliseApi } from "@lokalise/node-api";
async function collectDebugInfo() {
const info: Record<string, any> = {
timestamp: new Date().toISOString(),
nodeVersion: process.version,
platform: process.platform,
};
try {
const client = new LokaliseApi({
apiKey: process.env.LOKALISE_API_TOKEN!,
});
// Test API connection
const start = Date.now();
const projects = await client.projects().list({ limit: 1 });
info.apiLatency = `${Date.now() - start}ms`;
info.projectCount = projects.total_count;
} catch (error: any) {
info.error = {
code: error.code,
message: error.message,
};
}
return info;
}
For rate limit issues, see lokalise-rate-limits.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience