claude-plugins: Instructions file for Claude Code

CLAUDE.md

claude-plugins CLAUDE.md is an instructions file for Claude Code from AleksandarBisevac/claude-plugins. It costs 7,701 tokens per session, scanned A, original, MIT.

Repository instructions for a Claude Code plugin marketplace, including its Python hooks, command-line scripts, quality checks, and front-end files. They explain how to work on the repository and where different kinds of changes belong.

In plain words
What is it for?
Use them when adding Python files under hooks or scripts, changing plugin behavior or front-end code, checking the plan gate, or following the repository’s contribution and build guidance.
Why use it?
They prevent treating the repository like a normal installable Python package and clarify how its own checks, documentation, and build rules work.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: reads .claude/ paths; mentions Claude Code.

This is AleksandarBisevac/claude-plugins's own configuration. It tells Claude Code how to work on claude-plugins itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything claude-plugins configures →

Reuse

Borrowing it

Nothing to install: this file belongs to AleksandarBisevac/claude-plugins. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/AleksandarBisevac/claude-plugins/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/AleksandarBisevac/claude-plugins

Made for: Claude Code.

Wrote 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.

agentmods badge for claude-plugins CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/aleksandarbisevac/claude-plugins/claude-md/github.svg)](https://agentmods.dev/instructions/aleksandarbisevac/claude-plugins/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/aleksandarbisevac/claude-plugins/claude-md"><img src="https://agentmods.dev/badge/instructions/aleksandarbisevac/claude-plugins/claude-md/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.

agentmods 80×15 button for claude-plugins CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/aleksandarbisevac/claude-plugins/claude-md"><img src="https://agentmods.dev/badge/instructions/aleksandarbisevac/claude-plugins/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 7,701 This file is loaded in full into every session.
When invoked 7,701 The same file — it is already loaded in full.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.07701 $0.07701
Opus 5.5 $0.03080 $0.03080
Sonnet 5.5 $0.01540 $0.01540
Haiku 4.5 $0.00770 $0.00770

Measured today against content hash 1c39fe16b27b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

claude-plugins CLAUDE.md scanned grade A 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 today.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

the Release is the page a reader lands on, and the README's `curl` pins make the tag a
CLAUDE.md · 439 lines

How it starts

The opening of the file, as written. The whole thing — 439 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Working on this repo

A Claude Code plugin marketplace (quality-gates → plugin audit). Python here is hooks and CLI scripts, not a package: there is no [project] table, nothing is installed, nothing is published. It dogfoods its own plugin, so its hooks fire on your edits.

Which tier the plan gate is in is not a property this file may assert. The gate grades itself on evidence — observe with no manifest, warn with a manifest holding no phase, deny past the free file once it holds phases, running or not — and this sentence used to say edits "run under" it, which reads as the denying tier while only the weakest reading was true: the dogfood manifest's phases were all finished when that was written, so the gate was advisory here and had been for releases. That is exactly the kind of fact a document cannot keep. A document that names a gate owes the reader its tier or should not name the gate, and the tier is computed rather than written down — so ask the thing that computes it:

/audit:doctor          # prints which tier is active and what put it there

The TDD reminder is unconditional and non-blocking, so it needs no tier.

CONTRIBUTING.md is the rulebook and PLUGIN-BUILD-GUIDE.md is the architecture. This file states only what you must know before an edit; it deliberately restates no procedure, because two copies of a procedure is one copy and one lie.

Hard rules

  • Stdlib only in plugins/audit/{hooks,scripts}/. A guard that needs pip install is a guard that is off on most machines. py-launch.sh stays POSIX-sh builtins only.
  • No typing, no dataclasses, no annotations, no walrus, no from __future__. Not a style guide — _output_lints.house_style_violations() reads the AST and fails the build. The 3.8 floor and hooks that must start fast on every tool call are the reason.
  • Python 3.8 floor, held by vermin -t=3.8- in CI. Formatting is %-style throughout; the tree contains no f-strings.
  • Every .py under hooks/ and scripts/ is scanned wherever it sits — the coverage classifier and the lints in tools/lints/ (_output_lints.py, _deps.py) all walk recursively. The old rule saying files must stay one directory deep existed only because those scanners were flat, so a file in a subdirectory silently stopped being tested; that reason is gone. The one cost is that a .py basename must be unique across the whole of scripts/, since import and _loader both resolve by basename — layer_violations() reports a collision by name. scripts/ui/ still holds no .py.
  • _output.py is the anchor and never moves. SCRIPTS_DIR, PLUGIN_ROOT, HOOKS_DIR, TESTS_DIR, LINTS_DIR and REPO_ROOT live there and nowhere else; install_path() puts scripts/ and every subdirectory of it holding a .py on sys.path. The folders are labels, not namespaces — one flat name-space, every module reached by bare basename. No other .py under scripts/ may read __file__ outside the pinned preamble (depth_sensitive_paths()).
  • Fail-open for advisory paths, fail-loud for guards — the table is in SECURITY.md.
  • Every claim in output carries the basis that makes it true, and when the basis is missing, that is the thing to say. Never fall back to a default to fill the gap; a basis with no claim is noise. See CONTRIBUTING.md for the worked example (cost, and the five surfaces that render it).
  • Do not write a number into prose when something already prints it. This is the repo's most frequent defect (the same bug, found three separate times), and it is now a lint: _output_lints.prose_number_claims() over every .py this repo keeps and _deps.doc_prose_numbers() over every .md (both in tools/lints/) — both sets derived off what git tracks, or off .gitignore where git cannot answer, so a file added here is scanned by default and excluding one means a row in _output_lints.PROSE_SCAN_EXEMPT with a reason. They fail the build on a present-tense cardinality (its N cases), persistence (`NAME` stayed at N), completeness (all N of them, all N … have) or ratio (N of M <noun> — the tally a command prints, quoted with no command beside it) claim — and the number may be spelled as a word: _numeral_span() reads both spellings, for every shape it knows, from one fixed table — except that a bare word under ten (one case, two cases) is off by default, because it is ordinary English and only a shape that supplies its own bound (N of M <noun>) may ask for it; _numeral_span()'s docstring carries the measurement. Three things stay legal on purpose: history (it stood at N that day), a number carrying the command that re-derives it — the basis may sit on the next line, because prose wraps — and the repair itself, which is to delete the number and keep the pointer. CONTRIBUTING.md's Writing a count that is allowed states those three affirmatively, with one example each; read it before writing a number rather than after a build refuses one. When a number really is informative, carry the basis; a basis makes a claim checkable, but only deleting the number stops it rotting.
  • The lint does not cover the whole class, and the part it leaves is yours. A plain the N <noun> with an ordinary noun — five claims deep — is author-enforced in both spellings, and so is a ratio you wrote yourself rather than quoted (N of the M <noun> carries an article no formatter emits). This is a refusal, not a gap waiting to be closed: the noun is unbounded, so reading it means reading every count in every sentence, and both widenings were measured over this tree and found to report honest prose almost exclusively — which is how a lint gets routed around. prose_number_claims()'s WHAT IT CANNOT SEE is the full list with the measurement behind each refusal, and pn31 is the case that goes red if somebody widens one. So a green build is not evidence that a number you wrote is safe; it is evidence that none of the shapes the lint knows matched.
  • Every command that mutates the manifest revalidates via scripts/manifest/validate-manifest.py.
  • COMPATIBILITY.md is a contract, not a description. It promises that a meta.version the plugin accepts keeps being accepted and that a config key it reads keeps being read. So removing either, or changing which of two keys wins, is no longer a judgement call — it is a major release. Adding is always free. The document also names what is deliberately not promised; extend that list rather than quietly widening the promise.

Read the full file on GitHub · 439 lines

Changes

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.

  1. today Changed · +7 lines · +120 tokens per session 1c39fe16b27b
  2. 2d ago Changed · +9 lines · +288 tokens per session 2ae48d6c82b9
  3. 3d ago Changed · -2 lines · +51 tokens per session 951a16806486
  4. 7d ago Changed · +12 lines · +285 tokens per session 3c959532a9f0
  5. 10d ago Changed · +16 lines · +409 tokens per session 1e47556b88ac
  6. 14d ago Changed · +1 lines · +25 tokens per session 6c5fc8c3f129
  7. 24d ago Changed · +10 lines · +221 tokens per session 93145a1c8d85
  8. 26d ago Changed · +13 lines · +244 tokens per session 48f44347ab4e
  9. 1mo ago Changed · +3 lines · +35 tokens per session 9b6305563f6e
  10. 1mo ago First seen · 370 lines · 6,023 tokens per session scan A 36553b9a6755

Subscribe to this mod's changes

claude-plugins CLAUDE.md is an instructions file published in the GitHub repository AleksandarBisevac/claude-plugins (4 stars, last pushed yesterday), licensed MIT. It adds 7,701 tokens to every session, about $0.0308 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,581 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 4,261 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,731 tokens