一键导入
lint-clean-markdown
Write markdown that passes linting on first attempt by internalizing common rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Write markdown that passes linting on first attempt by internalizing common rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run the 7-step Artificial Critical Thinking pass — Materiality → Hypothesise → Alternatives → Disconfirmers → Audit priors → Severity → Commit-with-marker
Challenge what you think is right — alternative hypotheses, missing data, evidence quality, bias detection, falsifiability, and adversarial review
Step-back protocol — restate, generalise, specialise, invert, ask why, pre-mortem, check stakeholders, and audit framings before solving
Build knowledge bases that build software — research before code, teach before execute
Two-phase brain upgrade — mechanical install via shared core, then LLM-led semantic reconciliation
Clear documentation through visual excellence
| type | skill |
| lifecycle | stable |
| inheritance | inheritable |
| name | lint-clean-markdown |
| description | Write markdown that passes linting on first attempt by internalizing common rules. |
| tier | core |
| applyTo | **/*.md,**/*markdown*,**/*lint* |
| currency | "2026-04-20T00:00:00.000Z" |
Write markdown that passes linting on first attempt by internalizing common rules.
Eliminate the edit-lint-fix cycle by writing markdown correctly the first time. This skill encodes the most common markdown lint rules as muscle memory.
When in doubt: Add a blank line.
90% of markdown lint errors are missing blank lines. Lists, code blocks, and headings all need breathing room.
| Rule | Code | Pattern | Mnemonic |
|---|---|---|---|
| Blank lines around lists | MD032 | \n- item\n- item\n | "Lists breathe" |
| Blank lines around fences | MD031 | \n```code```\n | "Code breathes" |
| Blank line before headings | MD022 | text\n\n## Head | "Headers breathe" |
| Use dash for lists | MD004 | - not * or + | "Dash dash dash" |
| No trailing whitespace | MD009 | No spaces at line end | "Clean endings" |
| Single final newline | MD047 | One \n at EOF | "One newline" |
| Language on fences | MD040 | ```js not ``` | "Name your code" |
| Consistent fence style | MD046 | Use ``` not indent | "Fences only" |
| No bold as heading | MD036 | Use ## not **text** | "Headers are headers" |
| Table separator spacing | MD060 | Space around pipes | "Tables breathe too" |
❌ Wrong: Text immediately before/after list
✅ Correct: Blank line before first - AND after last -
**Why**:
- Reason one
- Reason two
**Result**: Something
❌ Wrong: Text touching the fence markers
✅ Correct: Blank line before opening ``` AND after closing ```
❌ Wrong: Some text.\n## Heading
✅ Correct: Some text.\n\n## Heading
❌ Wrong: * item or + item
✅ Correct: - item
❌ Wrong: ``` (no language)
✅ Correct: ```javascript or ```text or ```markdown
textWhen showing a template/pattern (not a renderable diagram), use ```text instead of ```mermaid.
Why: Mermaid parser will fail on placeholder text like [DIAGRAM_TYPE].
You cannot nest fenced code blocks in markdown.
When documenting code block rules (like this skill), use:
```jsThis skill itself demonstrates the solution.
Before writing markdown, plan for:
| ---- | separator row