Skip to content
Agentmart
Submit a tool

nuxt-ui-tools-i18n

Use this skill for internal i18n work in this repository.

Skill by ChronicStone

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/chronicstone-nuxt-ui-tools-i18n

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use this skill for internal i18n work in this repository. Covers locale ownership, provider wiring, lazy schema text contracts, and the maintenance surfaces that must stay in sync when package or playground translations change.

Use cases: design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/nuxt-ui-tools-i18n

What's inside

Skill name
nuxt-ui-tools-i18n
Description
Use this skill for internal i18n work in this repository. Covers locale ownership, provider wiring, lazy schema text contracts, and the maintenance surfaces that must stay in sync when package or playground translations change.
License
MIT
Instructions
128 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# nuxt-ui-tools I18n Maintainer

Use this skill for internal repository work involving:

- `src/runtime/i18n/*`
- package-owned table or spreadsheet copy
- locale message structure
- lazy schema text support
- playground translation architecture
- consumer guidance around translations

## Canonical Read Order

Read first:

- `AGENTS.md`
- `.agents/skills/nuxt-ui-tools-maintainer/SKILL.md`

Then inspect:

- `src/runtime/i18n/types.ts`
- `src/runtime/i18n/locales/*.ts`
- `src/runtime/i18n/use-locale.ts`
- the owning runtime utils/components for the text surface you are changing

## Ownership Rules

There are two different translation paths in this repository.

### Package-owned UI copy

This is the built-in chrome owned by `ui-tools`, for example:

- table footer labels
- filter operator labels
- column-panel labels
- spreadsheet step chrome
- built-in empty states and actions

This copy belongs in:

- `src/runtime/i18n/types.ts`
- `src/runtime/i18n/locales/en.ts`
- `src/runtime/i18n/locales/fr.ts`

Resolve this copy through `useUiToolsLocale()`.

Do not leave hardcoded English strings inside runtime components when the package owns the wording.

### Schema-owned copy

This is consumer-provided text such as:

- table column labels
- filter labels and placeholders
- date preset labels and descriptions
- spreadsheet step scenario text
- option labels sourced from app data

This copy must stay translation-friendly by contract.

Preferred public surface:

- `string`
- `number`
- `() => string | number`

Only widen further when a surface genuinely needs rendered content.

## Non-Negotiable Rule

If a schema text surface is raw-string-only and blocks consumer i18n, fix the owning type and owning resolver.

Do not:

- wrap the entire schema in `computed(() => defineSchema(...))`
- duplicate state to force locale updates
- add one-off bilingual helpers in the playground

## Locale Structure

Keep locale messages grouped by feature and sub-feature.

Preferred shape:

- `table.header.*`
- `table.footer.*`
- `table.filters.panel.*`
- `spreadsheet.steps.review.*`

Do not dump unrelated labels into flat objects.

## Runtime Checklist

When adding a new package-owned text surface:

1. add the message key to `src/runtime/i18n/types.ts`
2. add English and French values
3. replace the hardcoded runtime string with `t('...')`
4. verify the affected playground route in both `en` and `fr`

When refactoring or removing an i18n surface:

1. delete locale keys that are no longer used
2. delete the matching fields from the centralized message interface
3. delete any helpers or dead code branches that only existed for those keys

Do not keep stale locale entries around after UI changes.

Unused translation keys are misleading maintenance debt and should be cleaned up in the same task that made them obsolete.

When widening a schema surface for i18n:

1. update the relevant public type
2. update the owning normalize/resolve utility
3. update any components that assumed a raw string
4. replace playground demo literals with translation keys through `() => t('...')`
5. update consumer skills

From ChronicStone/nuxt-ui-tools, MIT.

More from ChronicStone/nuxt-ui-tools

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Mar 27, 2026 (7 months ago)
Last release
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ChronicStone

Cite this page

nuxt-ui-tools-i18n skill. Agent Mart. https://agentmart.dev/skills/chronicstone-nuxt-ui-tools-i18n (last updated 2026-10-24)