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.5 | $0.00022 | $0.00562 |
| Sonnet 5.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 2mo 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.
- 2mo 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 (9 stars, last pushed 23d ago), licensed MIT. It adds 54 tokens to every session and 1,404 once invoked, about $0.0002 per session on Opus 5.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
establishing-code-ownership
Determine which PostHog team owns a file, directory, or code path, or enumerate all code a team owns (via distributed owners.yaml, products//product.yaml, and .github/CODEOWNERS). Use when assigning a reviewer, attributing a bug or slow query to a team, routing work, scoping a team-wide audit, or answering "who owns…
extending-hobby-smoke-tests
Design, extend, review, or debug PostHog Hobby end-to-end smoke tests in bin/hobby-ci.py and .github/workflows/ci-hobby.yml. Use when adding an ingestion round trip, deciding whether a product belongs in Hobby CI, changing the CI Hobby service topology or API-key scopes, or diagnosing a smoke test that captures data…
react-doctor
Diagnose and fix React codebase health issues. Use when reviewing React code, fixing performance problems, auditing security, or improving code quality.
fix-llm-artifacts
Applies fixes from a prior review-llm-artifacts run, with safe/risky classification. Respects verify-llm-artifacts output when present to skip false positives.
review-llm-artifacts
Detects common LLM coding agent artifacts across four categories (tests, dead code, abstraction, style) over the project or changed files — using parallel subagents when the agent supports them, otherwise four sequential passes. Scans files changed since main by default; use --all for full-project scan. Triggers on…
pydantic-ai-common-pitfalls
Avoid common mistakes and debug issues in PydanticAI agents. Use when encountering errors, unexpected behavior, or when reviewing agent implementations.