Turn any markdown into a shareable web page via md.page. Use when the user asks to "share this", "publish this markdown", "create a shareable link", "make this a web page", "send this as a link", "host this", or wants to turn any markdown content into a URL. Also triggers on "publish a report", "share my notes", "create a page", or any request to make content accessible via a link.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add netanel-abergel/pa-skills --skill publish-to-mdpage --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Publish To Mdpage?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/netanel-abergel-publish-to-mdpage)More formats (shields.io, HTML) on the badges page.
---
name: publish-to-mdpage
description: Turn any markdown into a shareable web page via md.page. Use when the user asks to "share this", "publish this markdown", "create a shareable link", "make this a web page", "send this as a link", "host this", or wants to turn any markdown content into a URL. Also triggers on "publish a report", "share my notes", "create a page", or any request to make content accessible via a link.
---
# Publish to md.page
Publish any markdown as a beautiful, shareable web page with one API call. No accounts, no API keys, no setup.
## API
**POST** `https://md.page/api/publish`
```bash
curl -X POST https://md.page/api/publish \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello\n\nYour content here"}'
```
**Response** `201 Created`:
```json
{
"url": "https://md.page/a8Xk2m",
"expires_at": "2026-03-29T12:00:00.000Z"
}
```
| Error | Cause |
|-------|-------|
| `400` | Missing or invalid `markdown` field, or invalid JSON body |
| `413` | Content exceeds 500KB |
## Workflow
1. Prepare the markdown content:
- If the user wants to publish an **existing file**, use the Read tool to read it first, then publish its contents. **Before publishing, scan the content for secrets** (API keys, tokens, passwords, credentials, private keys, `.env` values). If any are found, warn the user and do NOT publish until they confirm.
- If generating new markdown, start with a `# Title` for proper page titles and link previews. Never include secrets or credentials in generated content.
2. Use the **Bash tool with `curl`** to POST the markdown.
3. To safely handle special characters (quotes, apostrophes, newlines), use Python to JSON-encode the payload, then pipe it to curl:
```bash
curl -s -X POST https://md.page/api/publish \
-H "Content-Type: application/json" \
-d "$(python3 -c "
import json
md = '''YOUR MARKDOWN HERE'''
print(json.dumps({'markdown': md}))
")"
```
4. Parse the JSON response and return the `url` to the user. Mention the page expires in 24 hours.
5. If the request fails, check the error status code against the table above and inform the user.
## Formatting tips
- A first-line `# Heading` becomes the page title in browser tabs and social previews.
- Code blocks, tables, blockquotes, lists, images, and links all render with clean styling.
- Dark mode is automatic.
- Max content size: 500KB.
- URLs are private, unguessable 6-character IDs.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!