skills/markdown-formatter/SKILL.md
Format and beautify markdown documents with configurable styles. Preserve structure, fix formatting, ensure consistency.
npx skillsauth add ariffazil/openclaw-workspace markdown-formatterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Vernox 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 options
checkLinks (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. 🔮
testing
OpenClaw edge agent bridge — operational triage, doctor, restart, and A2A bridge routing for the federation edge (Telegram surface). USE WHEN: "openclaw unhealthy", "gateway down", "edge bot not responding", "a2a bridge disconnected", "watchdog tripped", "openclaw doctor", "openclaw restart". NOT for token/security audit — use FORGE-telegram-audit.
tools
Generate images, videos, TTS, voice clone, and music via MiniMax MCP server. Use when user asks to "draw", "generate image", "create picture", "make a photo", "text to image", "image generation".
testing
Single load-bearing constitutional-judgment skill. Routes all F1–F13, verdict, hold, seal, scope, authority and floor-check calls through the live arif_judge surface. Replaces 7 overlapping predecessors (arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge, arifos-constitutional-judge).
development
MANDATORY LSP grounding gate BEFORE any code mutation on .ts, .py, .js, .tsx, .jsx files. Forces the agent to read real-time compiler diagnostics and structural project context before editing — eliminating blind guesses and anchoring every mutation in F2 (TRUTH). Routes through arifOS kernel (:8088) for centralized gate logic.