Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kochetkov-ma/claude-brewcode --skill docsync-setupgit clone --depth 1 https://github.com/kochetkov-ma/claude-brewcodeWrote 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/kochetkov-ma/claude-brewcode/docsync-setup)<a href="https://agentmods.dev/skills/kochetkov-ma/claude-brewcode/docsync-setup"><img src="https://agentmods.dev/badge/skills/kochetkov-ma/claude-brewcode/docsync-setup/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/kochetkov-ma/claude-brewcode/docsync-setup"><img src="https://agentmods.dev/badge/skills/kochetkov-ma/claude-brewcode/docsync-setup.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.00047 | $0.07702 |
| Opus 5.5 | $0.00019 | $0.03081 |
| Sonnet 5.5 | $0.00009 | $0.01540 |
| Haiku 4.5 | $0.00005 | $0.00770 |
Grade B, and why
docsync-setup scanned grade B with 1 finding 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 yesterday.
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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
if [ -f "$ROOT/.claude/hooks/docsync-gate.mjs" ] && grep -q 'docsync-gate.mjs' "$ROOT/.claude/settings.json" 2>/dev/null; then How it starts
The opening of the file, as written. The whole thing — 457 lines — stays where its author put it; the contents beside it link to each section on GitHub.
docsync-setup
Project-scoped doc-staleness tracker. Installs three project-local hooks that log which
.mddocs a session edits and, at end of turn, raise those whoselast_updatedis missing, unusable or behind the file. Source of truth = each doc's own frontmatter.
Prompt contract
$ARGUMENTS is one free-form RU/EN prompt; mode tokens and flags may sit anywhere in it.
- Mode: an explicit mode token wins outright; else the most distinct whole-word keyword hits
(table below). Tie with a destructive mode ->
AskUserQuestion; withstatus->status; of two mutating modes -> the keyword that comes first. No hit or empty ->statusif installed, elseinstall. Strip--unattendedbefore routing: a flag, never a mode, keyword or id; onlyupgradehonours it (Mode: upgrade), and it never asks. - Scope: prose that is not a mode/id/path is still input: take the id, path or target from it.
- Ask: at most ONE
AskUserQuestion(max 4 questions) to resolve mode and scope, before any work, only when the answer changes what gets written. A read-only run asks nothing.
Print once, before the first action (labels literal, values in the conversation language):
PLAN — brewdoc:docsync-setup
INPUT: <arguments verbatim, or "(empty)">
MODE: <resolved> — <explicit | matched keyword: X | default>
SCOPE: <resolved paths / target / level / flags>
DO: <2-5 imperative bullets>
RESULT: <what the user ends up holding>
Standard flow (every run)
Resolve the mode, print the PLAN block, execute, print the summary (Output Format), then run
that mode's checks (Verification). Verification is mandatory: report pass/fail per check, never
unverified success. Run in the main conversation (uses AskUserQuestion); no context: fork.
Project root. Each EXECUTE block resolves it:
CLAUDE_PROJECT_DIR->git rev-parse --show-toplevel-> upward walk for.git/.claude(a profile.claudeat HOME is skipped). Keep the token bare-braced (${VAR:-fallback}is never substituted). The hooks skip thegit rev-parserung and are the authority for config/state placement under a nested.claude.
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday Changed · +31 lines bde6e623804b
- 2d ago Changed 99b93801db79
- 3d ago Changed 79485fcd87a2
- 4d ago Changed · +4 lines 1c4e2e911cf4
- 5d ago Changed · -276 lines scan D → B f16582e0be28
- 12d ago Changed 6adcc78ff16d
- 17d ago Changed · -47 lines a8679f471caa
- 1mo ago Changed 01dda3220ae0
- 1mo ago First seen · 745 lines · 47 tokens per session scan D c5f6a3a529c3
docsync-setup is a skill published in the GitHub repository kochetkov-ma/claude-brewcode (37 stars, last pushed yesterday), licensed MIT. It adds 47 tokens to every session and 7,702 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
vienen-las-visitas
Use before work crosses to another person or system — opening a pull request, pushing a shared branch, requesting review, handing off to another agent, a demo, or a release. NOT for ordinary intermediate commits; this is the boundary-crossing gate, not a per-commit ritual.
git-pr
For every git repo in the current folder, create and merge a PR for feature-branch work, then return to the default branch and pull. With no arguments this runs fully autonomously across ALL sub-repos — commit → push → PR → squash-merge → checkout main → pull. Use whenever the user asks to commit, ship, push…
update-feature-docs
Generate or update documentation for the current feature branch. Analyzes all changes (commits, diffs) between the feature branch and base branch, then creates or updates docs/features/ /README.md with incremental indexing based on existing feature docs. Use when documenting a feature branch, creating feature…
debug-systematic
Systematic 4-phase debugging methodology for complex, intermittent, or mysterious issues. Use when investigating bugs, race conditions, or unexplained failures.
pre-release-review
Run the pre-release gate for this multi-plugin monorepo: establish each plugin's release boundary from its last reachable tag to HEAD, audit every changed plugin's [Unreleased] changelog against the actual code diff, identify contract-surface and breaking changes, and, per the objective the user picks up front, either…
renovate
Generate renovate.json covering all dependency file types used in a repo, emit a GitHub Actions workflow that validates renovate.json on every PR, or generate a pre-commit hook for local validation.