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 agentmods add skills/vasallo94/obsidian-mcp-server/code-qualitynpx skills add Vasallo94/obsidian-mcp-server --skill code-qualitygit clone --depth 1 https://github.com/Vasallo94/obsidian-mcp-serverWrote 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/vasallo94/obsidian-mcp-server/code-quality)<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>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 | $0.00031 | $0.00817 |
| Opus 5 | $0.00015 | $0.00409 |
| Sonnet 5 | $0.00006 | $0.00163 |
| Haiku 4.5 | $0.00003 | $0.00082 |
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.
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:
- Standard library
- Third-party
- 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"
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.
- 3d ago First seen · 162 lines · 31 tokens per session scan A 236f3021ac03
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.
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.
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.
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…
python-api-docs
Keep public Python APIs documented with accurate docstrings, type hints, and optional generated reference docs.
build-mcp-server
MCP (Model Context Protocol) - Build AI-native servers with tools, resources, and prompts. TypeScript/Python SDKs for Claude Desktop integration.
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…