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

Jsx Md

skill-theseus-run-theseus-jsx-md · by theseus-run

Write agent instructions, SKILL.md files, and LLM prompts as typed JSX/TSX components using @theseus.run/jsx-md. Use when creating or editing .tsx files that render Markdown strings via render(), authoring jsx-md components, or working with the jsx-md primitives, Context API, or XML intrinsics.

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add skill-theseus-run-theseus-jsx-md

✓ 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-theseus-run-theseus-jsx-md)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo 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 Jsx Md? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

@theseus.run/jsx-md

JSX runtime that outputs Markdown strings. No React, no virtual DOM. render() is synchronous and returns a plain string. Same input → same string every time.

Setup

tsconfig.json:

{
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "@theseus.run/jsx-md"
  }
}

Import:

import { render, H1, H2, P, Ul, Li, Bold, Code } from "@theseus.run/jsx-md"

Authoring rules

1. Prefer components over inline markdown syntax.

// WRONG
**bold** and `code`

// CORRECT
bold and code

2. Bare JSX text for plain prose. {'...'} only when the string contains a character JSX cannot represent as bare text.

Characters requiring {'...'}: ` ` { } '`

Characters safe as bare text: letters, spaces, digits, . , : ; ! ? — – - ( ) [ ] " & * + = | / \

// WRONG — unnecessary wrapper
P1{': Guard clauses over nesting.'}

// CORRECT — bare text
P1: Guard clauses over nesting.

// CORRECT — must wrap, contains single quote
P1{": Dead code: delete, don't comment out."}

// CORRECT — must wrap, contains backtick
{'Format: `ROI≈X.X`'}

3. Md is an escape hatch only. Legitimate use: 4+ mixed inline spans where decomposition adds noise. Never use Md for content that decomposes cleanly into components.

// Legitimate — 6 code spans mixed with bold
{'**P0**: Type = `TKey`. Not `TFuncKey`, `string`, or ``.'}

// Not legitimate — decompose instead
{'**P1**: Guard clauses over nesting.'}
// → P1: Guard clauses over nesting.

Primitives

Full table with output shapes: [references/primitives.md](references/primitives.md).

| Category | Components | |---|---| | Block | H1H6, P, Hr, Codeblock, Blockquote | | List | Ul, Ol, Li, TaskList, Task | | Table | Table, Tr, Th, Td | | Inline | Bold, Code, Italic, Strikethrough, Br, Sup, Sub, Kbd, Link, Img | | Escape | Escape (component), escapeMarkdown (function) | | Raw | Md | | Other | HtmlComment, Details, Callout |

Key props:

  • Codeblocklang?: string, indent?: number
  • Taskdone?: boolean (- [x] when true, - [ ] when false/omitted)
  • Thalign?: 'left' | 'center' | 'right'
  • Callouttype: 'note' | 'tip' | 'important' | 'warning' | 'caution' (required)
  • Detailssummary: string (required)
  • Linkhref: string (required)
  • Imgsrc: string, alt?: string

Nesting: Ul/Ol inside Li is fully supported. DepthContext tracks depth and computes indentation automatically — never count spaces manually.

Context API

Same shape as React — createContext, useContext, Context.Provider. Synchronous only. Not safe for concurrent render() calls in the same process.

import { render, createContext, useContext, Ul, Li, Code } from "@theseus.run/jsx-md"

const HarnessCtx = createContext('copilot')

const StepsSection = () => {
  const harness = useContext(HarnessCtx)
  return (
    
      Always verify output before claiming done.
      {harness === 'opencode' && Use task() for multi-step subtasks.}
    
  )
}

const prompt = render(
  
    
  
)

useContext returns the default when called outside a Provider. Providers nest — innermost wins.

XML intrinsics

Any lowercase JSX tag renders as an XML block. No imports, no registration. Use for Anthropic-style prompt structure (`, , `).

const ReviewerPrompt = ({ repo, examples }: Props) => (
  <>
    
      Repository: {repo}. Language: TypeScript.
    
    
      Role
      You are a precise code reviewer.
    
    {examples.length > 0 && (
      
        {examples.map((ex, i) => (
          
            {ex}
          
        ))}
      
    )}
  
)

Attribute serialization:

  • index={1}index="1"
  • active={true}active (bare attribute)
  • active={false} / active={null} / active={undefined} → omitted
  • Empty content → self-closing: ``
  • Object value → throws — use JSON.stringify() to convert first

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.