commonmark
Use when parsing or generating Markdown following the CommonMark specification - AST structure, block/inline elements, and extensions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when parsing or generating Markdown following the CommonMark specification - AST structure, block/inline elements, and extensions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when writing or editing .omg.md files - the human-first DSL for API specification that compiles to OpenAPI 3.1
Use when building CLI tools with Commander.js - commands, options, arguments, and help text for Node.js command-line applications
Use when creating GitHub Actions workflows for CI/CD - testing, building, publishing npm packages, and automating repository tasks
Use when working with JSON Schema for validation, OpenAPI schemas, type definitions, and data structure specification
Use when implementing Language Server Protocol features - diagnostics, completions, hover, go-to-definition, and editor integration
Use when managing npm workspaces monorepos - package dependencies, build ordering, cross-package development, and publishing workflows
| name | commonmark |
| description | Use when parsing or generating Markdown following the CommonMark specification - AST structure, block/inline elements, and extensions |
import { Parser, HtmlRenderer } from 'commonmark';
const parser = new Parser();
const renderer = new HtmlRenderer();
const ast = parser.parse('# Hello\n\nWorld');
const html = renderer.render(ast);
| Type | Description |
|---|---|
document | Root node |
heading | # through ###### |
paragraph | Text block |
code_block | Fenced (```) or indented |
block_quote | > prefixed |
list | Ordered or bullet list |
item | List item |
thematic_break | ---, ***, ___ |
| Type | Description |
|---|---|
text | Plain text |
emph | *italic* or _italic_ |
strong | **bold** or __bold__ |
code | `inline` |
link | [text](url) |
image |  |
softbreak | Line break in source |
hardbreak | Two spaces + newline |
const walker = ast.walker();
let event;
while ((event = walker.next())) {
const { node, entering } = event;
if (node.type === 'heading' && entering) {
console.log(`H${node.level}: ${node.firstChild?.literal}`);
}
}
=== or --- underline[text](url "title") or [text][ref]GitHub Flavored Markdown adds:
| col | col |~~text~~- [ ] and - [x]node.literal for text contentnode.destination for link/image URLsnode.info contains fenced code language