# Language Review

> Lints user-facing copy in the active language profile against site-config terminology rules, surface-specific tone (article vs cold email vs LinkedIn post), and language-specific style rules (punctuation, plurals, diacritics, smart quotes). Use after editing files containing user-facing strings — UI labels, marketing copy, articles, legal text, outbound messages. Returns structured findings; does…

- **Type:** Skill
- **Install:** `agentstack add skill-trendtweekers-article-autopilot-language-review`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [TrendTweekers](https://agentstack.voostack.com/s/trendtweekers)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [TrendTweekers](https://github.com/TrendTweekers)
- **Source:** https://github.com/TrendTweekers/article-autopilot/tree/main/.claude/skills/language-review

## Install

```sh
agentstack add skill-trendtweekers-article-autopilot-language-review
```

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

## About

# language-review — surface-aware copy linter

This skill is a thin entry point that delegates to the `copy-reviewer`
agent in `.claude/agents/copy-reviewer.md` with the right context loaded.

## When to invoke

The bundled `post-edit-nudge.mjs` hook fires this skill automatically
after edits to known user-facing files. The hook only nudges — the main
session decides whether to actually run a review based on whether the
edit touched copy or was pure logic.

You can also invoke manually:

```
/language-review                    # review uncommitted changes
/language-review src/pages/Foo.tsx  # focus on one file
```

## What the agent reviews

For every edit, the agent checks:

1. **Terminology** — every `terminology.preferred` and `terminology.banned`
   rule in `site-config.yaml`.
2. **Voice consistency** — does the copy hit `voice.tone` adjectives and
   avoid `voice.avoid` items?
3. **Surface-specific rules** — different rules apply to articles vs
   landing pages vs LinkedIn posts vs cold emails. The active language
   profile defines the surface table.
4. **Language quirks** — diacritics, plurals, smart quotes, gendered
   agreement (whatever applies in the active profile).
5. **Pricing drift** — if `pricing` block is set in config, prices in
   copy must match.
6. **Phasing dates drift** — if `phasing_dates` block is set, date
   claims must match.
7. **Factual claims** — flagged for human verification, not auto-verified.

## What the agent does NOT do

- Doesn't edit files. Review only. The main session applies fixes.
- Doesn't verify factual claims. Flags them.
- Doesn't review non-user-facing strings (code identifiers, config
  values, vendor names, English comments in a Polish project, etc.).
- Doesn't rewrite for taste alone — respect the author's voice.
- Doesn't produce a polished "improved version" for fact-bearing
  content. Point fixes only.

## Inputs

When invoking the agent, pass:

1. The file paths to review (or a diff range).
2. The active language profile path
   (`.claude/skills/article/language-profiles/.md`). Note:
   `examples/language-profiles/` is reference-only for contributors.
   The runtime reads the installed copies under
   `.claude/skills/article/language-profiles/`.
3. The relevant `site-config.yaml` sections (`terminology`, `voice`,
   `pricing`, `phasing_dates`, `disclaimer_template`).

The agent returns findings in the structure documented in
`.claude/agents/copy-reviewer.md`.

## Surface detection

The agent infers the surface from the file path:

| Path pattern | Surface |
|---|---|
| `*/blog/*.md`, `*/articles/*.md`, `content/posts/*` | Article |
| `*/pages/*.{tsx,jsx,vue,astro}`, `*/components/landing/*` | Landing page |
| `*/components/dashboard/*` | App UI |
| `*/legal/*`, `*Regulamin*`, `*Privacy*`, `*Terms*` | Legal page |
| `*/emails/*`, `*-email.{md,html}` | Email |
| `*linkedin*`, `*social*`, `*post-*.md` | Social post |

Each surface has its own ruleset in the active language profile (see
`.claude/skills/article/language-profiles/english.md` for the
structure).

## Output

The agent always returns findings in a fixed structure:

1. **Quick verdict** (one sentence)
2. **Language issues** (must-fix / should-fix / nits)
3. **Claims to verify** (flagged, not verified)
4. **Risky or unsupported claims** (promotional overreach, legal
   exposure, misleading scope)
5. **Key point fixes** (only when grammar is broken or fact is wrong)

The main session decides what to apply. The agent never edits.

## Source & license

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

- **Author:** [TrendTweekers](https://github.com/TrendTweekers)
- **Source:** [TrendTweekers/article-autopilot](https://github.com/TrendTweekers/article-autopilot)
- **License:** MIT

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-trendtweekers-article-autopilot-language-review
- Seller: https://agentstack.voostack.com/s/trendtweekers
- 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%.
