format-llm-markdown-output

Constrains LLM prompts to the markdown syntax supported by the glyvio_app gpt_markdown renderer.

1|Updated Jun 11, 2026
One-click install
npx skills add https://github.com/devena/glyvio-forge --skill format-llm-markdown-output-devena
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: format-llm-markdown-output
Source: https://github.com/devena/glyvio-forge/tree/main/claude/skills/format-llm-markdown-output
Command: npx skills add https://github.com/devena/glyvio-forge --skill format-llm-markdown-output-devena

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? The glyvio_app renderer (TextMarkdown, built on the gpt_markdown package) has no HTML support, so when an LLM is told only to "respond in markdown" it may emit HTML tags or unsupported syntax that silently renders as broken literal text in the UI. This Skill prevents that by enforcing a closed, enumerated allowlist of markdown syntax in every LLM-facing prompt. ## Core Features & Use Cases - Shared allowlist constant: Creates a single markdown_instructions.ts file per plugin exporting MARKDOWN_ALLOWLIST_INSTRUCTION, so every tool reuses the same wording instead of drifting free-hand descriptions. - Prompt wiring guidance: Shows how to interpolate the constant into a @SystemTool/@CustomTool "Instructions for the LLM" block or any JSON field the LLM fills with markdown. - Renderer-safe tag map: Documents exactly which syntax is safe (headings, bold, italic, lists, tables, links, code, LaTeX, and the custom <COR>text</> color tag) and which tags must never be requested from an LLM (<attachment id="..."> and @user:<id>, which require real ids). - Use Case: When building a System Tool whose report string is shown to the user as formatted chat text, apply this Skill so the AI Agent never produces <div> or <b> tags that appear as raw text on screen. ## Quick Start Ask the agent to apply the format-llm-markdown-output skill to wire the shared MARKDOWN_ALLOWLIST_INSTRUCTION constant into your tool's LLM-facing prompt.

Frequently Asked Questions about format-llm-markdown-output

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop an LLM from generating HTML in markdown responses?▼

Give the LLM a closed, enumerated allowlist of permitted syntax instead of a generic "respond in markdown" instruction. This Skill provides a shared MARKDOWN_ALLOWLIST_INSTRUCTION constant listing exactly the headings, bold, italic, lists, tables, links, and color tags the renderer supports, explicitly forbidding HTML tags like <b>, <div>, and <span>.

How do I format LLM output for the gpt_markdown Flutter package?▼

Restrict the prompt to standard markdown (headings, bold, italic, lists, tables, links, code blocks, LaTeX) plus the custom <COR>text</> color tag, since gpt_markdown has no HTML support. Interpolate the shared instruction constant into the tool's "Instructions for the LLM" block rather than writing free-hand formatting prose.

Why does markdown from my AI agent show as raw text in glyvio_app?▼

The TextMarkdown widget uses gpt_markdown, which does not render HTML or unrecognized syntax, so unsupported tags print as literal characters instead of erroring. The fix is constraining the LLM prompt to the documented allowlist so it never produces tags the renderer cannot handle.

Can the LLM generate attachment or user mention tags in glyvio markdown?▼

No. The <attachment id="..."> and @user:<id> tags require real ids from upload flows or user records, so an LLM asked to produce them will hallucinate nonexistent ids. Have the LLM reference people by plain name and never include these tags in LLM-facing instructions.

When should I not use this markdown constraint skill?▼

Skip it for tools that instruct the LLM to respond with strict JSON and no markdown, since there is no rendered text to constrain. It applies only when the tool's output string is ultimately rendered to the end user as markdown inside glyvio_app.