Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
antdv-next avatar

X Markdown

  • 5 installs
  • 71 repo stars
  • Updated August 4, 2026
  • antdv-next/x

x-markdown (antdv-next) is a Claude Code skill for rendering Markdown with the @antdv-next/x-markdown Vue package, including streaming LLM output, custom component mapping, plugins, and themes.

About

This skill covers rendering Markdown with the @antdv-next/x-markdown Vue package, including streaming LLM output. A developer uses it to render assistant replies chunk-by-chunk, map custom tags to business components, add plugins or themes, and handle incomplete syntax safely. It sits at the render layer after @antdv-next/x and @antdv-next/x-sdk have produced the message data.

  • Renders Markdown with @antdv-next/x-markdown, including LLM streaming chunks
  • Handles incomplete syntax recovery via hasNextChunk and streamStatus
  • Covers custom component mapping, plugins, themes, and safe HTML defaults

X Markdown by the numbers

  • 5 all-time installs (skills.sh)
  • Ranked #1,790 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

x-markdown capabilities & compatibility

Capabilities
markdown rendering · streaming adapter · ai chat ui
Use cases
frontend
From the docs

What x-markdown says it does

This skill focuses on one job**: render Markdown correctly and predictably with `@antdv-next/x-markdown`.
SKILL.md
Use `streaming.hasNextChunk = false` on the final chunk, otherwise incomplete placeholders will not flush into final content.
SKILL.md
npx skills add https://github.com/antdv-next/x --skill x-markdown

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs5
repo stars71
Last updatedAugust 4, 2026
Repositoryantdv-next/x

What it does

Render streaming Markdown from an LLM inside an @antdv-next/x Vue chat UI.

Who is it for?

Rendering streaming LLM Markdown replies inside an @antdv-next/x Vue chat UI

Skip if: Managing chat state or adapting APIs, which the x-chat-provider and use-x-chat skills handle

When should I use this skill?

You need to render Markdown, especially streaming chunks, in an Antdv Next X chat interface

What you get

Predictable Markdown rendering that recovers incomplete streaming syntax

  • Streaming Markdown renderer configuration
  • Custom component map for tags

By the numbers

  • Four-step recommended workflow from core render to extensions

Files

SKILL.mdMarkdownGitHub ↗

🎯 Skill Positioning

This skill focuses on one job: render Markdown correctly and predictably with @antdv-next/x-markdown.

It covers:

  • Basic rendering and package boundaries
  • LLM streaming output and incomplete syntax handling
  • Custom component mapping for rich chat or data-display blocks
  • Plugins, themes, and safe rendering defaults

Table of Contents

📦 Package Boundaries

LayerPackageResponsibility
UI layer@antdv-next/xChat UI, bubble lists, sender, rich interaction components
Data layer@antdv-next/x-sdkProviders, requests, streaming data flow, state management
Render layer@antdv-next/x-markdownMarkdown parsing, streaming rendering, plugins, themes, custom renderers
⚠️ x-markdown is not a chat-state tool. Use it to render content after @antdv-next/x and @antdv-next/x-sdk have already produced the message data.

🚀 Quick Start Decision Guide

If you need to...Read firstTypical outcome
Render Markdown with the smallest setupCORE.mdXMarkdown renders trusted content with basic styling
Render LLM streaming chunksSTREAMING.mdCorrect hasNextChunk, placeholders, tail indicator, loading states
Replace tags with business componentsEXTENSIONS.mdStable components map for custom tags and code blocks
Add plugins or theme overridesEXTENSIONS.mdPlugin imports, theme class wiring, minimal CSS overrides
Check prop details and defaultsAPI.mdFull prop table for XMarkdown and streaming options

🛠 Recommended Workflow

1. Start with CORE.md and get a plain render working first. 2. Add STREAMING.md only when the content arrives chunk-by-chunk. 3. Add EXTENSIONS.md when you need custom tags, plugins, syntax blocks, or themes. 4. Use API.md to confirm prop names and defaults instead of guessing.

Minimal Setup Reminder

import { XMarkdown } from "@antdv-next/x-markdown";

export default () => <XMarkdown content="# Hello" />;

🚨 Development Rules

  • Prefer a stable components object. Do not create new inline component mappings on every render.
  • Use streaming.hasNextChunk = false on the final chunk, otherwise incomplete placeholders will not flush into final content.
  • Treat raw HTML carefully. Prefer escapeRawHtml when raw HTML should stay visible as text.
  • If raw HTML must be rendered, keep dompurifyConfig explicit and minimal.
  • Keep theme overrides small. Start from x-markdown-light or x-markdown-dark and override only the variables you need.
  • If a custom component depends on complete syntax, branch on streamStatus === 'done'.

🤝 Skill Collaboration

ScenarioRecommended skill combinationWhy
Rich assistant replies in chatx-chat-providerx-requestuse-x-chatx-markdownProvider and request handle data flow, x-markdown handles final rendering
Built-in provider with Markdown repliesx-requestuse-x-chatx-markdownKeep request config and rendering concerns separate
Standalone Markdown page or docs viewerx-markdown onlyNo chat data flow needed

Boundary Rules

  • Use `x-chat-provider` when adapting an API shape.
  • Use `x-request` when configuring transport, auth, retries, or streaming separators.
  • Use `use-x-chat` when managing chat state in Vue.
  • Use `x-markdown` when the content itself needs Markdown parsing, streaming recovery, or rich component rendering.

🔗 Reference Resources

  • CORE.md - Package boundaries, install/setup, safe defaults, common render patterns
  • STREAMING.md - Chunked rendering, incomplete syntax recovery, loading vs done behavior
  • EXTENSIONS.md - Components, plugins, themes, custom tag guidance
  • API.md - Generated API reference from the official x-markdown docs

Official Docs

Related skills

FAQ

How do I flush incomplete streaming placeholders?

Set streaming.hasNextChunk to false on the final chunk, otherwise incomplete placeholders will not flush into final content.

How is raw HTML handled?

Prefer escapeRawHtml to keep raw HTML visible as text; if it must render, keep dompurifyConfig explicit and minimal.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.