# Polish Vn

> Polishes already-translated Vietnamese text so it reads natively in a target register (báo chí, semi-casual, bro, or pop-marketing) — fixes pronoun drift, missing particles, literal idioms, passive-voice calques, typography, and translationese. Post-translation polish only; does NOT translate from other languages. Use on translated Vietnamese copy that reads stiff or foreign. Not for tone work on…

- **Type:** Skill
- **Install:** `agentstack add skill-hungv47-meta-skills-polish-vn`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [hungv47](https://agentstack.voostack.com/s/hungv47)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [hungv47](https://github.com/hungv47)
- **Source:** https://github.com/hungv47/meta-skills/tree/main/skills/marketing/polish-vn
- **Website:** https://skills.forsvn.com/

## Install

```sh
agentstack add skill-hungv47-meta-skills-polish-vn
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Vietnamese Tone Polish — Orchestrator

*Communication — Horizontal. **Terminal** polish for Vietnamese-market copy. Three-agent pipeline (diagnose → polish → critic) for register **calibration**, idiom + **cultural** reference repair, and removal of **ai-translation** tells.*

**Core Question:** "Would a native VN writer of this register write this exact text — and would a native reader stumble anywhere?"

> Why / philosophy / when NOT to use: [`references/playbook.md`](references/playbook.md) [PLAYBOOK].

---

## Critical Gates — Read First

1. **Input must be Vietnamese.** Does not translate. If English/other, STOP — translate first (`humanmaxxing` for source tone, or any MT).
2. **Target register specified.** One of `bao-chi` / `semi-casual` / `bro` / `pop-marketing`. If ambiguous, ask first.
3. **Do NOT change facts.** Form, not content. Numbers, names, dates, quotes, named examples survive intact.
4. **Register is pair-locked.** Polisher picks one pronoun pair (self ↔ reader) at start, holds to end. Drift is the #1 translation giveaway.

## Quality Gate

Critic 7-check rubric (zero Hard Tells from 28-pattern catalog · pronoun pair held · particle density in range (0% báo chí; 15–25% casual/pop/bro) · facts preserved · typography normalized · read-aloud clean · score ≥28/36). Full rubric: `agents/critic-agent.md`. Pattern catalog: [`references/translation-artifacts.md`](references/translation-artifacts.md).

**Absolute Prohibitions (any one = auto-FAIL):** em dashes · `quý khách`/`quý vị` outside formal · title-case headlines · particles in báo chí · pronoun drift · dropped facts · cliché stacks · literal idiom calques. Enforcement: [`references/procedures/absolute-prohibitions.md`](references/procedures/absolute-prohibitions.md) [PROCEDURE].

---

## Before Starting

Per `references/_shared/before-starting-check.md` — load brand voice + register-mapping experience.

| Artifact | Source | Required? |
|---|---|---|
| `research/product-context.md` | research-icp | Recommended — brand voice → register inference |
| `docs/forsvn/artifacts/marketing/content/[slug].md` | upstream | Optional — register from frontmatter |
| `docs/forsvn/experience/brand.md` | (any) | Optional — `Brand — VN target register` key |

## Pre-Dispatch + Mode

Protocol: `references/_shared/pre-dispatch-protocol.md`. **Needed dimensions:** register · dialect (north/south/neutral) · subvariant (if bro: otofun/voz). Read-order + Register Resolution priority + Warm/Cold Start + write-back + hard-blocks: [`references/procedures/pre-dispatch.md`](references/procedures/pre-dispatch.md) [PROCEDURE].

Per `references/_shared/mode-resolver.md` — `--fast` runs single-pass polisher only (skips diagnostic + critic). **`--fast` does NOT skip Register Resolution, Critical Gates 1-4, or Absolute Prohibitions.**
Session execution profile (single-vs-multi): inherit per `references/_shared/execution-policy.md`.

---

## Agents + Routing

3 sub-agents in `agents/`: **diagnostic** (L1: scan, register gap, violation log) → **polisher** (L2: register-correct rewrite) → **critic** (L2 final: 3-pass, 36-point rubric).

**Route A** (slash-command): Pre-Dispatch → diagnostic → user checkpoint → polisher → critic. FAIL → re-dispatch polisher (max 2 cycles) → deliver.
**Route B** (upstream caller — `brief-shortform` / `write-social` / `write-copy` / `write-ad` when `market = VN`): trust caller's register; if prior polish → skip diagnostic; no standalone artifact.

Spawn mechanics, fallback, checkpoint, pipeline, rewrite loop: [`references/procedures/dispatch-mechanics.md`](references/procedures/dispatch-mechanics.md) [PROCEDURE].

---

## Artifact Contract

- **Path (A):** `docs/forsvn/artifacts/marketing/content/[slug].vn-tone.md` · **(B):** none, embedded in caller
- **Lifecycle:** `pipeline` — re-run renames to `[slug].vn-tone.v[N].md`
- **Frontmatter:** `skill`, `version`, `date`, `status`, `target_register`, `subvariant`, `dialect`, `critic_score`
- **Body (in order):** Polish Summary · Change Log · Polished Text · Status
- **Consumers:** caller (B) or human (A); callers SHOULD preserve `polish_chain_applied: vn-tone` + `critic_score: N/36`
- **Cross-stack contract:** schema changes require atomic update of `format-conventions.md`

Template + per-section format rules: [`references/format-conventions.md`](references/format-conventions.md) [PROCEDURE].

---

## Anti-Patterns

[`references/anti-patterns.md`](references/anti-patterns.md) [ANTI-PATTERN] — 11 pipeline + 4 cross-cutting rows. Most common: pronoun drift · em dash · cliché stack · particle over-injection.

---

## Durable Rules (protected)

## Completion Status

- **DONE** — register hit, Hard Tells fixed, critic 36-point PASS
- **DONE_WITH_CONCERNS** — Soft Tells remain or critic 30–34
- **BLOCKED** — untranslatable claims or structural problems beyond polish scope
- **NEEDS_CONTEXT** — register unspecified, not derivable from brand voice

## Next Step

Hand polished text to caller (B) or user (A). On `DONE_WITH_CONCERNS`, surface concerns before publish.

## Worked Example + References

Route A walkthrough + cycle-2 FAIL + `--fast` variant: [`references/examples/vn-tone-walkthrough.md`](references/examples/vn-tone-walkthrough.md) [EXAMPLE].

- `references/{playbook, format-conventions, anti-patterns, vn-tone-corpus, translation-artifacts}.md`
- `references/procedures/{pre-dispatch, dispatch-mechanics, absolute-prohibitions}.md`
- `references/_shared/{before-starting-check, mode-resolver, pre-dispatch-protocol, manifest-spec}.md`
- `agents/{diagnostic, polisher, critic}-agent.md` (critic holds 36-point rubric)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hungv47](https://github.com/hungv47)
- **Source:** [hungv47/meta-skills](https://github.com/hungv47/meta-skills)
- **License:** MIT
- **Homepage:** https://skills.forsvn.com/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-hungv47-meta-skills-polish-vn
- Seller: https://agentstack.voostack.com/s/hungv47
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
