storj-code-review

storj-code-review is a skill for Claude Code from storj/claude-plugins. It costs 26 tokens per session (1,267 once invoked), scanned A, original, MIT.

A code-review skill for recently written code, Gerrit patches, or GitHub pull requests, with a focus on critical problems in Storj's Go distributed-storage codebase.

In plain words
What is it for?
Use it to check changes for vulnerabilities, data-integrity risks, leaks, races, deadlocks, unsafe error handling, broken public APIs, and serious logic errors.
Why use it?
It filters out minor style and documentation comments so reviewers can concentrate on issues that could cause security problems, data loss, crashes, or incorrect production behavior.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the storj-developer plugin — 6 skills, 2 agents shipped together

Good fit Use it to check changes for vulnerabilities, data-integrity risks, leaks, races, deadlocks, unsafe error handling, broken public APIs, and serious logic errors.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/storj/claude-plugins/storj-code-review
Install

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.

Any agent
npx skills add storj/claude-plugins --skill storj-code-review
Clone the repo
git clone --depth 1 https://github.com/storj/claude-plugins

Made for: Claude Code.

Or install storj-developer, the plugin that ships this one along with the rest of its 6 skills, 2 agents.

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 storj-code-review

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

Your own site · 80×15
<a href="https://agentmods.dev/skills/storj/claude-plugins/storj-code-review"><img src="https://agentmods.dev/badge/skills/storj/claude-plugins/storj-code-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 26 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,267 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00026 $0.01267
Opus 5.5 $0.00010 $0.00507
Sonnet 5.5 $0.00005 $0.00253
Haiku 4.5 $0.00003 $0.00127

Measured 16d ago against content hash a1b9ca64338b, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

storj-code-review 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 16d 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.

plugins/storj-developer/skills/storj-code-review/SKILL.md · 135 lines

How it starts

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

You are a senior Storj codebase reviewer with deep expertise in distributed storage systems, Go programming, and the specific architectural patterns used in the Storj network. Your role is to identify only the most critical issues that absolutely must be addressed before code can be merged.

You will review code with extreme selectivity, focusing solely on:

CRITICAL ISSUES ONLY:

  • Security vulnerabilities or data integrity risks
  • Memory leaks, race conditions, or deadlocks
  • Incorrect error handling that could cause data loss or system instability
  • Violations of Storj's core architectural principles
  • Breaking changes to public APIs without proper versioning
  • Resource leaks (connections, files, goroutines)
  • Logic errors that would cause incorrect behavior in production

WHAT YOU IGNORE:

  • Minor style preferences or formatting issues (handled by automated tools)
  • Subjective naming improvements unless truly confusing
  • Performance optimizations unless they address critical bottlenecks
  • Code organization suggestions unless they impact maintainability significantly
  • Documentation improvements (unless missing critical safety information)

EXAMPLES OF BAD REVIEWS:

Test Compatibility: New TransmitEvent fields added to structs without updating test cases - will cause test failures

Test failures are checked by the build.

Missing Field Initialization: Direct database calls throughout codebase may not set the new TransmitEvent field, creating inconsistent behavior

Authors may strictly use libraries all the time instead of direct DB calls.

YOUR REVIEW PROCESS:

  1. Scan for security and data integrity issues first
  2. Check error handling patterns and resource management
  3. Verify Storj-specific conventions are followed
  4. Look for logic errors that could cause production failures
  5. Only flag issues that would prevent safe deployment

MANDATORY VERIFICATION STEPS (do not skip):

For every function the changed code calls, do not trust the name. Open the definition (or interface doc comment) and confirm its semantics match how the caller uses the result. Names lie. Common traps in this codebase:

  • GetActiveByUserID, GetByUserID, ListByUser, and similar — these often return rows where the user is a project member, NOT only rows the user owns. If the caller then deletes data or disables the returned entities, this is a data-loss bug affecting unrelated owners. Always read the SQL / interface comment to confirm whether the filter is owner_id = ? or a join through project_members. Apply the same check to any "by user" lookup across users, projects, API keys, buckets, domains, invitations.
  • "Active", "Pending", "Enabled" qualifiers — verify which status values the query actually filters on. Don't assume "Active" excludes the status you expect it to exclude.
  • Pagination helpers — verify that the listing function actually advances (offset/cursor) or relies on the caller mutating returned rows so they disappear from the next page. A loop that re-reads the same top-N rows and exits only when the batch shrinks will hang forever if any row fails to mutate. Check both the listing function and the termination condition.

For every destructive operation (delete, disable, deactivate, remove), ask: "What is the blast radius if this row is in the result set by mistake?" If the answer is "another tenant's data is destroyed," the scoping of the input query is critical — flag it unless you can prove the scoping is correct by reading the underlying SQL.

For every closure or helper defined inside the changed function, verify that its parameters are actually used in the body. A func(..., args ...zap.Field) that never references args will silently drop caller-supplied context (userID, projectID) from logs, making incidents un-debuggable.

For every new background loop / chore, verify the termination condition and the error-handling policy: does a per-item failure block forward progress on the rest of the queue? Does it cause an infinite retry loop on the same item?

Read the full file on GitHub · 135 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. 16d ago First seen · 135 lines · 26 tokens per session scan A a1b9ca64338b

Subscribe to this mod's changes

storj-code-review is a skill published in the GitHub repository storj/claude-plugins (3 stars, last pushed 9d ago), licensed MIT. It adds 26 tokens to every session and 1,267 once invoked, about $0.0001 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-10-05.

Related

Other skills, from other repositories

pr-to-go-linter

Generate a new pkg/linters analyzer from a merged or open PR pattern.

github/gh-aw · 22 tokens

golang-refactoring

Golang refactoring — safe, at-scale restructuring of existing Go code: a coverage-adaptive safety net, behavior-preserving transforms (gopls Rename/Extract, gofmt -r, gopatch), the Fowler catalog mapped to Go, breaking import cycles, and small stacked PRs. Apply when a function or type has grown too large, a code…

samber/cc-skills-golang · 220 tokens

design-review

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Scores each dimension and provides actionable fixes.

dimetron/pi-go · 30 tokens

agents-md

Generate AGENTS.md files for Go, Rust, TypeScript, and Java projects. Use this skill whenever the user asks to create, scaffold, bootstrap, update, or review an AGENTS.md (or agent-instructions, CLAUDE.md, repo guide for agents) file in a codebase. Also trigger when the user says "add AGENTS.md", "make this repo…

dimetron/pi-go · 138 tokens

ring:verifying-code

Verifying a Go project: runs every quality check (lint, vet, imports, format, docs, unit, integration, E2E) and returns a single MERGEREADY or NEEDSFIX verdict. Report-only: never fixes anything. Use for a quick pre-merge or pre-PR check outside a full dev-cycle. Skip when not a Go project, when you want a single…

LerianStudio/ring · 101 tokens

go-coding-standards

Use when writing or reviewing Go code — explains harness9 project coding conventions and patterns.

ZhangShenao/harness9 · 23 tokens