AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Frontend Llm Output Handler

skill-haoliangcheng-skills-frontend-llm-output-handler · by HaoliangCheng

Guide for enhancing frontend code with the capability to render AI/LLM outputs (Markdown, LaTeX, code blocks) securely and accurately in the UI.

— No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-haoliangcheng-skills-frontend-llm-output-handler

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-haoliangcheng-skills-frontend-llm-output-handler)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
○ 7mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Frontend Llm Output Handler? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Frontend LLM Output Handler

Goal

Enhance existing frontend code to support the rendering of complex LLM response strings.

  • Input: Frontend code (JavaScript, React, TypeScript).
  • Output: Enhanced frontend code with integrated capabilities for parsing Markdown, rendering LaTeX math formulas, and displaying interactive code blocks.

Dependencies

The implementation uses the following packages:

  • Markdown: marked
  • Math/LaTeX: katex
  • Sanitization: dompurify
  • Syntax Highlighting: highlight.js
  • React Styling: styled-components
  • DOM Utility: jQuery (optional, for non-React implementations)

Instructions

To enhance frontend components for AI-generated responses, follow this 4-step integration pipeline:

1. Pre-processing (Math Compatibility)

AI models often produce single backslashes in LaTeX (e.g., \frac). Most Markdown parsers consume these as escape characters. You must normalize them before parsing.

// Normalize backslashes for KaTeX compatibility
const normalized = rawText.replace(/\\/g, '\\\\');

2. Markdown Parsing

Use a robust parser like marked. Ensure you handle the output as an HTML string.

3. Code Block Decoration

AI responses frequently contain code. Enhance standard output by wrapping it in a container with a language label to improve readability and visual structure.

4. Security & Post-processing

  • Sanitize with Config: ALWAYS use DOMPurify. Ensure your configuration allows the specific tags and attributes you've added (e.g., class).

``javascript DOMPurify.sanitize(html, { ALLOWED_TAGS: ['p', 'br', 'strong', 'em', 'img', 'code', 'pre', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'div', 'span', 'table', 'thead', 'tbody', 'tr', 'th', 'td'], ALLOWED_ATTR: ['src', 'alt', 'class', 'href', 'style'] }); ``

  • Math Rendering (KaTeX): Call renderMathInElement after the content is added to the DOM. You MUST specify delimiters so the renderer knows what to look for:

``javascript renderMathInElement(container, { delimiters: [ { left: '$$', right: '$$', display: true }, { left: '$', right: '$', display: false }, { left: '\\(', right: '\\)', display: false }, { left: '\\[', right: '\\]', display: true } ], throwOnError: false }); ``

Performance & UX Tips (React)

  • Memoization: Use useMemo to wrap the parsing logic and React.memo for message components. This prevents expensive re-parsing of the entire chat history when new messages arrive.
  • Auto-scroll: Implement a useEffect that monitors the message list and updates scrollTop to keep the latest AI response in view.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.