ru-text
A Russian text-quality skill for AI agents: strips machine slop, fixes typography, enforces editorial style, and scores 0–10.
- Source repo
- talkstream/ru-text
- Stars
- ★ 289
- Last updated
- 10d ago
- License
- MIT
- Primary language
- Shell
- FA score
- 53/100 · Major gaps
At a glance
- Works with
- Universal · cross-platformChatGPT · Codex · Claude Code
- You'll need
- Typical use
- A content team drafts a Russian article with an agent, then runs ru-text to strip "Отличный вопрос!" openers and false antithesis before publishing.
- Main limitation
- Russian only — useless for any other language.
- Source review
- 53/100 · Major gaps
What does this agent do, and when should you use it?
ru-text is a proofreading skill that runs inside an AI agent and cleans up Russian text as it is written — typography, bureaucratic phrasing, and 17 documented signs of machine-generated prose it calls "neuroslop." It ships as ten reference guides loaded on demand, together holding 2,000+ linguistic atoms (rules, bad → good pairs, dictionary entries, exceptions). Install it into Claude Code, Codex/ChatGPT, Cursor, GitHub Copilot, Gemini CLI and other hosts; the agent applies typography silently while writing and, on request, returns a corrected draft plus a change list where every edit cites the rule behind it. It also offers a five-dimension 0–10 score, and states what the rubric does not measure, such as factual accuracy, audience fit and authorial voice. The skill makes no network requests, collects no data, and never rewrites a file unless asked.
The skill loads at agent session start with one 4 KB file always resident (typography table plus the head of the stop-word list); the other nine guides are read on demand. On a "вычитай" request it reads the full corpus and returns a corrected text plus itemized changes, each with a quote and the governing rule. It checks typography (quotes, dashes, non-breaking spaces after single-letter words, digit grouping, abbreviations, percent attached to the number, ellipsis spacing) and the 17 machine-text markers — "Отличный вопрос!", self-praise for brevity, declared honesty, empty openers, false antithesis — while honoring documented carve-outs where a device is legitimate (quotations, legal boilerplate, a genuine triad). Bureaucratic nominalizations are turned back into verbs with a named actor, but it asks for the name rather than inventing one. UX copy follows button-names-the-action and error-says-what-happened rules; business mail leads the subject with the matter. Scoring mode applies the five dimensions in scoring.md for a 0–10 result, and the top labels ("Эталонный", "Хороший") are withheld from text that is still a chat transcript or written for search engines. Claude Code adds /ru-text:ru-check and /ru-text:ru-score, the former configured with model: sonnet and effort: medium.
- A content team drafts a Russian article with an agent, then runs ru-text to strip "Отличный вопрос!" openers and false antithesis before publishing.
- A product manager writing Russian interface strings checks button labels, error messages and empty states against ux-writing.md.
- A business user finishes a Russian email, asks the agent to "вычитай", and reviews the returned text with a rule-cited change list before accepting each edit.
- An editor asks "Оцени этот текст по ru-text" before publication to get a 0–10 score with line-checkable quotes and rules.
- A developer installs ru-text as a standing skill in Claude Code or Codex so Russian docs the agent writes get typography applied silently.
- A handler of quoted or third-party text needs remarks without edits — the skill flags but never rewrites quotes or code.
How do you install or deploy this agent?
The simplest path is to let the agent install itself — send it this line:
Установи навык https://github.com/talkstream/ru-text глобально и вызывай его, когда работа идёт над качеством русского текста: вычитка, типографика, очистка от нейрослопа, редактура, UX-тексты, деловая переписка — или по прямому упоминанию ru-text.Or use a command-line installer. All three skills into a project:
npx skills add talkstream/ru-textJust ru-text, into its own directory:
npx skillsbd add talkstream/ru-text/ru-textChatGPT users can skip both and open the ru-text card in the plugin catalog, then press "+". Start a new session afterwards so the agent picks the skill up.
How do you use this agent?
Start a fresh session, hand the agent a real paragraph and say "вычитай"; a correct response is a corrected draft plus a change list. In Claude Code you can invoke the commands directly:
/ru-text:ru-checkand for a score:
/ru-text:ru-scoreElsewhere natural language works, e.g. "Оцени этот текст по ru-text". Switch models with /model opus if Sonnet is unavailable. To disable: /plugin in Claude Code, or delete the skill directory elsewhere. Updating is manual — watch the repo under Watch → Custom → Releases, then ask the agent to reinstall.
What are this agent's strengths and limitations?
- Every edit carries a quote and the rule behind it, so reviewers can verify or dispute each change instead of trusting a black box.
- Only 4 KB sits permanently in context; ten reference guides load on demand, keeping token spend low.
- Each of the 17 machine-text markers ships with carve-outs (quotations, legal formulas, genuine triads), reducing false positives.
- Explicit boundaries: never touches authorial voice, never rewrites quotes or code, never edits files silently, makes no network calls.
- Goes beyond proofreading into UX microcopy, business correspondence, landing pages and documentation structure.
- Corpus size is computed by
tools/extract-atoms.shrather than hand-maintained, avoiding stale numbers.
- Russian only — useless for any other language.
- No built-in updater: you must watch Releases and reinstall manually, and the Claude Code community marketplace build can lag months behind.
- The rules encode the author's personal reading of Russian typographic and editorial standards, not an official norm, so some are debatable.
- The silent fast pass deliberately skips machine-text markers (their carve-outs live only in the full guide), so background cleanup is less thorough than an explicit proofread.
- In Claude Code the ru-check command is bound to Sonnet; without it you must switch to Opus yourself.
- The browser extension and Telegram bot mentioned in the README do not exist yet.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| ru-text This agent | 53 · Major gaps | — | ★ 289 | 10d ago | Shell | ChatGPT · Codex · Claude Code |
| Patina Multilingual Writing Editor | 83 · Good | Agent plugin / skillFree + model costs | ★ 384 | 1mo ago | JavaScript | Codex · Claude Code |
| OH Story — All-in-One Skill Pack for Chinese Web Fiction | 75 · Good | Agent plugin / skillFree + model costs | ★ 8.3k | 1d ago | Python | Codex · Claude Code |
| OpenDraft | 81 · Good | CLIFree + model costs | ★ 523 | 1d ago | Python | Codex · Claude Code · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
README and SECURITY.md state the skill is static Markdown, makes no network calls, collects no data, and explicitly does not rewrite files unless the user directly asks, supporting user_confirmation and data_flow_transparency (2). Sensitive-data handling rests only on the 'collects no data' assertion with no detail on retention/logging of pasted text (1). Dependency security shows only SHA-pinned actions/checkout in CI; the npx skills/skillsbd install chain has no integrity verification (1). External effects and rollback are a one-line 'delete the skill directory / `/plugin`' with no version-pinned revert mechanism (1). Source attribution is explicit in README and sources.md with a non-endorsement notice (2).
README admits past drift in version numbers and catalogue counts (97 vs 92), now constrained by CI gates check-version.sh and check-dogfood.sh, giving self-consistency a mechanism (2). Dependency availability relies on a one-sentence agent install and third-party npx tools with no pinned versions or provenance checks (1). Failure messages are limited to 'no list means the skill did not load', lacking error codes or diagnostics (1).
README names Claude Code, Codex, Cursor, Copilot and more, with scenario-specific trigger phrasing for proofreading, scoring, UX copy and business writing (2). Capability boundaries explicitly exclude factual accuracy, audience fit, author voice and originality (2). Trigger precision is governed by the install sentence plus direct naming, and users may narrow or widen it (2). Environment fit distinguishes Claude Code slash commands from word-based invocation elsewhere (2).
Information architecture is clear: README, INSTALL, CHANGELOG, sources and 10 reference files in layers (2). Install notes are thorough: one-sentence install, npx commands, ChatGPT plugin card and update path (2). Naming stability is a weakness: README itself recounts version numbers sitting wrong across two READMEs and catalogue counts drifting, so naming/numbering has been unstable despite gates (1). Examples and FAQ are rich, with five bad sentences and rewrites (2). Known limitations list unmeasured dimensions and the no-update one-shot install (2). MIT license is complete (2). Versioning and CHANGELOG summarize 2.10 changes (2). Maintenance responsibility is a single best-effort maintainer and the publisher is unverified by the FollowAgents registry, so only 1.
Output usability is high: each edit returns the fragment and its rule, and scoring returns 0–10 with quotations and rules, checkable line by line (2). Marginal value is clear: it targets Russian typography, bureaucratic register and 17 neuroslop tells that generic agents miss (2). Cost-benefit: README claims a 4KB always-on file with on-demand references, but 'say вычитай and it reads the whole corpus' may incur large context cost with no quantified comparison (1).
claim_traceability is strong: README gives tools/extract-atoms.sh counting command, 10 reference file paths and sources.md attribution (2). Cross-source corroboration is limited: most rules rest on the author's own account and secondary bibliography, with no independent third-party validation or comparison tests (1). Fact/inference separation is good: it distinguishes rules from the author's understanding, notes sources did not endorse the skill, and excludes factual accuracy from scoring (2).
- Publisher identity is unverified by the FollowAgents registry; maintenance is single-maintainer best-effort with no SLA for updates or security response.
- Installation relies on third-party npx tools (skills/skillsbd) with no pinned versions or integrity checks; supply-chain risk must be assessed independently.
- README itself recounts past drift in version numbers and catalogue counts; naming/numbering has been unstable historically, so verify the actual installed version despite CI gates.
- The one-shot install has no auto-update; users must watch releases and reinstall manually, and stale versions may persist.
- Scoring covers language quality only, not factual accuracy, audience fit or originality, so it must not be treated as a correctness signal.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v2.10.10 ru-text 2.10.10
Release notes excerpt
Fixed - editorial-punctuation.md, «When comma before "что" is NOT needed»: the stacked-conjunctions row said «without "то"» while its explanation said «when "то" follows», so a literal reading dropped the required comma in «Я знаю, что, если он придёт, всё решится». The row is now two: no comma between «что» and «если» when «то» follows, a comma when it does not. Contributed by @MaxRyabov (#31). …View on GitHub ↗ -
v2.10.9 ru-text 2.10.9
Release notes excerpt
Changed - .claude-plugin/plugin.json carries documentationUrl, supportUrl, privacyPolicyUrl and termsOfServiceUrl again (removed in 2.10.6). Anthropic's directory fills the listing's Documentation, Support, Privacy policy and Terms of service from these fields (Claude Code plugins reference, «Directory listing fields»); its policy check still reports them as unrecognized and says they can stay.View on GitHub ↗ -
v2.10.8 ru-text 2.10.8
Release notes excerpt
Internal - docs/roadmap-v3-grammar.md gains a backlog entry, not yet ranked: gapping across numerals that govern different forms — «на 44 года; в худшем темпе — на 18» needs «на 18 лет». The corpus has no rule for it yet; D.2 checks agreement only where the noun is written, and I.2 covers the same mechanism for verbs. The entry's closed trigger requires the omitted noun to inflect, so an invariable unit such as «ГБ» («156 ГБ … 153») does not fire it.View on GitHub ↗