Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Rondoflow I18n

ASecurity

Add or change user-facing UI strings in RondoFlow across all three locales (en/sk/es) without breaking the catalog parity test. Use whenever you add, rename, or remove a translation key, create a new i18n namespace, or touch any file under packages/ui/src/lib/i18n/locales/.

19 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agentsgoshellbashsqlreactnextjsgit

Works with

claude code

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add rondoflow/rondoflow --skill rondoflow-i18n --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rondoflow I18n?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Rondoflow I18n
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rondoflow-rondoflow-i18n/badge)](https://www.skillsdirectory.com/skills/rondoflow-rondoflow-i18n)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: rondoflow-i18n
description: Add or change user-facing UI strings in RondoFlow across all three locales (en/sk/es) without breaking the catalog parity test. Use whenever you add, rename, or remove a translation key, create a new i18n namespace, or touch any file under packages/ui/src/lib/i18n/locales/.
---

# RondoFlow i18n

Every user-facing string in the Next.js UI goes through `react-i18next`. English (`en`) is
the default and the typing source of truth; **Slovak (`sk`)** and **Spanish (`es`)** must stay
in lockstep. A vitest catalog test enforces this — skipping a locale fails CI.

## Layout

```
packages/ui/src/lib/i18n/
├── config.ts        # SUPPORTED_LOCALES, DEFAULT_LOCALE, I18N_NAMESPACES (the registry)
├── resources.ts     # eager imports of every <locale>/<ns>.json → the `resources` map
├── index.ts         # i18next instance
├── locales/{en,sk,es}/<namespace>.json
└── __tests__/locales.test.ts   # parity + no-empty + interpolation test
```

- **Locales:** `en` (default), `sk`, `es` — defined in `config.ts:SUPPORTED_LOCALES`.
- **Namespaces** (one JSON file per feature, per locale) are listed in `config.ts:I18N_NAMESPACES`:
  `common`, `shell`, `canvas`, `auth`, `settings`, `onboarding`, `notifications`,
  `agentDrawer`, `discussions`, `analytics`, `resources`, `scheduling`, `git`, `admin`,
  `panelsMisc`, `app`.
- **`common`** holds shared actions/status plus domain terminology (e.g. Agent→Assistant).
  Reuse those from other namespaces with the `common:` prefix in `t()`.

## Rendering strings in components

```tsx
import { useTranslation } from 'react-i18next'

const { t } = useTranslation('canvas')          // pick the namespace
t('toolbar.run')                                  // key within that namespace
t('common:actions.save')                          // borrow a shared key
t('runs.count', { count: n })                     // interpolation / plurals
```

## Adding or changing a key — checklist

1. **Add the key to ALL THREE files** for the namespace:
   `locales/en/<ns>.json`, `locales/sk/<ns>.json`, `locales/es/<ns>.json`.
   Same key path in each; translate the **value** (do not leave it equal to English unless
   the term is intentionally identical).
2. **Keep interpolation variables identical** across locales. `{{count}}`, `{{name}}` etc.
   must appear in every locale's value — the test compares the *set* of `{{vars}}` per key.
3. **No empty values and no `[[TODO]]` markers** — the test rejects both.
4. **Plurals:** English uses `_one`/`_other`; Slovak may add `_few`. The test is
   plural-insensitive (it collapses `_zero|one|two|few|many|other` to a base key), so
   `sk` may legitimately have a `_few` variant `en` lacks — that does not count as an extra key.
5. **Render it** via `useTranslation('<ns>')` → `t('your.key')`.
6. **Run the catalog test** (see verify below).

## Adding a NEW namespace

Three coordinated edits — the test asserts every locale declares every namespace:

1. Create `locales/{en,sk,es}/<newns>.json` (all three, even if you only have English ready —
   but they must not be empty/`[[TODO]]`, so translate up front).
2. Add `'<newns>'` to `I18N_NAMESPACES` in `config.ts`.
3. Wire it in `resources.ts`: add the three `import` lines and add the key under each locale
   in the `resources` object. (`config.ts` even says: *"Keep in sync with resources.ts."*)

## What NOT to translate

Code identifiers, model IDs (`claude-opus-4-8`), tool names, URLs, env-var names, and brand
names — **RondoFlow, Claude Code, Anthropic, PostgreSQL, Prisma**, etc. Locale autonyms in
`config.ts:LOCALE_LABELS` are also intentionally left in their own language.

## Verify (always run before declaring done)

```bash
cd packages/ui && npx vitest run src/lib/i18n/__tests__/locales.test.ts
```

The test (`__tests__/locales.test.ts`) enforces, per namespace:
- **Every namespace exists for every locale.**
- **`sk` and `es` have exactly the same (base, plural-insensitive) keys as `en`** — reports
  `missing` and `extra` keys.
- **No empty / `[[TODO]]` values** in any locale.
- **Interpolation `{{variables}}` match `en`** per key.

A failure prints the exact offending keys — fix those and re-run. The slash command
`/i18n-check` runs this same test.

Attribution

rondoflowrondoflow
View sourceMore from rondoflow →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1066601 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

651 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →