# Md Lint Fix

> Detecta y auto-corrige errores de markdownlint-cli2 en archivos .md modificados antes de commit/push. Resuelve MD024 con contexto del heading padre, MD040 infiriendo idioma del bloque, y MD031/32/34/28/27/22/26/29/30/09/12/047 vía --fix. Reporta los que requieren criterio humano (MD025, MD042, MD051). Úsalo cuando el usuario diga "arregla el lint MD", "corrige los markdown", "limpia los .md", "fi…

- **Type:** Skill
- **Install:** `agentstack add skill-vladimiracunadev-create-claude-skills-toolkit-md-lint-fix`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [vladimiracunadev-create](https://agentstack.voostack.com/s/vladimiracunadev-create)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [vladimiracunadev-create](https://github.com/vladimiracunadev-create)
- **Source:** https://github.com/vladimiracunadev-create/claude-skills-toolkit/tree/main/skills/md-lint-fix
- **Website:** https://github.com/vladimiracunadev-create/claude-skills-toolkit#-catálogo

## Install

```sh
agentstack add skill-vladimiracunadev-create-claude-skills-toolkit-md-lint-fix
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# md-lint-fix

Detecta, auto-corrige y reporta errores markdownlint en archivos `.md`
modificados — antes de cualquier `git commit` o `git push`.

## IMPORTANTE — Cómo funciona desde cualquier repositorio

El script vive en `~/.claude/skills/md-lint-fix/fix-md-lint.py` pero usa
`Path.cwd()` como raíz de trabajo. Esto significa que **trabaja siempre
en el directorio donde estás parado**, no en portfolio-pages.

Desde cualquier repo, el comando es:

```bash
# Archivos .md modificados según git (uso normal pre-push)
python ~/.claude/skills/md-lint-fix/fix-md-lint.py

# Todos los .md del repo actual
python ~/.claude/skills/md-lint-fix/fix-md-lint.py --all

# Solo diagnóstico sin modificar nada
python ~/.claude/skills/md-lint-fix/fix-md-lint.py --dry-run
```

El script detecta el repo actual desde `Path.cwd()` — no importa desde
qué carpeta se llame el script.

---

## Cuándo usar este skill

- El usuario menciona errores MD031, MD034, MD040, MD032, MD024, MD028
- Antes de hacer commit/push con archivos `.md` modificados
- Después de crear o editar skills, docs o cualquier archivo markdown
- El usuario dice "arregla el lint", "corrige los markdown", "limpia los MD"

---

## Errores que resuelve automáticamente

| Código | Descripción | Solución |
|--------|-------------|----------|
| MD024 | Duplicate headings | Script propio — añade contexto del heading padre |
| MD040 | Fenced code block without language | Script propio — infiere lenguaje por contenido |
| MD031 | Blank lines around fenced code blocks | Auto-fix (`--fix`) |
| MD032 | Lists surrounded by blank lines | Auto-fix (`--fix`) |
| MD034 | Bare URL used | Auto-fix (`--fix`) — envuelve en `<>` |
| MD028 | Blank line inside blockquote | Auto-fix (`--fix`) |
| MD027 | Multiple spaces after blockquote | Auto-fix (`--fix`) |
| MD022 | Headings not surrounded by blank lines | Auto-fix (`--fix`) |
| MD026 | Trailing punctuation in heading | Auto-fix (`--fix`) |
| MD029 | Ordered list item prefix | Auto-fix (`--fix`) |
| MD030 | Spaces after list markers | Auto-fix (`--fix`) |
| MD009 | Trailing spaces | Auto-fix (`--fix`) |
| MD012 | Multiple consecutive blank lines | Auto-fix (`--fix`) |
| MD047 | Single trailing newline | Auto-fix (`--fix`) |

**No resuelve automáticamente** (requieren criterio humano):

- MD025 — múltiples headings H1 (implica reestructura)
- MD014 — `$` antes de comandos shell (decisión de estilo)
- MD042 — enlaces vacíos (requiere URL real)
- MD051 — fragmentos de enlace rotos (requiere verificar ancla)
- MD013 — line length (desactivado en la mayoría de proyectos)
- MD033 — inline HTML (depende de config del proyecto)

---

## Requisito en el repo destino

El repo donde se ejecute debe tener `markdownlint-cli2` disponible.
**Recomendado:** `pnpm` (postinstall bloqueado por defecto + cuarentena de 24 h sobre versiones nuevas — ver [docs/supply-chain-security.md](../../docs/supply-chain-security.md)).

```bash
# Verificar si está instalado
pnpm exec markdownlint-cli2 --version   # o: npx markdownlint-cli2 --version

# Instalar en el repo (recomendado)
pnpm add -D markdownlint-cli2

# Alternativas — válidas pero con menos defensas por defecto contra ataques tipo Shai-Hulud:
#   yarn add -D markdownlint-cli2
#   npm  install --save-dev --ignore-scripts markdownlint-cli2
```

Si el repo no tiene `markdownlint-cli2`, `pnpm dlx markdownlint-cli2` (o `npx`) lo descargará automáticamente.

---

## Flujo de ejecución del script

1. Detecta `.md` en scope (modificados o todos según flag)
2. Escanea con `markdownlint-cli2` y cuenta errores iniciales
3. Corrige **MD024**: añade contexto del heading padre para desambiguar
4. Corrige **MD040**: infiere lenguaje del bloque (bash/python/json/yaml/hcl/etc.)
5. Auto-fix con `markdownlint-cli2 --fix` (14 reglas)
6. Verifica y reporta errores restantes agrupados por código de regla

---

## Referencia de reglas

Documentación oficial:

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [vladimiracunadev-create](https://github.com/vladimiracunadev-create)
- **Source:** [vladimiracunadev-create/claude-skills-toolkit](https://github.com/vladimiracunadev-create/claude-skills-toolkit)
- **License:** MIT
- **Homepage:** https://github.com/vladimiracunadev-create/claude-skills-toolkit#-catálogo

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-vladimiracunadev-create-claude-skills-toolkit-md-lint-fix
- Seller: https://agentstack.voostack.com/s/vladimiracunadev-create
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
