Ru Score logo

Ru Score

Community
talkstream
ru-score

Score Russian text 0.0–10.0 across five dimensions: typography, clean language, grammar, structure, precision for the reader. Triggers: оцени текст, ru-score, оценка качества текста, насколько хорош текст, балл за текст. Use when the user wants a number rather than a list of findings. Never edits a file.

Overview

Publishertalkstream
Repositoryru-text
Skill nameru-score
Stars
277
Forks
26
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by talkstream on GitHub. Read the source before you install it.

Installation

Install the Ru Score AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/talkstream/ru-text/tree/main/skills/ru-score
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/talkstream/ru-text.git /tmp/ru-text
mkdir -p .claude/skills
cp -r /tmp/ru-text/skills/ru-score .claude/skills/ru-score
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ru Score in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ru Score on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ru Score is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Russian Text Quality Score

Score the text provided in $ARGUMENTS (or the most recent Russian text output if no arguments) using the ru-text scoring rubric.

Procedure

Where the reference files live

This skill reads the corpus that ships with the ru-text skill, which is installed alongside it. Locate that folder once, then read the named files from it:

  • Look for a directory named references whose parent directory is named ru-text, and which contains info-style.md. Every file named below sits in that folder.
  • Search with file tools, never with a shell. Glob on a pattern like **/ru-text/references/info-style.md, or whatever file search the host offers, then Read. This command has no use for a command line: Bash is on its disallowed-tools list, and hosts that do not implement that field still refuse it — measured in Claude Cowork on 12.08.2026, where an opening ls returned «Permission to use Bash has been denied» in red before the search found the corpus anyway. The call bought nothing and cost the reader a scare.
  • In Claude Code the folder is ${CLAUDE_SKILL_DIR}/../ru-text/references/ — Read info-style.md there first and skip the search. If that path arrives unexpanded or the read fails, fall back to the search above.
  • Do not guess a path. If the folder cannot be found, say so and stop — a check run against remembered rules instead of the corpus is not this command, and reporting one as the other is the failure this whole product exists to prevent.
  1. Load rubric — read scoring.md for the full rubric with anchors.

  2. Determine domain — identify whether the text is UI/interface, business email, article, or general:

    • UI text → also load ux-writing.md for the Reader Precision dimension
    • Business email → also load business-writing.md for the Reader Precision dimension
    • General → use info-style.md only
  3. Evaluate each dimension separately — score in this order:

    • T — Типографика (weight 0.15): quotes, dashes, spaces, special characters per typography.md
    • Ч — Чистота языка (weight 0.25): stop-words, bureaucratic language, clichés, passive voice per info-style.md + anti-patterns.md
    • Г — Грамотность (weight 0.20): punctuation, agreement, tautology per editorial-grammar.md + editorial-punctuation.md
    • С — Структура (weight 0.20): logical flow, paragraphs, transitions, heading use per info-style.md structure section + addenda.md
    • Ц — Точность для читателя (weight 0.20): facts, evidence, reader benefit, actionability per domain rules
  4. For each dimension — assign a score (0.0–10.0) using the rubric anchors in scoring.md. List 1–3 specific issues, quoting the problematic text fragment.

  5. Apply non-compensatory rules:

    • Any dimension < 3.0 → cap total at 5.0
    • Typography < 4.0 → cap total at 7.0
    • Grammar < 4.0 → cap total at 7.0
    • Use the most restrictive cap when multiple conditions trigger
  6. Compute composite score:

    S = round₁(T × 0.15 + Ч × 0.25 + Г × 0.20 + С × 0.20 + Ц × 0.20)
  7. Short text warning — if text is under 50 words, prepend a reliability caveat.

Score labels

ScoreLabel
9.0–10.0Эталонный
7.0–8.9Хороший
5.0–6.9Средний
3.0–4.9Слабый
0.0–2.9Критический

Output format

Read-only — do NOT modify the source files. ru-score reports a score and issues; it must not write to, edit, or overwrite the analysed file(s).

In Claude Code this is hardened by disallowed-tools, which removes the listed tools while the command is active — verified on 2.1.220. The list removes the direct file-writers Write, Edit and NotebookEdit, plus the command-executing tools we identified and tested: Bash, PowerShell and Monitor. It names the paths we closed, not every path that exists. allowed-tools pre-approves tools; it does not restrict them.

Four limits, stated plainly. A connected MCP server can expose write tools that a per-tool denial list cannot know about. A named subagent whose own definition grants it tools: Write is governed by that definition, not by this list. A later Claude Code release can add a tool this file does not name. And on hosts without disallowed-tools support the rule is an instruction rather than a platform guarantee.

The contract itself is behavioural and does not depend on the list: this command returns a score and never writes.

The report shape is not written twice. Read section «Output format» of scoring.md — the mandated heading, the five Russian dimension labels, the per-cell limit of one to three issues with quoted fragments, the weighted formula, the cap note, and the closing «Что оценка не измеряет» section — and follow it exactly.

That file is the single source of it. A copy lived here until v2.0 and sat outside the no-loss gate, so the two could drift and only a reader comparing them would notice.

If a dimension has no issues, write «Замечаний нет» in the remarks column.

Frequently asked questions

What does the Ru Score AI skill do?

Score Russian text 0.0–10.0 across five dimensions: typography, clean language, grammar, structure, precision for the reader. Triggers: оцени текст, ru-score, оценка качества текста, насколько хорош текст, балл за текст. Use when the user wants a number rather than a list of findings. Never edits a file.

Why use Ru Score on TypingMind?

Because you install it once and use it with any model. Ru Score is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ru Score in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/talkstream/ru-text/tree/main/skills/ru-score. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ru Score?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ru Score?

As many as you like. As long as a model supports skills, you can use Ru Score with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ru Score AI skill free?

Yes. It is published on GitHub by talkstream under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇