← 返回 Skills 市场
rockbenben

Md Web

作者 rockbenben · GitHub ↗ · v1.0.6 · MIT-0
cross-platform ✓ 安全检测通过
414
总下载
0
收藏
0
当前安装
7
版本数
在 OpenClaw 中安装
/install md-web
功能描述
Turn any content into a web page with a shareable URL. Use when the user wants to preview, generate, share, export, or publish content as a web page.
使用说明 (SKILL.md)

MD Web - Markdown to Web Page

Upload raw .md files to an S3-compatible storage bucket, where a pre-deployed Docsify server automatically renders them as web pages. This avoids sending long text in the conversation.

When to use this skill

Uploaded content is publicly accessible. Only use this skill when the user explicitly requests it:

  • User wants to show or preview content as a web page in a browser
  • User wants to generate, export, or publish content as a web page
  • User wants a shareable link to content
  • User wants output delivered as a web page rather than as long text in chat
  • User wants to compile or organize content and present it as a web page
  • User invokes this skill by name (e.g., /md-web)

How to use this skill

Step 1: Check configuration

Check if ~/.md-web/config.json exists (cross-platform: use the user's home directory). If it does NOT exist or has empty fields, follow the Configuration section below first.

Step 2: Prepare the markdown file

Either use an existing .md file, or write the content to a temporary file. Choose the temp path based on the current platform (e.g., /tmp/ on Linux/macOS, system temp dir on Windows). Use whichever path works in the current shell environment.

Step 3: Upload via upload.js

node {SKILL_DIR}/upload.js \x3Clocal-file> \x3Cremote-key>
  • {SKILL_DIR}: the base directory of this skill (shown at the top when skill is loaded)
  • \x3Cremote-key>: a descriptive lowercase name with hyphens (e.g., api-docs.md, project-guide.md). A timestamp is prepended automatically to avoid filename collisions.
  • On first run, the script auto-detects and deploys Docsify server files. No manual setup needed.

Step 4: Return the result

  • On success: the script prints the URL. Reply with only the filename and clickable link. Do NOT paste the markdown content into the chat.
  • On failure (non-zero exit code): report the error to the user, then fall back to sending the markdown content as text directly in the chat.

Example success output:

api-docs - https://example.r2.dev/index.html#/20260305-091500-api-docs

Configuration

This only needs to happen once. On subsequent runs, config.json already exists.

  1. Tell the user this skill needs an S3-compatible storage bucket with public access. Point them to {SKILL_DIR}/README.md for detailed setup instructions (Cloudflare R2 / AWS S3 / other S3-compatible services).
  2. Ask the user to provide these 5 required fields:
    • access_key: API access key ID
    • secret_key: API secret access key
    • endpoint: S3 endpoint hostname, without https:// (e.g., ACCOUNT_ID.r2.cloudflarestorage.com)
    • bucket: bucket name
    • public_url: public access URL. If the user has a custom domain bound to the bucket, use that (e.g., https://docs.example.com); otherwise use the default R2.dev URL (e.g., https://pub-XXXX.r2.dev). Recommend custom domain for production use — R2.dev URLs have rate limits.
  3. Ask about optional settings:
    • region: S3 region. Use auto for Cloudflare R2, or the actual region for AWS S3 (e.g., us-east-1). Default is auto.
    • expire_days: how many days before uploaded markdown files are automatically deleted from the bucket. Default is 30. Set to 0 to keep files forever. The script sets an S3 lifecycle rule automatically — only timestamped uploads are affected; Docsify server files are never expired. Note: this requires the API token to have Admin Read & Write permission (not just Object Read & Write). If the token lacks permission, the script will warn but still upload normally — the user can set the lifecycle rule manually in the Cloudflare Dashboard instead.
  4. Write the config to ~/.md-web/config.json (create the ~/.md-web/ directory if it doesn't exist). Use the user's home directory ($HOME on Unix, %USERPROFILE% on Windows):
{
  "access_key": "...",
  "secret_key": "...",
  "endpoint": "...",
  "bucket": "...",
  "region": "auto",
  "public_url": "...",
  "expire_days": 30
}
  1. Then proceed with the upload.

Important notes

  • Do NOT generate HTML. Just upload the raw .md file — Docsify handles rendering.
  • Do NOT send markdown content to the chat unless upload fails.
  • upload.js uses only Node.js built-in modules (zero dependencies).
  • All Docsify assets (JS/CSS) are bundled locally — no external CDN dependency at runtime.

External endpoints

This skill connects only to the S3 endpoint configured by the user in config.json. No data is sent to the skill author or any third-party service.

Endpoint Purpose Data sent
User's S3 endpoint (config.json → endpoint) Upload .md files and Docsify server assets File content, S3 auth headers

Security & privacy

  • All uploaded content is publicly accessible via the generated URL.
  • Credentials (access_key, secret_key) are stored locally in ~/.md-web/config.json (outside the skill directory, safe from upgrades) and only sent to the user's own S3 endpoint for authentication.
  • No telemetry, analytics, or data collection by the skill itself.
  • upload.js uses only Node.js built-in modules — no third-party dependencies.

By using this skill, markdown content is uploaded to your own S3-compatible storage bucket and made publicly accessible. No data is sent to the skill author or any third-party service. Only install if you trust the storage provider you configure.

安全使用建议
This skill appears to do what it says: it uploads .md files to a S3-compatible bucket and serves them via a bundled Docsify server. Before installing or using it: (1) review upload.js source yourself (it wasn't included inline here for full inspection) to confirm no hidden network telemetry or unexpected behavior; (2) only provide credentials scoped to the specific bucket and with minimal permissions (Object Read/Write rather than full account admin) unless you want automatic lifecycle rules; (3) understand uploaded files will be publicly accessible — do not upload secrets or private content; (4) be aware credentials are stored in plaintext at ~/.md-web/config.json, so secure that file (disk encryption, restrictive file permissions) or use a short-lived token; (5) if you need to avoid public hosting, do not enable the bucket's public access and do not use this skill. If you want higher confidence, paste the full upload.js implementation so it can be audited for network calls, credential handling, or any unexpected external endpoints.
功能分析
Type: OpenClaw Skill Name: md-web Version: 1.0.6 The 'md-web' skill is a utility for converting Markdown content into shareable web pages by uploading them to a user-configured S3-compatible storage bucket (e.g., Cloudflare R2). The core logic in 'upload.js' is a clean, zero-dependency Node.js script that implements standard AWS Signature V4 for authentication and handles the deployment of Docsify server assets to the bucket. The 'SKILL.md' instructions explicitly warn the AI agent that uploaded content is public and require it to obtain explicit user consent before proceeding. Credentials are stored locally in the user's home directory ('~/.md-web/config.json'), and no evidence of data exfiltration, malicious execution, or prompt injection was found.
能力评估
Purpose & Capability
Name/description (publish Markdown as a web page) aligns with included artifacts: a node upload script (upload.js) and bundled Docsify assets. Requiring node and asking the user for S3-compatible credentials/endpoints is appropriate for this functionality.
Instruction Scope
SKILL.md instructs the agent to read/write a user-local config (~/.md-web/config.json), create temporary files, and run node upload.js to upload the .md and deploy Docsify assets to the user's S3 endpoint. Those actions are within scope for publishing markdown, but they involve storing credentials on disk and making uploaded files publicly accessible — both are explicitly documented in the SKILL.md and should be understood by the user.
Install Mechanism
This is instruction-only (no install spec). Docsify assets are bundled locally and no external downloads are specified. That keeps the install surface small and predictable.
Credentials
No environment variables are requested. The skill asks the user for S3 credentials (access_key/secret_key), endpoint, bucket, and public_url — appropriate for S3 uploads. However credentials are stored in plaintext in ~/.md-web/config.json per SKILL.md, which is sensitive; use least-privilege API tokens and consider rotating or scoping tokens to the bucket only.
Persistence & Privilege
always:false and user-invocable:true. The skill writes configuration to a user-scoped directory (~/.md-web/) and tracks deployment state (.deployed) — expected for this use case and not an excessive system privilege.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install md-web
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /md-web 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.6
**Configuration is now cross-platform and stored in the user's home directory for greater robustness and upgrade safety.** - Changed config file location from `{SKILL_DIR}/config.json` to `~/.md-web/config.json` (user's home directory, cross-platform compatible). - Updated setup and documentation to reflect new config path and directory requirements. - No longer stores credentials or configuration in the skill directory; safer during upgrades or reinstalls. - Minor clarifications and corrections in usage and configuration steps.
v1.0.5
- Expanded the skill’s description to cover more use cases, including sharing, publishing, exporting, and organizing content as web pages. - Updated usage instructions to clarify when and how the skill should be used, making it more discoverable for a variety of user intents. - Added new tags for improved searchability (share, publish, export). - Documentation wording improved for clarity and broader applicability. - No changes to core functionality or configuration process.
v1.0.4
- Metadata structure in SKILL.md updated to new format: tag is now "clawdbot" instead of "openclaw" - Minimal fields kept in SKILL.md metadata (removed legacy entries: tags, explicit metadata.config, etc.) - No behavioral change to the user interface or upload flow - Docs and configuration instructions remain the same; no breaking changes for users
v1.0.3
- Updated SKILL.md metadata for broader compatibility, switching from "clawdbot" to "openclaw" format. - Moved the homepage URL into the metadata section. - Explicitly listed "config.json" as a required configuration file in metadata. - No changes to functionality or usage instructions.
v1.0.2
- Switched credentials from environment variables to storing access_key and secret_key in config.json. - Updated configuration setup: now require access_key and secret_key fields in config.json instead of env vars. - Simplified the startup/check process; config.json must exist and have non-empty fields. - Clarified documentation in SKILL.md for installation and configuration steps. - Updated metadata to remove environment variable requirements.
v1.0.1
- Credentials are now read from MD_WEB_ACCESS_KEY and MD_WEB_SECRET_KEY environment variables; secrets are no longer stored on disk. - Setup and configuration instructions updated in all docs to reflect new environment variable usage. - config.example.json has been removed; configuration now requires only non-secret fields. - Minor clarifications and improvements to README and SKILL.md documentation.
v1.0.0
Initial release of md-web: publish markdown files as shareable web pages. - Upload raw `.md` files to your S3-compatible bucket and get a public Docsify-rendered web link. - Only uploads on explicit user request (e.g., "show as web page"); never auto-triggers on long content. - Simplified setup: just configure your storage info in `config.json`; auto-deploys Docsify server files on first use. - All uploads are public; credentials are used only for your own S3 endpoint. - Supports optional file expiration via S3 lifecycle rules. - No external dependencies; all rendering handled locally by bundled Docsify.
元数据
Slug md-web
版本 1.0.6
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 7
常见问题

Md Web 是什么?

Turn any content into a web page with a shareable URL. Use when the user wants to preview, generate, share, export, or publish content as a web page. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 414 次。

如何安装 Md Web?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install md-web」即可一键安装,无需额外配置。

Md Web 是免费的吗?

是的,Md Web 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Md Web 支持哪些平台?

Md Web 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Md Web?

由 rockbenben(@rockbenben)开发并维护,当前版本 v1.0.6。

💬 留言讨论