markdown-formatterFormat and beautify markdown documents with configurable styles. Preserve structure, fix formatting, ensure consistency.
Install via ClawdBot CLI:
clawdbot install Michael-laffin/markdown-formatterVernox Utility Skill - Make your markdown look professional.
Markdown-Formatter is a powerful tool for formatting, linting, and beautifying markdown documents. Supports multiple style guides (CommonMark, GitHub Flavored Markdown, custom rules) and handles everything from simple cleanup to complex reformatting.
clawhub install markdown-formatter
const result = await formatMarkdown({
markdown: '# My Document\n\n\n## Section 1\nContent here...',
style: 'github',
options: {
maxWidth: 80,
headingStyle: 'atx'
}
});
console.log(result.formattedMarkdown);
const results = await formatBatch({
markdownFiles: ['./doc1.md', './doc2.md', './README.md'],
style: 'github',
options: { wrapWidth: 80 }
});
results.forEach(result => {
console.log(`${result.file}: ${result.warnings} warnings`);
});
const result = await lintMarkdown({
markdown: '# My Document\n\n\nBad list\n\n- item 1\n- item 2',
style: 'github'
});
console.log(`Errors found: ${result.errors}`);
console.log(`Fixed: ${result.fixed}`);
formatMarkdownFormat markdown content according to style guide.
Parameters:
markdown (string, required): Markdown content to formatstyle (string, required): Style guide name ('commonmark', 'github', 'commonmark', 'custom')options (object, optional):maxWidth (number): Line wrap width (default: 80)headingStyle (string): 'atx' | 'setext' | 'underlined' | 'consistent' (default: 'atx')listStyle (string): 'consistent' | 'dash' | 'asterisk' | 'plus' (default: 'consistent')codeStyle (string): 'fenced' | 'indented' (default: 'fenced')emphasisStyle (string): 'underscore' | 'asterisk' (default: 'asterisk')strongStyle (string): 'asterisk' | 'underline' (default: 'asterisk')linkStyle (string): 'inline' | 'reference' | 'full' (default: 'inline')preserveHtml (boolean): Keep HTML as-is (default: false)fixLists (boolean): Fix inconsistent list markers (default: true)normalizeSpacing (boolean): Fix spacing around formatting (default: true)Returns:
formattedMarkdown (string): Formatted markdownwarnings (array): Array of warning messagesstats (object): Formatting statisticslintResult (object): Linting errors and fixesoriginalLength (number): Original character countformattedLength (number): Formatted character countformatBatchFormat multiple markdown files at once.
Parameters:
markdownFiles (array, required): Array of file pathsstyle (string): Style guide nameoptions (object, optional): Same as formatMarkdown optionsReturns:
results (array): Array of formatting resultstotalFiles (number): Number of files processedtotalWarnings (number): Total warnings across all filesprocessingTime (number): Time taken in mslintMarkdownCheck markdown for issues without formatting.
Parameters:
markdown (string, required): Markdown content to lintstyle (string): Style guide nameoptions (object, optional): Additional linting optionscheckLinks (boolean): Validate links (default: true)checkHeadingLevels (boolean): Check heading hierarchy (default: true)checkListConsistency (boolean): Check list marker consistency (default: true)checkEmphasisBalance (boolean): Check emphasis pairing (default: false)Returns:
errors (array): Array of error objectswarnings (array): Array of warning objectsstats (object): Linting statisticssuggestions (array): Suggested fixes\\`~~text~~config.json:{
"defaultStyle": "github",
"maxWidth": 80,
"headingStyle": "atx",
"listStyle": "consistent",
"codeStyle": "fenced",
"emphasisStyle": "asterisk",
"linkStyle": "inline",
"customRules": [],
"linting": {
"checkLinks": true,
"checkHeadingLevels": true,
"checkListConsistency": true
}
}
const result = await formatMarkdown({
markdown: '# My Title\n\n\nThis is content.',
style: 'github'
});
console.log(result.formattedMarkdown);
const result = await formatMarkdown({
markdown: '# Header 1\n## Header 2\n\nParagraph...',
style: 'github',
options: {
fixLists: true,
normalizeSpacing: true,
wrapWidth: 80
}
});
console.log(result.formattedMarkdown);
const result = await lintMarkdown({
markdown: '# Title\n\n- Item 1\n- Item 2\n\n## Section 2',
style: 'github'
});
console.log(`Errors: ${result.errors.length}`);
result.errors.forEach(err => {
console.log(` - ${err.message} at line ${err.line}`);
});
// Fix automatically
const fixed = await formatMarkdown({
markdown: result.fixed,
style: 'github'
});
const results = await formatBatch({
markdownFiles: ['./doc1.md', './doc2.md', './README.md'],
style: 'github'
});
console.log(`Processed ${results.totalFiles} files`);
console.log(`Total warnings: ${results.totalWarnings}`);
MIT
Format markdown. Keep your docs beautiful. ๐ฎ
Generated Mar 1, 2026
Open source maintainers can use this skill to standardize README files and documentation across repositories, ensuring consistent formatting, fixing list markers, and removing extra whitespace. This improves readability and professionalism for contributors and users.
Bloggers and content creators can format articles with consistent heading styles, beautify markdown from LLM outputs, and optimize line wrapping for better presentation. This saves time on manual editing and enhances content quality before publishing.
Technical writers can use this skill to format API specs, ensure proper code block spacing, and validate links in documentation. It helps maintain consistency across large documentation sets and reduces errors in technical guides.
Educators and course creators can clean up markdown-based lesson plans, fix formatting inconsistencies in study materials, and apply style guides for uniform presentation. This streamlines content creation for online learning platforms.
Businesses can use this skill to standardize internal markdown documents, such as wikis and reports, by applying company-specific style rules and linting for errors. It ensures professionalism and consistency in corporate communications.
Offer a free tier for basic formatting with limited features, and charge for advanced options like custom style guides, batch processing, and API access. Revenue comes from subscription plans targeting teams and enterprises.
Partner with platforms like GitHub, GitLab, or CMSs to embed this skill as a built-in formatting tool. Revenue is generated through licensing fees or revenue-sharing agreements based on usage within those ecosystems.
Provide consulting services to customize the skill for specific organizational needs, such as creating proprietary style guides or integrating with internal workflows. Revenue comes from one-time project fees and ongoing support contracts.
๐ฌ Integration Tip
Integrate this skill into CI/CD pipelines to automatically format markdown files on commit, ensuring consistent documentation without manual effort. Use webhooks to trigger formatting in content management systems for real-time updates.
Edit PDFs with natural-language instructions using the nano-pdf CLI.
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
็จ MinerU API ่งฃๆ PDF/Word/PPT/ๅพ็ไธบ Markdown๏ผๆฏๆๅ ฌๅผใ่กจๆ ผใOCRใ้็จไบ่ฎบๆ่งฃๆใๆๆกฃๆๅใ
Generate hand-drawn style diagrams, flowcharts, and architecture diagrams as PNG images from Excalidraw JSON
The awesome PPT format generation tool provided by baidu.