Borrowing it
Nothing to install: this file belongs to linuxfoundation/lfx-mcp. 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/linuxfoundation/lfx-mcp/main/.github/skills/mcp-code-review/SKILL.mdgit clone --depth 1 https://github.com/linuxfoundation/lfx-mcpWrote 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/linuxfoundation/lfx-mcp/mcp-code-review)<a href="https://agentmods.dev/skills/linuxfoundation/lfx-mcp/mcp-code-review"><img src="https://agentmods.dev/badge/skills/linuxfoundation/lfx-mcp/mcp-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.
<a href="https://agentmods.dev/skills/linuxfoundation/lfx-mcp/mcp-code-review"><img src="https://agentmods.dev/badge/skills/linuxfoundation/lfx-mcp/mcp-code-review.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.00084 | $0.01495 |
| Opus 5.5 | $0.00034 | $0.00598 |
| Sonnet 5.5 | $0.00017 | $0.00299 |
| Haiku 4.5 | $0.00008 | $0.00150 |
Grade A, and why
mcp-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 1mo 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
LFX MCP Server Code Review
Judge the implementation the way a senior reviewer the team trusts would: thorough yet pragmatic, catching real issues while respecting the author's time. Review the changed code, not the whole repo, and read enough surrounding code to judge each hunk in its real context.
The house standards
The repo defines its own standards; hold the diff to them, and name the
documented source in any standards finding. They live in the repo's
documentation (CLAUDE.md / the root AGENTS.md, ARCHITECTURE.md, and
what they point to): code layout, the error model, how tools are registered
and described, test expectations, license headers. Read the parts relevant
to the diff before judging, every run, because the standards belong to the
repo and move with it.
Enforcement runs in both directions: code that violates a documented standard is a finding, and a documented standard the code has visibly outgrown is a finding against the docs. If a documented convention is wrong for this specific change, say so explicitly and explain the trade, rather than silently waiving or silently enforcing it.
The standing distillate
These are the repo's most load-bearing, CI-enforced conventions, distilled so no review misses them. They summarize the docs, never replace them — when the docs and this list drift, the docs (and the code) win, and the drift is a finding against this skill.
- License header: every tracked source/config file (Go, YAML, shell,
Makefile, etc.) begins with the two-line LF/MIT header. The wording
varies by file type in this repo — Go files use
// Copyright The Linux Foundation and contributors.while YAML, shell, and Makefile use# Copyright The Linux Foundation and each contributor to LFX.— both followed bySPDX-License-Identifier: MITin the same comment syntax. Match the surrounding convention for the file type; missing headers are the #1 cause of CI failure (license-header-check.yml). - Package doc comments: every non-test
.gofile needs// Package <name> ...immediately abovepackage(revivepackage-commentsvia MegaLinter;_test.goexempt)..mega-linter.ymlis the single source of truth for what else is enforced. - Layout: entry point, config, and tool registration in
cmd/lfx-mcp-server/main.go; one file per tool/domain ininternal/tools/; scope constants ininternal/tools/scopes.go; JWT and API-key verification ininternal/auth/; the LFX V2 client (token exchange, slug resolver, access checks) ininternal/lfxv2/; the generic downstream HTTP client ininternal/serviceapi/. - The tool pattern: args struct with
json+jsonschematags →Register<ToolName>callingmcp.AddTool→handle<ToolName>→ registration innewServer()gated oncanRead/canManage→ name added todefaultTools. A Register call without thedefaultToolsentry means the tool silently won't run — a classic miss. Read tools always setReadOnlyHint: true; write tools explicitly setDestructiveHint. - Conventions: schemas are generated from struct tags (no manual schema
files); the package-level
schemaCacheis shared across per-request server instances — never duplicated;slogfor logging withconst errKey = "error"for structured error keys; scope enforcement is inline innewServer(), never wrapper functions.
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.
- 1mo ago First seen · 119 lines · 84 tokens per session scan A 7f50c0f35d65
mcp-code-review is a skill published in the GitHub repository linuxfoundation/lfx-mcp (21 stars, last pushed 6d ago), licensed MIT. It adds 84 tokens to every session and 1,495 once invoked, about $0.0003 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-09-26.
Other skills, from other repositories
test-review
You are an expert DataHub test reviewer. Your role is to evaluate pytest smoke tests against established testing standards, identify issues, and provide actionable feedback.
grade-tests
Grade curated individual tests for readiness, A-F quality and improvements. ALWAYS USE FOR: grade tests, review only a named test, per-test readiness or quality bands for supplied methods, bodies, file spans or bounded PR diffs, including existing tests. Return Pass/Failed/Uncertain/Not applicable; unresolved/empty…
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
brooks-test
Test quality review drawing on twelve classic engineering books — with primary focus on xUnit Test Patterns, The Art of Unit Testing, How Google Tests Software, and Working Effectively with Legacy Code — that diagnoses structural problems in an existing test suite: brittleness, mock abuse, coverage illusions, slow…
dart-mechanical-refactor
DART Mechanical Refactor: perform a behavior-preserving mechanical refactor.
aqe-review-quality
Review Agentic QE changes and issue an evidence-backed quality verdict. Use for code review, regression-risk assessment, release readiness, quality-gate evaluation, security/performance/testability review, or checking whether a change has sufficient verification. Do not use when the user primarily asks to implement a…