Borrowing it
Nothing to install: this file belongs to maxbarsukov/vkr-builder. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/maxbarsukov/vkr-builder/master/.claude/skills/vkr-findings/SKILL.mdgit clone --depth 1 https://github.com/maxbarsukov/vkr-builderWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/maxbarsukov/vkr-builder/vkr-findings)<a href="https://agentmods.dev/skills/maxbarsukov/vkr-builder/vkr-findings"><img src="https://agentmods.dev/badge/skills/maxbarsukov/vkr-builder/vkr-findings/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/maxbarsukov/vkr-builder/vkr-findings"><img src="https://agentmods.dev/badge/skills/maxbarsukov/vkr-builder/vkr-findings.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.01404 |
| Opus 5 | $0.00027 | $0.00702 |
| Sonnet 5 | $0.00011 | $0.00281 |
| Haiku 4.5 | $0.00005 | $0.00140 |
Grade A, and why
vkr-findings scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fixing what a run reported
A finding looks like this and always names the file the author edits:
✗ 04-chapter1.md:12 reference [рис:nope] has no matching figure caption
Every finding has a stable rule name (visible in --json as rule). Fix by
rule, not by wording — the wording can change, the rule does not.
Markdown rules (lint, and the pre-flight inside build)
| Rule | Fix |
|---|---|
unknown-reference |
add the caption with that {key}, or correct the key in the reference |
duplicate-key |
two objects share a key; rename one |
unknown-citation |
the cited source is missing from # СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ |
uncited-source |
a listed source is never cited; cite it or remove it |
unreferenced-object |
a figure/table/listing nothing refers to; add [рис:key] in the text |
caption-order |
caption on the wrong side: figures after the image, tables and listings before the block |
caption-spacing |
the image and its caption are on adjacent lines — put a blank line between them, or the figure is lost |
comma-citation |
[1, 2] is not a GOST citation — write [1; 2] |
spaced-range |
a range set with spaces: 6 - 7 → 6-7; suppress it if the spacing is deliberate |
table-columns |
a row has a different cell count than the header (error, blocks the build) |
long-paragraph |
split it |
empty-section |
a heading with no text under it |
structural-heading |
a level-1 heading that is not a GOST section name |
numbering-gap |
gap in explicit numbers; use {key} numbering instead |
dictionary-order |
sort the abbreviations/terms alphabetically (build.sort_dictionary_lists: true does it) |
appendix-letter |
invalid or repeated appendix letter (no I, O, Ё, З, Й, О, Ч, Ь, Ъ) |
listing-file |
the @listing file did not become a listing — see below |
listing-file is worth reading closely, because one rule covers several
causes and the message says which:
| Message | Fix |
|---|---|
file not found |
the path is relative to listings_dir (or images_dir when that key is unset), not to the Markdown file |
path escapes the listings directory |
the file lies outside the configured root; move it in or point the key at its parent |
no listings directory is configured |
the profile has neither listings_dir nor images_dir |
has N lines, range starts at M |
the range runs past the end of the file |
is numbered from 1, range starts at 0 |
lines count from 1, not from 0 |
empty line range |
the right bound is below the left one |
is empty, nothing will be inserted |
a warning, not an error: the file exists but has no lines |
cannot read |
not UTF-8 text — a binary file or another encoding |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 102 lines · 54 tokens per session scan A fedeb5c33d43
vkr-findings is a skill published in the GitHub repository maxbarsukov/vkr-builder (4 stars, last pushed 9d ago), licensed MIT. It adds 54 tokens to every session and 1,404 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
gitnexus-impact-analysis
Use when the user wants to know what will break if they change something, or needs safety analysis before editing code. Examples: "Is it safe to change X?", "What depends on this?", "What will break?".
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
gsd-ns-review
Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
gitnexus
A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.
sonarqube-mcp
Provides SonarQube and SonarCloud integration patterns via the Model Context Protocol (MCP) server. Enables quality gate monitoring, issue discovery and triaging, pre-push code analysis, and rule education directly in the agent workflow. Use when the user wants to check quality gates, search for Sonar issues, analyze…