Agent skill

Lokalise Common Errors

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Diagnose and fix Lokalise common errors and exceptions. An agent skill from jeremylongshore/tons-of-skills-marketplace.

MITAuto-check passedDevelopment

Install Lokalise Common Errors

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill lokalise-common-errors -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace lokalise-common-errors --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/lokalise-common-errors .claude/skills/lokalise-common-errors && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lokalise-common-errors
GitHub stars
2.8k
Token cost
~2.7k tokens
SKILL.md length
547 words
Files
3 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and fix Lokalise common errors and exceptions. An agent skill from jeremylongshore/tons-of-skills-marketplace.

  • Works in 4 steps: Understand the Error Response Format → Diagnose by Status Code → Run Diagnostic Commands → …
  • Encountering Lokalise errors
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
  • Calls curl and jq; reaches api.lokalise.com and status.lokalise.com; needs LOKALISE_API_TOKEN

What it does

Lokalise Common Errors is an agent skill from jeremylongshore/tons-of-skills-marketplace. Diagnose and fix Lokalise common errors and exceptions. Use when encountering Lokalise errors, debugging failed requests, or troubleshooting integration issues. Trigger with phrases like "lokalise error", "fix lokalise", "lokalise not working", "debug lokalise", "lokalise 401", "lokalise 429".

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/implementation-guide.md` and `references/implementation.md`). Compatibility notes: Designed for Claude Code

It sits in Development, covering Debugging. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Encountering Lokalise errors
  • Debugging failed requests
  • Troubleshooting integration issues
  • With phrases like lokalise error

Example prompts

  • “lokalise error”
  • “fix lokalise”
  • “lokalise not working”
  • “/lokalise-common-errors”

Requirements

  • A credential in LOKALISE_API_TOKEN
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Grep, Bash(curl:*), Bash(lokalise2:*)

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Understand the Error Response Format
  2. Diagnose by Status Code
  3. Run Diagnostic Commands
  4. Build a Reusable Error Handling Wrapper

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Bash(curl:*)
    • Bash(lokalise2:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.lokalise.com
    • status.lokalise.com

    Also links to:

    • developers.lokalise.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LOKALISE_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Lokalise Common Errors loads about 2.7k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 547 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 547 words, ~2,698 tokens.

Download SKILL.mdSave it as .claude/skills/lokalise-common-errors/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
lokalise-common-errors
description
Diagnose and fix Lokalise common errors and exceptions. Use when encountering Lokalise errors, debugging failed requests, or troubleshooting integration issues. Trigger with phrases like "lokalise error", "fix lokalise", "lokalise not working", "debug lokalise", "lokalise 401", "lokalise 429".
allowed-tools
Read, Grep, Bash(curl:*), Bash(lokalise2:*)
compatibility
Designed for Claude Code
version
1.14.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, lokalise, debugging

Lokalise Common Errors

Overview

Every Lokalise API error returns a JSON body with a consistent structure. This skill covers the error response format, diagnosis of each HTTP status code (401, 400, 404, 429, 413, 500, 503), diagnostic curl commands for rapid troubleshooting, and a reusable error handling wrapper for the Node SDK.

Prerequisites

  • curl available for diagnostic commands
  • @lokalise/node-api SDK installed for the error wrapper
  • API token stored in LOKALISE_API_TOKEN environment variable
  • jq installed for parsing JSON responses (optional but recommended)

Instructions

1. Understand the Error Response Format

All Lokalise API errors return this structure:

json
{
  "error": {
    "message": "Human-readable error description",
    "code": 401
  }
}

The code field mirrors the HTTP status code. The message field provides specifics. When using the Node SDK, errors are thrown as exceptions with error.code, error.message, and error.headers properties.

2. Diagnose by Status Code
401 Unauthorized — Invalid or Missing API Token
json
{"error": {"message": "Invalid `X-Api-Token` header", "code": 401}}

Causes:

  • Token is incorrect, expired, or revoked
  • X-Api-Token header missing from request
  • Token copied with leading/trailing whitespace

Fix:

bash
# Verify your token works
curl -s -o /dev/null -w "%{http_code}" \
  -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/teams"

# Expected: 200
# If 401: regenerate token at https://app.lokalise.com/profile#apitokens
bash
# Check for whitespace in token
echo -n "$LOKALISE_API_TOKEN" | xxd | head -2
# Look for 0a (newline) or 20 (space) at start/end
400 Bad Request — Validation Errors
json
{"error": {"message": "Invalid parameter `platform` - must be one of: ios, android, web, other", "code": 400}}

Common 400 causes:

  • Invalid project_id format (must be {number}.{alphanumeric})
  • Missing required fields in POST/PUT body
  • Invalid language ISO code
  • Key name exceeding 256 characters
  • Invalid platform value (must be ios, android, web, or other)

Fix:

bash
# Validate project ID format
curl -s -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/projects/${PROJECT_ID}" | jq '.project_id'

# List valid languages for a project
curl -s -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/projects/${PROJECT_ID}/languages" \
  | jq '.languages[].lang_iso'
404 Not Found — Resource Does Not Exist
json
{"error": {"message": "Project not found", "code": 404}}

Causes:

  • Project ID is wrong or project was deleted
  • Key, translation, or webhook ID does not exist
  • Token lacks access to the specified project (appears as 404, not 403)

Fix:

bash
# List all accessible projects to find the correct ID
curl -s -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/projects?limit=100" \
  | jq '.projects[] | {project_id, name}'

# Verify a specific key exists
curl -s -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/projects/${PROJECT_ID}/keys/${KEY_ID}" \
  | jq '.key_id // .error'
429 Too Many Requests — Rate Limited
json
{"error": {"message": "Too many requests", "code": 429}}

The response includes a Retry-After header indicating seconds to wait.

Fix: See lokalise-rate-limits skill for full implementation. Quick recovery:

bash
# Check current rate limit status on any request
curl -s -D - -o /dev/null \
  -H "X-Api-Token: ${LOKALISE_API_TOKEN}" \
  "https://api.lokalise.com/api2/projects" 2>&1 \
  | grep -i "x-ratelimit\|retry-after"

# Output:
# X-RateLimit-Limit: 6
# X-RateLimit-Remaining: 5
# X-RateLimit-Reset: 1700000001
413 Payload Too Large — Request Body Exceeds Limit
json
{"error": {"message": "Request entity too large", "code": 413}}

Causes:

  • File upload exceeds 50 MB
  • Bulk key creation with too many keys in one request (max 500)
  • Translation value exceeds character limit

Fix:

  • Split bulk operations into batches of 500 items
  • Compress files before upload or split into smaller files
  • For large translation values, check if the content truly belongs in a translation key
Show full SKILL.md (228 more words)Show less
500 Internal Server Error / 503 Service Unavailable
json
{"error": {"message": "Internal server error", "code": 500}}

These are Lokalise-side issues. Do not retry immediately in a tight loop.

Fix:

bash
# Check Lokalise status page
curl -s "https://status.lokalise.com/api/v2/status.json" | jq '.status'

# If status is operational, retry after 30 seconds
# If status shows incident, wait for resolution

Retry strategy for 500/503: wait 30 seconds, retry up to 3 times, then alert.

3. Run Diagnostic Commands

Quick health check script to diagnose the most common issues in sequence:

bash
#!/bin/bash
# lokalise-diagnose.sh — Run against your environment
TOKEN="${LOKALISE_API_TOKEN}"
PROJECT="${LOKALISE_PROJECT_ID}"

echo "=== 1. Token validation ==="
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
  -H "X-Api-Token: $TOKEN" \
  "https://api.lokalise.com/api2/teams")
if [ "$STATUS" = "200" ]; then
  echo "Token: VALID"
else
  echo "Token: INVALID (HTTP $STATUS)"
  exit 1
fi

echo "=== 2. Project access ==="
curl -s -H "X-Api-Token: $TOKEN" \
  "https://api.lokalise.com/api2/projects/$PROJECT" \
  | jq '{project_id: .project_id, name: .name, team_id: .team_id}'

echo "=== 3. Rate limit status ==="
curl -s -D /dev/stderr -o /dev/null \
  -H "X-Api-Token: $TOKEN" \
  "https://api.lokalise.com/api2/projects" 2>&1 \
  | grep -i "x-ratelimit"

echo "=== 4. Key count ==="
curl -s -H "X-Api-Token: $TOKEN" \
  "https://api.lokalise.com/api2/projects/$PROJECT/keys?limit=1" \
  | jq '.project_id as $p | {project: $p, total_keys: .keys | length}'
4. Build a Reusable Error Handling Wrapper

Wrap all SDK calls with structured error handling:

typescript
import { LokaliseApi } from "@lokalise/node-api";

interface LokaliseError {
  code: number;
  message: string;
  headers?: Record<string, string>;
}

function isLokaliseError(error: unknown): error is LokaliseError {
  return (
    typeof error === "object" &&
    error !== null &&
    "code" in error &&
    "message" in error
  );
}

async function lokaliseCall<T>(
  fn: () => Promise<T>,
  context: string
): Promise<T> {
  try {
    return await fn();
  } catch (error) {
    if (!isLokaliseError(error)) throw error;

    switch (error.code) {
      case 401:
        throw new Error(
          `[${context}] Authentication failed. ` +
          `Regenerate token at https://app.lokalise.com/profile#apitokens`
        );
      case 400:
        throw new Error(
          `[${context}] Invalid request: ${error.message}. ` +
          `Check parameter values and required fields.`
        );
      case 404:
        throw new Error(
          `[${context}] Resource not found: ${error.message}. ` +
          `Verify the project/key/resource ID exists and token has access.`
        );
      case 429:
        console.warn(`[${context}] Rate limited. See lokalise-rate-limits.`);
        throw error; // Let the rate limit handler deal with retries
      case 413:
        throw new Error(
          `[${context}] Payload too large: ${error.message}. ` +
          `Split into smaller batches (max 500 items per request).`
        );
      case 500:
      case 503:
        throw new Error(
          `[${context}] Lokalise server error (${error.code}). ` +
          `Check https://status.lokalise.com — retry after 30s.`
        );
      default:
        throw new Error(
          `[${context}] Lokalise error ${error.code}: ${error.message}`
        );
    }
  }
}

// Usage
const lokalise = new LokaliseApi({ apiKey: process.env.LOKALISE_API_TOKEN! });

const keys = await lokaliseCall(
  () => lokalise.keys().list({ project_id: projectId, limit: 500 }),
  "listKeys"
);

Output

  • Identified error cause and specific fix for the HTTP status code encountered
  • Diagnostic curl commands validated against live API
  • Reusable error wrapper providing actionable messages per error type

Error Handling

CodeErrorRoot CauseResolution
401Invalid API TokenToken wrong, expired, or whitespaceRegenerate at Lokalise profile
400Bad RequestInvalid params, missing fieldsCheck API docs for required fields
404Not FoundWrong ID or no accessList resources to find correct ID
429Rate LimitedExceeded 6 req/secHonor Retry-After, use queue
413Payload Too LargeBody > 50 MB or > 500 itemsSplit into batches
500Internal Server ErrorLokalise-side failureCheck status page, retry after 30s
503Service UnavailableLokalise maintenance/outageCheck status page, wait

Examples

Quick Token Check (One-Liner)
bash
curl -s -H "X-Api-Token: $LOKALISE_API_TOKEN" \
  "https://api.lokalise.com/api2/teams" | jq '.teams[0].name // "INVALID TOKEN"'
SDK Error Inspection
typescript
try {
  await lokalise.keys().list({ project_id: "invalid" });
} catch (e: any) {
  console.log("Code:", e.code);       // 400
  console.log("Message:", e.message); // "Invalid project ID format"
  console.log("Headers:", e.headers); // rate limit headers
}
CLI Diagnostics
bash
# Verify CLI token
lokalise2 project list --token "$LOKALISE_API_TOKEN" --format json | jq '.[0].name'

# Test with verbose output
lokalise2 --debug file download \
  --token "$LOKALISE_API_TOKEN" \
  --project-id "$PROJECT_ID" \
  --format json \
  --dest ./locales/

Resources

Next Steps

For building resilient integrations that handle errors automatically, see lokalise-rate-limits. For debugging translation data issues, see lokalise-data-handling.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/.curated/lokalise-common-errors of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation-guide.md
  • references/implementation.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Lokalise Common Errors next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lokalise Common Errors compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lokalise Common Errors this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.7kAutomated safety check: PassMIT
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Gumroad Prod Consoleantiwork/gumroad9.8k—~2.9kAutomated safety check: NotesMIT
LangBot Plugin Developmentlangbot-app/LangBot18k—~3.9kAutomated safety check: PassApache-2.0
Keybase RPC Log Analysiskeybase/client9.3k—~3kAutomated safety check: PassBSD-3-Clause
Jazz UI Developmentgarden-co/classic-jazz2.5k—~1.7kAutomated safety check: PassMIT

Similar skills

  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Gumroad Prod Console

    antiwork/gumroad

    Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.

    9.8k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • LangBot Plugin Development

    langbot-app/LangBot

    Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.

    18k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Captures a clean Keybase service log and analyzes it for redundant, duplicated or looping RPCs, then checks whether a caching fix reduced the calls.

    9.3k GitHub stars~3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Jazz UI Development

    garden-co/classic-jazz

    A skill your agent uses when building, debugging, or optimizing Jazz applications.

    2.5k GitHub stars~1.7k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Logging Patterns

    decebals/claude-code-java

    Java logging best practices with SLF4J, structured logging (JSON), and MDC for request tracing.

    751 GitHub starsUsed in 1 repo~3.3k tokens
    DevelopmentAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Lokalise Common Errors

What does Lokalise Common Errors do?

Diagnose and fix Lokalise common errors and exceptions. An agent skill from jeremylongshore/tons-of-skills-marketplace. Lokalise Common Errors is an agent skill from jeremylongshore/tons-of-skills-marketplace. Diagnose and fix Lokalise common errors and exceptions.

When should I use Lokalise Common Errors?

Lokalise Common Errors fits situations like: encountering Lokalise errors; debugging failed requests; troubleshooting integration issues; with phrases like lokalise error.

How do I install Lokalise Common Errors in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lokalise-common-errors -a claude-code`. Or copy the skill folder (skills/.curated/lokalise-common-errors in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/lokalise-common-errors in your project. Claude Code loads it when a task matches its description.

How do I install Lokalise Common Errors in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lokalise-common-errors -a codex`. Or copy the skill folder (skills/.curated/lokalise-common-errors in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/lokalise-common-errors in your project. Codex loads it when a task matches its description.

Can I use Lokalise Common Errors in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill lokalise-common-errors -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lokalise-common-errors, .gemini/skills/lokalise-common-errors, .github/skills/lokalise-common-errors and .opencode/skills/lokalise-common-errors in your project.

What does Lokalise Common Errors need to run?

Going by SKILL.md and its folder, Lokalise Common Errors needs the command-line tools its instructions call (curl and jq) and credentials named LOKALISE_API_TOKEN. Our summary lists: A credential in LOKALISE_API_TOKEN. Its frontmatter pre-approves these tools: Read, Grep, Bash(curl:*), Bash(lokalise2:*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Lokalise Common Errors access the network?

SKILL.md names 4 domains. In commands or code: api.lokalise.com and status.lokalise.com; the agent is likely to contact these when it follows the instructions. As links in the text: developers.lokalise.com and github.com. This is read from the text; nothing was executed.

Is Lokalise Common Errors safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lokalise Common Errors use?

Lokalise Common Errors is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lokalise Common Errors use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to Lokalise Common Errors?

Skills that share tags, products or a category with Lokalise Common Errors: Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars), Gumroad Prod Console (antiwork/gumroad, 9.8k stars), LangBot Plugin Development (langbot-app/LangBot, 18k stars) and Keybase RPC Log Analysis (keybase/client, 9.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lokalise Common Errors?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.