Code Quality

Code Quality is a skill for Claude Code, Codex from Vasallo94/obsidian-mcp-server. It costs 31 tokens per session (817 once invoked), scanned A, original, MIT.

A code-quality guide for Python projects that uses Ruff for linting and formatting and Pyright for type checking.

In plain words
What is it for?
It is for formatting code, checking or fixing lint issues, and checking whether type annotations are used consistently.
Why use it?
It gives a repeatable way to find style, formatting, and type problems before code is committed.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/vasallo94/obsidian-mcp-server/code-quality
Any agent
npx skills add Vasallo94/obsidian-mcp-server --skill code-quality
Clone the repo
git clone --depth 1 https://github.com/Vasallo94/obsidian-mcp-server

Made for: Claude Code, Codex.

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 Code Quality

README.md
[![agentmods](https://agentmods.dev/badge/skills/vasallo94/obsidian-mcp-server/code-quality.svg)](https://agentmods.dev/skills/vasallo94/obsidian-mcp-server/code-quality)
Your own site
<a href="https://agentmods.dev/skills/vasallo94/obsidian-mcp-server/code-quality"><img src="https://agentmods.dev/badge/skills/vasallo94/obsidian-mcp-server/code-quality.svg" alt="Measured on agentmods" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 817 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00031 $0.00817
Opus 5 $0.00015 $0.00409
Sonnet 5 $0.00006 $0.00163
Haiku 4.5 $0.00003 $0.00082

Measured 3d ago against content hash 236f3021ac03, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

Code Quality 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 3d 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.

.agents/skills/code-quality/SKILL.md · 162 lines

How it starts

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

Code Quality Skill

Cuándo usar esta skill

  • Antes de hacer commit de cualquier cambio.
  • Cuando corrijas errores de linting o tipos.
  • Cuando formatees código nuevo.
  • Cuando necesites verificar la calidad general del código.

Herramientas de Calidad

Este proyecto usa:

Herramienta Propósito
Ruff Linting + Formatting
Pyright Type checking

Flujo de Verificación Completo

Paso 1: Formatear código

uv run ruff format .

Aplica formato automático a todo el código.

Paso 2: Verificar y corregir linting

# Solo verificar
uv run ruff check .

# Corregir automáticamente lo posible
uv run ruff check . --fix

Paso 3: Verificar tipos

uv run pyright

Errores Comunes y Soluciones

E501: Line too long

Problema: Línea excede 88 caracteres.

Soluciones:

# Antes
mensaje = "Este es un mensaje muy largo que excede el límite de caracteres permitidos por el linter"

# Después - usando paréntesis
mensaje = (
    "Este es un mensaje muy largo que excede "
    "el límite de caracteres permitidos por el linter"
)

# Después - para docstrings, usar noqa
"""Línea muy larga que es difícil de partir.  # noqa: E501"""

Missing type hints

Problema: Función sin anotaciones de tipo.

Solución:

# Antes
def process(data):
    return data.upper()

# Después
def process(data: str) -> str:
    return data.upper()

Import ordering

Problema: Imports desordenados.

Solución: Ruff format los ordena automáticamente. Orden correcto:

  1. Standard library
  2. Third-party
  3. Local imports
import os
from pathlib import Path

from fastmcp import FastMCP
import anyio

from ..config import get_vault_path
from ..utils import get_logger

Configuración Actual

Ver pyproject.toml para configuración:

[tool.ruff]
line-length = 88

[tool.ruff.lint]
select = ["E", "F", "I", "W"]

[tool.pyright]
pythonVersion = "3.12"
typeCheckingMode = "standard"

Read the full file on GitHub · 162 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. 3d ago First seen · 162 lines · 31 tokens per session scan A 236f3021ac03

Subscribe to this mod's changes

Code Quality is a skill published in the GitHub repository Vasallo94/obsidian-mcp-server (9 stars, last pushed 26d ago), licensed MIT. It adds 31 tokens to every session and 817 once invoked, about $0.0002 per session on Opus 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.

Related

Other skills, from other repositories

model-context

MCP (Model Context Protocol) - Build AI-native servers with tools, resources, and prompts. TypeScript/Python SDKs for Claude Desktop integration.

bobmatnyc/claude-mpm-skills · 34 tokens

column-aligned-fields

Enforce column-aligned inline comments on dataclass and enum fields. Use when writing or reviewing Python dataclasses, enums, TypedDicts, or any structured type with inline field comments.

Kevin-Liu-01/Agent-Machines · 43 tokens

houdini-dev

Pipeline skill — development workflow helpers for authoring Houdini Python tools in a live session: attach a local project to sys.path, hot-reload modules by prefix or name, run module entrypoints or scripts with captured stdout/stderr/traceback, start a debugpy listener, introspect HOM objects/signatures/node-type…

dcc-mcp/dcc-mcp-houdini · 92 tokens

python-api-docs

Keep public Python APIs documented with accurate docstrings, type hints, and optional generated reference docs.

hs737/mcp-server-for-ynab · 24 tokens

build-mcp-server

MCP (Model Context Protocol) - Build AI-native servers with tools, resources, and prompts. TypeScript/Python SDKs for Claude Desktop integration.

bobmatnyc/claude-mpm · 36 tokens

click-to-mcp

Auto-wrap any Click or typer Python CLI as an MCP server with zero code changes. Use this skill whenever the user wants to expose a CLI tool to an AI agent via MCP, needs to convert a Click/typer app into an MCP server, wants to run an existing CLI through an LLM, or asks about bridging command-line tools and AI…

Coding-Dev-Tools/click-to-mcp · 104 tokens