一键导入
code-quality
Skill para mantener la calidad del código: linting, formatting, type checking. Garantiza que el código cumple con los estándares del proyecto.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Skill para mantener la calidad del código: linting, formatting, type checking. Garantiza que el código cumple con los estándares del proyecto.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | Code Quality |
| description | Skill para mantener la calidad del código: linting, formatting, type checking. Garantiza que el código cumple con los estándares del proyecto. |
| tools | ["run_command","read","edit"] |
Este proyecto usa:
| Herramienta | Propósito |
|---|---|
| Ruff | Linting + Formatting |
| Pyright | Type checking |
uv run ruff format .
Aplica formato automático a todo el código.
# Solo verificar
uv run ruff check .
# Corregir automáticamente lo posible
uv run ruff check . --fix
uv run pyright
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"""
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()
Problema: Imports desordenados.
Solución: Ruff format los ordena automáticamente. Orden correcto:
import os
from pathlib import Path
from fastmcp import FastMCP
import anyio
from ..config import get_vault_path
from ..utils import get_logger
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"
Script para verificar todo antes de commit:
# Formatear + Lint + Tipos
uv run ruff format . && uv run ruff check . --fix && uv run pyright
Si necesitas ignorar una regla específica:
# Ignorar línea específica
long_string = "..." # noqa: E501
# Ignorar bloque
# ruff: noqa: E501
def function_with_long_lines():
...
⚠️ Usar con moderación. Preferir corregir el código.
Antes de considerar el código listo:
uv run ruff format . - Sin cambios pendientesuv run ruff check . - Sin erroresuv run pyright - Sin errores de tiposEntrevista a un experto de dominio (SME) para extraer su conocimiento técnico tácito y sintetizarlo en una Skill reutilizable. Se activa PROACTIVAMENTE ante 3 situaciones: (1) Frustración — el usuario se queja de código, arquitectura o falta de estándares; (2) Ambigüedad sin Reglas — se pide un refactor profundo pero no hay estándares definidos; (3) Fricción — el usuario ha corregido 2+ veces decisiones de diseño en la misma sesión. USE FOR: extraer estándares, crear reglas de arquitectura, definir anti-patrones, capturar conocimiento tácito, generar prompts reutilizables, entrevistar experto, sintetizar conocimiento técnico, crear skills desde cero.
Entrevista a un experto de dominio (SME) para extraer su conocimiento técnico y sintetizarlo en una Skill Maestra Abstracta (prompt reutilizable). Se activa PROACTIVAMENTE ante 3 situaciones: (1) Frustración — el usuario se queja de código, arquitectura o falta de estándares (ej. "vaya desastre", "arregla este espagueti", "los logs están mal"); (2) Ambigüedad sin Reglas — se pide un refactor profundo o pieza core pero no hay estándares definidos en el contexto; (3) Fricción — el usuario ha corregido 2 o más veces decisiones de diseño/arquitectura/formato en la misma sesión. USE FOR: extraer estándares, crear reglas de arquitectura, definir anti-patrones, refactor sin criterios claros, capturar conocimiento tácito, generar prompts reutilizables, entrevistar experto, sintetizar conocimiento técnico.
Skill para mantener la documentación sincronizada con el código. Incluye patrones de documentación, ubicaciones estándar, y checklists.
Skill para manejar el flujo de trabajo de Git: changelog, commits, push, y releases. Automatiza el proceso de versionado y publicación.
Skill para desarrollar, mantener y extender el servidor MCP de Obsidian. Incluye patrones de código, arquitectura, testing y gestión de paquetes.
Buenas prácticas y patrones de desarrollo Python para el proyecto MCP. Incluye estándares de código, patrones arquitectónicos, y convenciones.