一键导入
plushie
Add a new plushie to the Mellumine collection: update data.ts and both locale files. Use when adding any new plushie to the site.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add a new plushie to the Mellumine collection: update data.ts and both locale files. Use when adding any new plushie to the site.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
i18n management for Mellumine: key structure, naming conventions, both-locale rule, and translation quality guidelines. Use when adding or modifying translation entries.
Vue 3 + Nuxt 4 best practices for Mellumine: Composition API, auto-imports, TypeScript, SCSS, CSS custom properties, and component conventions.
Manage translation entries in fr-FR.json and en-US.json. Use when adding, modifying, or reviewing i18n keys for pages, components, or images.
Vue 3 + Nuxt 4 conventions for this project: SFC structure, auto-imports, TypeScript, SCSS, CSS custom properties, components, and composables. Use when writing or reviewing any .vue file.
Add a new plushie entry to data.ts and both locale files. Use when the user provides a new plushie to add to the collection.
Reference and checklist for SEO metadata on any page. Use when writing, reviewing, or debugging useHead() and useSeoMeta() on any page.
| name | plushie |
| description | Add a new plushie to the Mellumine collection: update data.ts and both locale files. Use when adding any new plushie to the site. |
This skill describes how to add a new plushie to the Mellumine collection.
Plushies are defined in app/utils/data.ts in the plushies array:
export const plushies: Plushie[] = [
{
id: 'artikodin', // kebab-case unique id
i18nKey: 'artikodin', // snake_case — matches pictures.plushies.{i18nKey} in locale files
dimensions: '30 × 25 cm', // optional — physical dimensions (width × height)
views: {
front: '/images/plushies/artikodin-front.webp', // required
back: '/images/plushies/artikodin-back.webp', // required
left: '/images/plushies/artikodin-left.webp', // optional
right: '/images/plushies/artikodin-right.webp', // optional
},
},
]
| Context | Convention | Example |
|---|---|---|
id | kebab-case | pink-cat |
i18nKey | snake_case | pink_cat |
| Image folder | public/images/plushies/ | /images/plushies/pink-cat-front.webp |
| i18n key | pictures.plushies.{i18nKey} | pictures.plushies.pink_cat |
Check that public/images/plushies/ contains the expected .webp files:
{name}-front.webp — required{name}-back.webp — required{name}-left.webp — optional{name}-right.webp — optionalOnly include view keys for image files that actually exist.
// In app/utils/data.ts, add to the plushies array:
{
id: '{name}',
i18nKey: '{name_snake}',
dimensions: '{width} × {height} cm', // optional
views: {
front: '/images/plushies/{name}-front.webp',
back: '/images/plushies/{name}-back.webp',
// Include left/right only if files exist
},
},
i18n/locales/fr-FR.json — add under pictures.plushies:
{
"{name_snake}": {
"title": "Nom de la peluche en français",
"alt": "Description courte de l'image (5–12 mots)",
"description": "Brève présentation de la peluche (1–2 phrases)"
}
}
i18n/locales/en-US.json — add under pictures.plushies:
{
"{name_snake}": {
"title": "Plushie name in English",
"alt": "Short English description (5–12 words)",
"description": "Brief presentation of the plushie (1–2 sentences)"
}
}
Run yarn lint to confirm no issues.
| Field | Rule |
|---|---|
title | The plushie's recognisable name |
alt (FR) | Describes what is shown: e.g., "Peluche Artikodin vu de face, bleu et blanc" |
alt (EN) | Natural English: e.g., "Artikodin plushie front view, blue and white" |
description (FR) | Creative 1–2 sentence presentation of the plushie |
description (EN) | Natural English adaptation of the FR description |
alt to 5–12 wordspublic/images/plushies/plushies[] in data.tsid is kebab-case, i18nKey is snake_casepictures.plushies.{i18nKey} added to fr-FR.jsonpictures.plushies.{i18nKey} added to en-US.jsonyarn lint passes