@prefix :       <https://x.com/trq212/status/2052809885763747935#> .
@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:    <http://www.w3.org/2002/07/owl#> .
@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:   <http://www.w3.org/2004/02/skos/core#> .
@prefix schema: <http://schema.org/> .
@prefix dct:    <http://purl.org/dc/terms/> .
@prefix foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix prov:   <http://www.w3.org/ns/prov#> .

: a owl:Ontology ;
    schema:name "The Unreasonable Effectiveness of HTML — KG Ontology"@en ;
    schema:description "Semantic model of Thariq's X article arguing that HTML has become the dominant and most effective output format for AI agent communication — replacing Markdown for specs, code reviews, design prototypes, reports, and custom editing interfaces. Covers five use-case categories, the information density advantage, and the joy of HTML-driven collaboration."@en ;
    rdfs:label "The Unreasonable Effectiveness of HTML — Knowledge Graph" ;
    schema:identifier "https://x.com/trq212/status/2052809885763747935" ;
    dct:source <https://x.com/trq212/status/2052809885763747935> ;
    dct:creator :thariq ; dct:date "2026-05-08"^^xsd:date .

:UseCase a owl:Class ; rdfs:label "Use Case" ; rdfs:comment "A category of work where HTML output from AI agents provides distinct advantages over Markdown." ; rdfs:isDefinedBy : .
:KeyPrinciple a owl:Class ; rdfs:label "Key Principle" ; rdfs:comment "A structural argument for why HTML beats Markdown as an AI agent output format." ; rdfs:isDefinedBy : .

:article a schema:Article, schema:SocialMediaPosting ;
    rdfs:label "Using Claude Code: The Unreasonable Effectiveness of HTML" ;
    schema:name "Using Claude Code: The Unreasonable Effectiveness of HTML"@en ;
    schema:headline "Using Claude Code: The Unreasonable Effectiveness of HTML"@en ;
    schema:description "Thariq (@trq212) argues that HTML has replaced Markdown as the dominant and most effective output format for AI agents. HTML conveys richer information (tables, SVG, CSS, scripts), is easier to read and share, enables two-way interaction, and makes the human feel more invested in AI collaboration. Five use-case categories: specs/planning, code review, design/prototypes, reports/research, and custom editing interfaces."@en ;
    schema:url <https://x.com/trq212/status/2052809885763747935> ;
    schema:datePublished "2026-05-08"^^xsd:date ;
    schema:author :thariq ;
    schema:about :htmlEffectiveness, :agentOutputFormat, :htmlVsMarkdown, :aiCollaboration ;
    schema:hasPart :introSection, :whyHtmlSection, :useCasesSection, :faqSection, :faqPage, :glossarySet, :howtoSection, :useCasesGroup, :principlesGroup, : ; prov:wasGeneratedBy :kgGeneratorSkill .

:thariq a foaf:Person, schema:Person ;
    schema:name "Thariq"@en ;
    schema:identifier "https://x.com/trq212" ;
    schema:url <https://x.com/trq212> .

:htmlEffectiveness a skos:Concept, schema:DefinedTerm ;
    schema:name "HTML Effectiveness for AI Agents"@en ;
    schema:description "The thesis that HTML is a superior output format for AI agents compared to Markdown — offering richer information density, visual clarity, ease of sharing, two-way interaction, and broader data ingestion capabilities."@en ; rdfs:isDefinedBy : .

:agentOutputFormat a skos:Concept, schema:DefinedTerm ;
    schema:name "Agent Output Formats"@en ;
    schema:description "The file format AI agents use to communicate results to humans. Markdown has been the default; Thariq argues HTML is the better format because it supports richer visualization, interaction, and sharing while maintaining the agent-mediated editing workflow."@en ; rdfs:isDefinedBy : .

:htmlVsMarkdown a skos:Concept, schema:DefinedTerm ;
    schema:name "HTML vs. Markdown for AI Output"@en ;
    schema:description "Markdown is simple and portable but limited to basic document structure with ASCII workarounds. HTML supports tables, CSS styling, SVG diagrams, JavaScript interactions, spatial layouts, and mobile responsiveness — conveying far richer information in a single file. HTML diffs are noisier under version control but the readability advantage outweighs this."@en ; rdfs:isDefinedBy : .

:aiCollaboration a skos:Concept, schema:DefinedTerm ;
    schema:name "AI Collaboration and Joy"@en ;
    schema:description "A key argument: HTML output makes the human feel more involved and invested in AI creation. Markdown documents over 100 lines stop being read; HTML documents are more likely to be read by colleagues. The joy of creation matters — 'that by itself is enough.'"@en ; rdfs:isDefinedBy : .

:useCasesGroup a schema:ArticleSection ; schema:name "Use Cases for HTML Output"@en ; schema:position 3 ; schema:hasPart :ucSpecs, :ucCodeReview, :ucDesign, :ucReports, :ucEditors .
:ucSpecs a :UseCase ; rdfs:label "Specs, Planning & Exploration" ; rdfs:comment "Brainstorming multiple options, creating mockups, and writing implementation plans in rich HTML. Example: generate 6 onboarding approaches in a grid, make an implementation plan with mockups and data flow diagrams."@en .
:ucCodeReview a :UseCase ; rdfs:label "Code Review & Understanding" ; rdfs:comment "Rendering diffs, annotations, flowcharts, and module diagrams in HTML — works better than the default GitHub diff view. Thariq attaches an HTML code explainer to every PR."@en .
:ucDesign a :UseCase ; rdfs:label "Design & Prototypes" ; rdfs:comment "Sketching designs in HTML even when the end surface is not HTML. Prototyping interactions with sliders, knobs, and animations. Claude Design is based on HTML for this reason."@en .
:ucReports a :UseCase ; rdfs:label "Reports, Research & Learning" ; rdfs:comment "Synthesizing information across Slack, codebases, git history, and the internet into readable reports, interactive explainers, or slideshows with SVG diagrams."@en .
:ucEditors a :UseCase ; rdfs:label "Custom Editing Interfaces" ; rdfs:comment "Throwaway single-purpose editors for reordering tickets, tuning prompts, editing config — always ending with an export button (copy as JSON/prompt) to paste back into Claude Code."@en .

:principlesGroup a schema:ArticleSection ; schema:name "Key Principles"@en ; schema:position 2 ; schema:hasPart :kpInfoDensity, :kpVisualClarity, :kpSharing, :kpInteraction, :kpDataIngestion, :kpJoy .
:kpInfoDensity a :KeyPrinciple ; rdfs:label "Information Density" ; rdfs:comment "HTML can represent almost any set of information Claude can read — tables, CSS, SVG, code snippets, interactions, spatial data, images. Markdown forces inefficient workarounds like ASCII diagrams and Unicode color estimation."@en .
:kpVisualClarity a :KeyPrinciple ; rdfs:label "Visual Clarity & Readability" ; rdfs:comment "People stop reading Markdown files over 100 lines. HTML organizes structure visually with tabs, illustrations, links, and mobile responsiveness — dramatically increasing the chance someone actually reads the output."@en .
:kpSharing a :KeyPrinciple ; rdfs:label "Ease of Sharing" ; rdfs:comment "Most browsers don't render Markdown natively. HTML files can be uploaded to S3 and shared as links — colleagues open them anywhere. The chance of someone reading your spec is much higher."@en .
:kpInteraction a :KeyPrinciple ; rdfs:label "Two-Way Interaction" ; rdfs:comment "HTML enables sliders, knobs, and interactive controls — the user tweaks a design and copies the result as a prompt back to Claude Code. This closes the human-agent feedback loop."@en .
:kpDataIngestion a :KeyPrinciple ; rdfs:label "Data Ingestion" ; rdfs:comment "Claude Code can read file systems, MCPs (Slack, Linear), browser history, and git — and synthesize it all into a single HTML document. This context breadth is unavailable in ClaudeAI or Claude Design."@en .
:kpJoy a :KeyPrinciple ; rdfs:label "Joyful Creation" ; rdfs:comment "Making HTML documents with Claude is more fun and makes the human feel more involved and invested in the creation. 'That by itself is enough.'"@en .

:introSection a schema:ArticleSection ; schema:name "Introduction"@en ; schema:position 1 ; schema:description "Markdown has become the dominant file format for agents to communicate with humans. But as agents grow more powerful, Markdown feels restrictive. Thariq has switched to HTML as the preferred output format — finding it superior for information density, readability, sharing, interaction, and joy."@en .
:whyHtmlSection a schema:ArticleSection ; schema:name "Why HTML"@en ; schema:position 2 ; schema:description "Six arguments: Information Density (tables, SVG, CSS, scripts), Visual Clarity (people read HTML specs; they skip 100-line Markdown), Ease of Sharing (browser-native, S3-hostable), Two-Way Interaction (sliders, knobs, copy-prompt buttons), Data Ingestion (Claude Code reads filesystem, MCPs, git), and Joy."@en .
:useCasesSection a schema:ArticleSection ; schema:name "Use Cases"@en ; schema:position 3 .
:faqSection a schema:ArticleSection ; schema:name "Frequently Asked Questions"@en ; schema:position 4 .

:faqPage a schema:FAQPage ; schema:name "Frequently Asked Questions"@en ; schema:mainEntity :faq1, :faq2, :faq3, :faq4, :faq5, :faq6, :faq7, :faq8, :faq9, :faq10, :faq11, :faq12 .
:faq1 a schema:Question ; schema:name "Why HTML instead of Markdown for AI agent output?"@en ; schema:acceptedAnswer :a1 . :a1 a schema:Answer ; schema:text "HTML conveys far richer information than Markdown — tables, SVG diagrams, CSS styling, JavaScript interactions, spatial layouts. Markdown forces inefficiencies like ASCII art diagrams. HTML documents are more likely to actually be read by humans, especially beyond 100 lines."@en .
:faq2 a schema:Question ; schema:name "Isn't HTML less token-efficient than Markdown?"@en ; schema:acceptedAnswer :a2 . :a2 a schema:Answer ; schema:text "Yes, HTML uses more tokens — but the added expressiveness and much higher likelihood of being read produces better overall output. With the 1M context window in Opus 4.7, the increased token usage is not noticeable."@en .
:faq3 a schema:Question ; schema:name "How do I view the HTML file Claude generates?"@en ; schema:acceptedAnswer :a3 . :a3 a schema:Answer ; schema:text "Open it locally in a browser (you can ask Claude to open it), or upload to S3 for a shareable link. Browsers render HTML natively, unlike Markdown."@en .
:faq4 a schema:Question ; schema:name "Doesn't HTML take longer to generate?"@en ; schema:acceptedAnswer :a4 . :a4 a schema:Answer ; schema:text "Yes — HTML can take 2-4x longer than Markdown. But the results are worth it: people actually read the output, the visual quality is higher, and the collaboration feels more invested."@en .
:faq5 a schema:Question ; schema:name "What about version control with HTML?"@en ; schema:acceptedAnswer :a5 . :a5 a schema:Answer ; schema:text "HTML diffs are noisy and harder to review compared to Markdown — this is one of the biggest downsides. However, since most editing is agent-mediated (prompting Claude to edit), the diff noise matters less in practice."@en .
:faq6 a schema:Question ; schema:name "How do I get Claude to match my taste and not make ugly HTML?"@en ; schema:acceptedAnswer :a6 . :a6 a schema:Answer ; schema:text "Use the frontend design plugin in Claude Code. For company-specific styling, create a design system HTML file by pointing Claude at your codebase, then use that as a reference for other HTML files."@en .
:faq7 a schema:Question ; schema:name "What are the main use cases for HTML output?"@en ; schema:acceptedAnswer :a7 . :a7 a schema:Answer ; schema:text "Five categories: (1) Specs, Planning & Exploration — brainstorming options and implementation plans. (2) Code Review & Understanding — annotated diffs and flowcharts. (3) Design & Prototypes — interactions with sliders and knobs. (4) Reports, Research & Learning — synthesizing data sources. (5) Custom Editing Interfaces — throwaway editors with export buttons."@en .
:faq8 a schema:Question ; schema:name "How does Claude Code differ from ClaudeAI or Claude Design for HTML?"@en ; schema:acceptedAnswer :a8 . :a8 a schema:Answer ; schema:text "Claude Code can ingest far more context — your file system, MCPs (Slack, Linear), browser history, git history. This breadth of context is unavailable in ClaudeAI or Claude Design, enabling richer, more informed HTML artifacts."@en .
:faq9 a schema:Question ; schema:name "Do I need a special skill or prompt to get HTML output?"@en ; schema:acceptedAnswer :a9 . :a9 a schema:Answer ; schema:text "No — you can just ask Claude to 'make a HTML file' or 'make a HTML artifact.' The trick is knowing what you want the artifact to do. Start prompting from scratch before building a skill."@en .
:faq10 a schema:Question ; schema:name "When does Thariq still use Markdown?"@en ; schema:acceptedAnswer :a10 . :a10 a schema:Answer ; schema:text "He has stopped using Markdown altogether for almost everything, but acknowledges he is 'far on the HTML maximalist side.' Most users can adopt HTML incrementally for high-value outputs."@en .
:faq11 a schema:Question ; schema:name "What is the 'copy as prompt' pattern?"@en ; schema:acceptedAnswer :a11 . :a11 a schema:Answer ; schema:text "Every custom editing interface should include an export button — 'copy as JSON' or 'copy as prompt' — that turns whatever was done in the UI back into something pasteable into Claude Code. This closes the human-agent feedback loop."@en .
:faq12 a schema:Question ; schema:name "Why does Thariq say HTML makes him feel 'more in the loop'?"@en ; schema:acceptedAnswer :a12 . :a12 a schema:Answer ; schema:text "Because HTML documents are visually rich and engaging, he actually reads them in depth — unlike Markdown plans that grew too long to review. The format makes him feel invested in the creation rather than passively accepting agent output."@en .

:glossarySet a schema:DefinedTermSet ; schema:name "Glossary of Key Terms"@en ; schema:hasDefinedTerm :htmlEffectiveness, :agentOutputFormat, :htmlVsMarkdown, :aiCollaboration, :copyPrompt, :frontendDesign, :designSystem .
:copyPrompt a schema:DefinedTerm ; schema:name "Copy-as-Prompt Pattern"@en ; schema:description "Export mechanism in HTML editing interfaces — turns UI interactions (reordered tickets, tuned parameters) into a prompt that can be pasted back into Claude Code."@en .
:frontendDesign a schema:DefinedTerm ; schema:name "Frontend Design Plugin"@en ; schema:description "Claude Code plugin that helps Claude generate aesthetically pleasing HTML — recommended for avoiding 'ugly' output."@en .
:designSystem a schema:DefinedTerm ; schema:name "Design System File"@en ; schema:description "A single HTML reference file created by pointing Claude at a codebase — captures company styling, components, and patterns for consistent HTML output across sessions."@en .

:howtoSection a schema:HowTo ; schema:name "How to Adopt HTML as Your AI Agent Output Format"@en ; schema:description "A seven-step guide for switching from Markdown to HTML as the primary output format for AI agent collaboration."@en ; schema:step :step1, :step2, :step3, :step4, :step5, :step6, :step7 .
:step1 a schema:HowToStep ; schema:name "Start Simple — Just Ask for HTML"@en ; schema:position 1 ; schema:text "Don't build a skill first. Just prompt Claude: 'make a HTML file' or 'create a HTML artifact.' The model already knows how. Start with a simple spec or plan to get comfortable with the workflow before scaling up."@en .
:step2 a schema:HowToStep ; schema:name "Pick Your First High-Value Use Case"@en ; schema:position 2 ; schema:text "Choose where HTML adds the most value: a long spec no one reads in Markdown, a code review that needs annotations, a report for leadership, or a design prototype. Convert one existing Markdown workflow to HTML."@en .
:step3 a schema:HowToStep ; schema:name "Set Up a Design System Reference"@en ; schema:position 3 ; schema:text "Point Claude Code at your codebase and ask it to create a design system HTML file capturing your company's styling, components, and patterns. Reference this file in future prompts for consistent visual output."@en .
:step4 a schema:HowToStep ; schema:name "Use the Frontend Design Plugin"@en ; schema:position 4 ; schema:text "Enable the frontend design plugin in Claude Code to improve aesthetic quality. This helps Claude generate visually appealing HTML rather than functional-but-ugly output."@en .
:step5 a schema:HowToStep ; schema:name "Add Export Buttons to Interactive Files"@en ; schema:position 5 ; schema:text "For any interactive HTML editor, always include a 'copy as JSON' or 'copy as prompt' button. This closes the loop — whatever you do in the UI becomes pasteable back into Claude Code."@en .
:step6 a schema:HowToStep ; schema:name "Upload to S3 for Sharing"@en ; schema:position 6 ; schema:text "Upload HTML files to S3 (or any web host) for shareable links. Colleagues can open them in any browser. The chance of someone reading your output increases dramatically compared to Markdown attachments."@en .
:step7 a schema:HowToStep ; schema:name "Embrace the Joy"@en ; schema:position 7 ; schema:text "Making HTML documents with Claude is genuinely more fun and involving. The human stays in the loop because the output is engaging. Don't optimize for token efficiency — optimize for actually reading and using the output."@en .

:kgGeneratorSkill a schema:SoftwareApplication ; schema:name "kg-generator skill"@en ; schema:url <https://github.com/anomalyco/opencode/tree/main/kg-generator> ; schema:description "LLM-prompt-based Knowledge Graph generation skill."@en .
