一键导入
translate-sync
Synchronize content between English and Spanish versions. Use proactively when content needs multilingual synchronization.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Synchronize content between English and Spanish versions. Use proactively when content needs multilingual synchronization.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create blog posts — from a topic (writes content) or with provided content (scaffolding). Use proactively when creating new blog posts or articles.
Pre-publication audit for blog posts — comprehensive final review of SEO, AEO, accessibility, images, content quality, i18n parity, and project conventions before publishing. Use proactively before publishing any blog post.
Pre-publication audit for blog series — validates series definition, post ordering, cross-post consistency, navigation, and runs individual post audits for all posts in the series. Use proactively before publishing any blog series.
Audit the blog tag taxonomy — frequency analysis, orphan detection, hierarchy validation, and proposals for new subtopic tags. Read-only — proposes, never modifies tags or posts. Use proactively before each release cycle or after a content drop of 5+ posts.
Optional DeepWorkPlan addon that connects an AI-first repo to the developer's Dailybot team — installing (with consent) the Dailybot agent skill (DailybotHQ/agent-skill) and/or the Dailybot CLI (DailybotHQ/cli), wiring the plan lifecycle into best-effort agent updates - kickoff when a plan starts, significant task completions, a blocked report when an unattended run halts, and a milestone on plan completion - with payloads derived from the plan's state layer, and optionally committing the Dailybot skill's deterministic hook enforcement (dailybot hook lifecycle hooks, CLI >= 1.12.0) so the agent harness itself reminds agents about unreported work. Opt-in, never required, never blocks the work, reconciles existing setups instead of clobbering them, and defers all auth to the Dailybot skill's own consent flow. Use when the developer or team already uses Dailybot and wants DWP progress visible to humans.
Optional DeepWorkPlan addon that safely upgrades a repo's dependencies — reasoning about the repo's ACTUAL package manager (npm/pnpm/yarn + ncu, pip/poetry/uv, cargo, go mod, bundler, composer, and more) rather than assuming npm — with a batched, validated, revertible workflow that detects the manager and manifests/lockfiles, classifies upgrades (patch/minor/major), upgrades in safe batches, runs the repo's real validation gate after each batch, reverts a failing batch, and summarizes. Opt-in, never required, reconciles with the repo's existing tooling. Use when the developer wants to bring dependencies up to date without breaking the build.
| name | translate-sync |
| description | Synchronize content between English and Spanish versions. Use proactively when content needs multilingual synchronization. |
| disable-model-invocation | false |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| model | haiku |
| tier | 1 |
| intent | execute |
| max-files | 10 |
| max-loc | 500 |
Synchronize content between English (en) and Spanish (es) versions of pages, blog posts, and translation strings. Ensures multilingual parity across the entire site.
add-page or add-blog-post)src/lib/i18n.ts (only syncs existing active languages)content.config.tsTier: 1 - Light/Cheap
Reasoning: Translation follows established patterns, is content-focused, and has low risk. The source content already exists; this skill produces the counterpart.
$SOURCE_FILE: The file that was recently created or modified (en or es version)$TARGET_LANG: Target language to sync to (default: auto-detect the opposite language from source path)$CONTENT_TYPE: Type of content: page, blog, translation-strings (default: auto-detect from file path)content.config.tssrc/lib/translations/ modular structureDetermine the source language and content type from the file path:
| Path Pattern | Language | Content Type |
|---|---|---|
src/pages/es/** | Spanish | page |
src/pages/** (not es/) | English | page |
src/content/blog/es/** | Spanish | blog |
src/content/blog/en/** | English | blog |
src/lib/translations/en.ts | English | translation-strings |
src/lib/translations/es.ts | Spanish | translation-strings |
Set target language to the opposite of source.
Map source to target path:
| Source | Target |
|---|---|
src/pages/{path}.astro | src/pages/es/{path}.astro |
src/pages/es/{path}.astro | src/pages/{path}.astro |
src/content/blog/en/{slug}.md | src/content/blog/es/{slug}.md |
src/content/blog/es/{slug}.md | src/content/blog/en/{slug}.md |
If the target file does not exist, create it using the source as a template. If it exists, update it to match the source structure.
Translate the content following these rules:
For blog posts:
title, description, and body contentpubDate, updatedDate, heroImage, tags, code blocks, frontmatter structureFor page wrappers (.astro in src/pages/):
*Page.astro componentlang string literal: lang="en" or lang="es"src/components/pages/ handles MainLayout, translations, and content internallyFor translation strings (en.ts/es.ts):
en.ts and es.ts export objects with identical key structuressrc/lib/translations/types.ts if new interface fields are needed# Check both files exist
ls -la {source_file} {target_file}
# Run code quality checks
pnpm run biome:check
pnpm run astro:check
pnpm run build
## Translation Sync Complete
### Source
- File: {source_file}
- Language: {en|es}
- Type: {page|blog|translation-strings}
### Target
- File: {target_file}
- Language: {en|es}
- Action: {created|updated}
### Changes
- {list of specific changes made}
### Validation
- Biome check: {pass/fail}
- Astro check: {pass/fail}
- Build: {pass/fail}
### Commit Message
content: sync {content_type} translation for "{identifier}" ({source_lang} -> {target_lang})
pequeno (→ pequeño), tamano (→ tamaño), analisis (→ análisis), numero (→ número), codigo (→ código), pagina (→ página), ejecucion (→ ejecución), version (→ versión), etc. Run a quick grep check before committing.Stop and ask if:
lang value is correct in target page filespequeno, tamano, numero, codigo)pnpm run biome:check passespnpm run astro:check passespnpm run build passesEscalate to higher tier if:
i18n-guardian agentarchitect agentInput:
$SOURCE_FILE: src/content/blog/en/getting-started-with-astro.md
Actions:
src/content/blog/es/getting-started-with-astro.mdCreates: src/content/blog/es/getting-started-with-astro.md
Input:
$SOURCE_FILE: src/pages/es/about.astro
Actions:
src/pages/about.astrolang = 'en' in targetUpdates: src/pages/about.astro
Input:
$SOURCE_FILE: src/lib/translations/en.ts
$CONTENT_TYPE: translation-strings
Actions:
src/lib/translations/es.tsen.ts but missing in es.tses.tsUpdates: src/lib/translations/es.ts
i18n-guardian agent - Translation quality specialist