Skip to content
Back to skills

Article Bilingual Translation Publisher

ASecurity

Translate one Chinese article into high-quality English Markdown, regenerate bilingual detailed summaries, and write back only `articles.content_en` + `articles.detailed_summary` to LanceDB. Default workflow is context-first and LLM-native generation.

  • 40 stars
  • 0 votes
  • 0 copies
  • 12 views
  • Added June 12, 2026
content-marketinggobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 12, 2026

npx -y skills add acking-you/static_flow --skill article-bilingual-translation-publisher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Article Bilingual Translation Publisher?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Article Bilingual Translation Publisher
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/acking-you-article-bilingual-translation-publisher/badge)](https://www.skillsdirectory.com/skills/acking-you-article-bilingual-translation-publisher)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: article-bilingual-translation-publisher
description: >-
  Translate one Chinese article into high-quality English Markdown,
  regenerate bilingual detailed summaries, and write back only
  `articles.content_en` + `articles.detailed_summary` to LanceDB.
  Default workflow is context-first and LLM-native generation.
---

# Single-Article Bilingual Translation and LanceDB Write-back

## When To Use
Use this skill when the user asks to:
1. Translate one Chinese article into high-quality English (`content_en`).
2. Regenerate bilingual detailed summaries (`detailed_summary.zh/en`).
3. Fix broken Markdown structure in translated content/summaries (especially tables).
4. Overwrite and write the result back to LanceDB.

## Required Context
1. Required: `../article-summary-architect/SKILL.md`
2. Recommended: `../staticflow-cli-publisher/SKILL.md`

Notes:
- Summary generation must follow `article-summary-architect` thinking order
  (classify type first, then produce structured compression).
- Summaries must not paste raw table markdown into bullets.

## Default Mode (Mandatory): LLM-native Direct Generation
Use this mode unless the user explicitly asks for another approach.

1. Read source article from current context first.
2. Generate final `content_en`, `detailed_summary_zh`, and `detailed_summary_en` directly in one pass.
3. Run lightweight structure checks.
4. Write back via `sf-cli`.

Hard rule:
- Do not call external model APIs, proxy model scripts, or sub-agent model commands for generation.
- Do not split translation into mechanical line-by-line scripts unless recovery is required.
- Tool/CLI usage is limited to source fetch, write-back, and essential validation.

## Inputs
At least one is required:
1. Article `id` (`articles.id` in LanceDB), or
2. Markdown file path.

If only `id` is provided, read source markdown from LanceDB `articles.content`.

## Resolve CLI and Query Source Article
Reuse the same query path as `staticflow-cli-publisher` only when source is not already in context.

1. Resolve CLI binary in this order:
   - `./target/release/sf-cli`
   - `./target/debug/sf-cli`
   - `sf-cli` from `PATH`
2. If the checkout is newer than the chosen binary, rebuild before use.
3. Do not prefer legacy `./bin/sf-cli` snapshots for storage-format-sensitive writes.
4. Verify CLI availability:
   - `<cli> --help`
5. Preferred query path (API-style):
   - `<cli> api --db-path <db_path> get-article <article_id>`
6. Fallback query path (DB-style projection):
   - `<cli> db --db-path <db_path> query-rows articles --where "id='<article_id>'" --columns id,title,date,content,content_en,detailed_summary --limit 1 --format vertical`
7. Source-of-truth field for translation input:
   - `articles.content`

## Hard Constraints
### English body (`content_en`)
1. Translate the full article as a coherent whole (not fragmented line-by-line output).
2. Preserve render-safe Markdown structure:
   - heading hierarchy
   - list nesting
   - code fence boundaries
   - inline code syntax
   - links/images syntax
   - table syntax (row/column structure)
3. Do not change executable code logic.
4. It is allowed (and recommended) to translate comments inside code blocks into English.
5. Do not change link/image target URLs.
6. Keep headings, list levels, tables, and fenced blocks structurally equivalent to the source.
7. Keep formulas and technical symbols intact.

### Bilingual summary (`detailed_summary`)
1. Produce `zh/en` via `article-summary-architect` reasoning.
2. Each language must contain:
   - one natural opening sentence
   - 3-5 `###` sections
   - 2-4 concise bullets per section
3. Do not paste raw table markdown into summary bullets.
4. `zh/en` must be semantically aligned and evidence-grounded (no fabricated claims).
5. Keep summaries scannable and content-specific; avoid empty template phrases.

## Recommended Workflow (Single Article)
### Step 1. Prepare minimal workspace
- Resolve target article id/file.
- Create `tmp/article_translate/<article_id>/`.
- Back up current row and key fields before overwrite.

### Step 2. Generate content directly
- Produce in one coherent pass:
  - `content_en`
  - `detailed_summary_zh`
  - `detailed_summary_en`
- Prefer article-level translation, not sentence-by-sentence conversion.

### Step 3. Lightweight structure checks
- Source vs translation:
  - same fenced-code block count
  - same Mermaid block count (if present)
  - same table block count and compatible column shape
  - same link/image target URLs
- Summary checks:
  - both languages include opening sentence + `###` sections + bullets
  - no table-markdown pollution in bullets

### Step 4. Write back to LanceDB
- Update only:
  - `articles.content_en`
  - `articles.detailed_summary` (JSON with `zh` and `en`)
- Never mutate unrelated fields (`title`, `content`, `tags`, `category`, `date`, etc.).

### Step 5. Verify after write-back
- Re-read the target article.
- Confirm:
  - `content_en` is non-empty and render-safe
  - `detailed_summary.zh/en` exists and is valid JSON structure

## LanceDB Write-back Example (`sf-cli`)
Use the built-in CLI command to update one article from files:

```bash
<cli> db --db-path <db_path> update-article-bilingual \
  --id <article_id> \
  --content-en-file tmp/content_en.md \
  --summary-zh-file tmp/detailed_summary_zh.md \
  --summary-en-file tmp/detailed_summary_en.md
```

You can also update only one side:

```bash
# only content_en
<cli> db --db-path <db_path> update-article-bilingual \
  --id <article_id> \
  --content-en-file tmp/content_en.md

# only detailed_summary.zh/en
<cli> db --db-path <db_path> update-article-bilingual \
  --id <article_id> \
  --summary-zh-file tmp/detailed_summary_zh.md \
  --summary-en-file tmp/detailed_summary_en.md
```

## Suggested tmp Layout
Use `tmp/article_translate/<article_id>/` and keep artifacts local:
- `row_backup.json`
- `source_zh.md`
- `old_content_en.md`
- `old_detailed_summary_raw.txt`
- `content_en.md`
- `detailed_summary_zh.md`
- `detailed_summary_en.md`
- `after_update.json`

## Output Report Requirements
Always report:
1. Target article id.
2. Whether `content_en` was regenerated.
3. Whether `detailed_summary.zh/en` was regenerated.
4. Structure validation result (tables/code fences/links).
5. Write-back status and version (if available).
6. Backup artifact paths under `tmp/`.
7. Whether generation followed LLM-native direct mode.

## Failure and Rollback
1. If structure checks fail: do not write back; fix first.
2. If write-back fails: keep `tmp` artifacts and output reproducible commands.
3. If post-write quality is unsatisfactory: restore from backups via the same workflow.
4. If source content is missing from context and DB lookup fails, stop and request a resolvable article id/path.

Files in this skill

  • SKILL.md6.6 KB
  • agents/openai.yaml382 B
  • references/output-schema.json666 B

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.