Token导航 LogoToken导航TokenDH.com
效率操作浏览器clawhub未标认证来源可访问clear审计提醒

wurdwurd 文档

Agent Skill

wurd 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,694

周安装

109

GitHub Stars

1

下载量

846
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:wurd(wurd 文档)
来源仓库:https://github.com/vreff/wurd
安装命令:
openclaw skills install wurd
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install wurd

简介

将 Markdown 文档编译为高质量 HTML 页面的工具。

  • 支持插件标签与自定义布局配置。wurd 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 适用于技术文档与说明材料结构化输出。
  • 安装命令:openclaw skills install wurd。
  • 需确保模板路径与资源文件可访问,避免渲染错误。

SKILL.md

description
Compile markdown documents with plugin tags into editorial-quality HTML pages using Wurd. USE FOR: creating documents, adding plugins, configuring layout, writing custom plugins, debugging compilation issues. DO NOT USE FOR: general markdown questions unrelated to this tool.

Wurd Skill

You are working with Wurd (github.com/vreff/Wurd), a document compiler that turns markdown files with [plugin:name]...[/plugin] tags into self-contained editorial HTML pages.

How to Compile

# From the project root:
npx tsx src/cli.ts <path-to-markdown> [--no-cache] [--pdf] [--plugins <dir>]

# Or if installed globally:
wurd <path-to-markdown>

Output goes to dist/<parent-dir-name>/index.html.

Document Format

Documents are markdown files. Optional YAML frontmatter between --- controls layout and theme.

Frontmatter (all optional)

---
columns: 2              # 1, 2, 3, or 'auto'
columnWidth: 500         # target px per column
dropCap: true            # decorative first letter
accentColor: '#7c6ee6'   # drop cap and accent color
h1MaxFontSize: 120       # max px for h1 headline fitting
headingUnderline: 'subtitle'  # comma-separated element IDs to underline
pointerEventsNone: 'title'    # comma-separated element IDs for pointer passthrough
---

Key layout properties: gutter, narrowGutter, narrowBreakpoint, maxContentWidth, columnGap, paragraphSpacing, sectionGap, bodyFontSize, bodyLineHeight.

Heading properties: h1MaxFontSize, h2MaxFontSize, h3MaxFontSize, h1MaxHeight, h2MaxHeight, h3MaxHeight, headingMinFontSize, headingLineHeightRatio, spacing (h1SpacingAbove, h2SpacingAbove, h3SpacingAbove, headingSpacingBelow, subheadingSpacingBelow).

Color properties: bgColor, textColor, headingColor, pullQuoteColor, pullQuoteBorderColor, headingUnderlineColor.

Plugin Tag Syntax

Inline (within a paragraph):

Some text [plugin:math]x^2[/plugin] more text.

Block (on its own lines):

[plugin:math]
\[E = mc^2\]
[/plugin]

With config (key: value lines, used by plugins like binary-stream):

[plugin:binary-stream]
rows: 12
position: absolute
top: 80px
left: var(--content-left)
right: var(--content-right)
[/plugin]

Element IDs

Tag headings with {#id} for use in frontmatter features:

# Title {#title}
## Subtitle {#subtitle}

Blocks

Group content with [block]...[/block]:

[block]
Paragraph and plugin stay together.

[plugin:math]\[x^2\][/plugin]
[/block]

Built-in Plugins

Deterministic (no LLM needed)

  • math: KaTeX rendering. Inline [plugin:math]x^2[/plugin] or block with \[...\] delimiters.
  • accordion: FAQ sections. Format: Title | Body text per line.
  • cite: Citations. Format: Author, "Title", Year, URL. Auto-generates references section.
  • binary-stream: Decorative binary digit grid with mouse-hover glow effect. Config keys: rows, cols, fontSize, lineHeight, opacity, glowRadius, dimColor, litColor. All other keys become inline CSS styles.

LLM-powered (require LLM_API_KEY)

  • graph: Describe a chart in natural language. Generates SVG via LLM.
  • table: Describe table contents in natural language. Generates HTML via LLM.

LLM Setup

Create .env in the project root:

LLM_API_KEY=sk-...
LLM_BASE_URL=https://api.anthropic.com/v1
LLM_MODEL=claude-opus-4-6

Without this, deterministic plugins still work. LLM responses are cached in .cache/llm/ — use --no-cache to regenerate.

Creating Custom Plugins

Plugins live in plugins/<name>/index.ts (or flat plugins/<name>.ts). External plugins via --plugins <dir>.

Deterministic Plugin Template

import type { DeterministicPlugin } from '../../src/plugins.js'

const myPlugin: DeterministicPlugin = {
  name: 'my-plugin',
  mode: 'deterministic',
  render(content: string, id: string): string {
    return `<div id="${id}">${content}</div>`
  },
  layoutHints: {           // optional
    spanKey: 'my-plugin',
    defaultSpan: 'column', // or 'all'
    marginTop: 16,
    marginBottom: 20,
  },
  assets: {                // optional
    css: `.my-class { color: white; }`,
    headElements: [],
    runtimeModule: join(__dirname, 'runtime.ts'),
  },
}
export default myPlugin

LLM Plugin Template

import type { LLMPlugin } from '../../src/plugins.js'

const myPlugin: LLMPlugin = {
  name: 'my-plugin',
  mode: 'llm',
  systemPrompt: 'You generate HTML.',
  guidelines: 'Dark theme, modern aesthetic.',
  extractContent(response: string): string {
    const match = response.match(/```html\s*\
([\s\S]*?)```/)
    return match ? match[1] : response
  },
}
export default myPlugin

Runtime Modules

If a plugin needs browser-side JavaScript, set assets.runtimeModule to a TS file that exports init(). It gets bundled into the page via esbuild and called after fonts load.

Key Files

  • src/cli.ts — CLI entry point, orchestrates compilation
  • src/parser.ts — Markdown parsing, plugin tag extraction, {#id} support
  • src/plugins.ts — Plugin loading, execution, layout hint wrapping
  • src/template.ts — HTML page template with all base CSS
  • src/llm.ts — LLM client with file-based caching
  • src/runtime/layout.ts — Pretext-powered editorial layout engine (runs in browser)
  • src/runtime/main.ts — Browser runtime entry point

Common Tasks

Add a new document: Create examples/my-doc/text.md, then npx tsx src/cli.ts examples/my-doc/text.md.

Add a new plugin: Create plugins/my-plugin/index.ts with a default export implementing DeterministicPlugin or LLMPlugin.

Change layout: Edit the YAML frontmatter at the top of the markdown file.

Clear LLM cache: Delete .cache/llm/ or use --no-cache flag.

Use external plugins: npx tsx src/cli.ts text.md --plugins /path/to/plugins

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.12%
按下载量换算678

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills