
Markdown Url
Force agent reads of docs, changelogs, and issues through markdown.new so answers use clean Markdown instead of noisy HTML pages.
Overview
markdown-url is a journey-wide agent skill that rewrites any website URL through markdown.new—usable whenever a solo builder needs to read external pages as Markdown before summarizing or citing.
Install
npx skills add https://github.com/am-will/codex-skills --skill markdown-urlWhat is this skill?
- Hard rule: normalize any destination URL then prefix with https://markdown.new/ before fetching
- Bundled Node CLI markdown-url rewrites http(s), bare hosts, and rejects unsafe schemes
- Intended whenever you would open docs, blogs, changelogs, or GitHub issues for reading
- Output is Markdown-friendly page content suitable for summaries and pasted notes
Adoption & trust: 1.2k installs on skills.sh; 941 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You waste agent context scrolling cluttered HTML docs and blog posts when you only need the readable text.
Who is it for?
Agents with network access that frequently read public docs, release notes, and issue threads during coding sessions.
Skip if: Pages behind login paywalls, private registries, or workflows that must use official PDFs or local files only.
When should I use this skill?
You would normally open a website link to read content (docs, blog posts, changelogs, GitHub issues) or need a cleaner Markdown-friendly view for copying notes or summarizing.
What do I get? / Deliverables
Your agent fetches a Markdown-oriented view via markdown.new and grounds summaries, notes, and implementation answers on that cleaner source.
- markdown.new-prefixed URL for the target page
- Markdown-derived content used in agent answers or notes
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Pull competitor landing and docs pages through markdown.new before drafting positioning notes.
Read API capability docs as Markdown while scoping an MVP integration list.
Follow library reference pages via rewritten URLs while implementing endpoints.
Ingest upstream changelog Markdown before deciding upgrade risk for a release.
Summarize partner or platform policy pages fetched through the proxy for launch checklists.
How it compares
URL-prefix fetch convention for Markdown views, not a self-hosted doc crawler or MCP documentation server.
Common Questions / FAQ
Who is markdown-url for?
Solo builders using Claude Code, Codex, or Cursor who want a consistent rule for turning web documentation into agent-friendly Markdown.
When should I use markdown-url?
Use it during Idea research for competitor pages, Validate when reading pricing or product docs, Build when implementing against API references, Ship when reviewing changelogs, and Launch/Grow when summarizing SEO or distribution articles—anytime you would open a normal https lin
Is markdown-url safe to install?
The skill routes fetches through a third-party service (markdown.new); review the Security Audits panel on this Prism page and treat outbound requests as sharing URL targets with that proxy.
SKILL.md
READMESKILL.md - Markdown Url
#!/usr/bin/env node 'use strict'; function normalizeToAbsoluteUrl(input) { const s = String(input || '').trim(); if (!s) return null; // If it already looks like http(s), keep it as-is. if (/^https?:\/\//i.test(s)) return s; // Reject other schemes (mailto:, file:, etc). if (/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(s)) return null; // Treat bare hosts/paths as https. return 'https://' + s; } function toMarkdownNewUrl(input) { const abs = normalizeToAbsoluteUrl(input); if (!abs) return null; return 'https://markdown.new/' + abs; } const input = process.argv.slice(2).join(' '); const out = toMarkdownNewUrl(input); if (!out) { process.stderr.write('Usage: markdown-url <http(s)://url | host/path>\\n'); process.exit(2); } process.stdout.write(out + '\n'); --- name: markdown-url description: | Route any website you need to visit through markdown.new by prefixing the URL. **WHEN TO USE:** - You would normally open a website link to read content (docs, blog posts, changelogs, GitHub issues, etc.) - You need a cleaner, Markdown-friendly view for copying notes or summarizing --- # markdown.new URL Prefix Whenever you need to visit a website URL, you must: 1) rewrite it to go through `https://markdown.new/`, then 2) visit the rewritten URL, and 3) pull the Markdown content from that page for use in your answer/notes. ## Rewrite Rule 1. Normalize the destination into an absolute URL with a scheme (`https://` preferred). 2. Prefix it with `https://markdown.new/` (do not drop the original scheme). ### Examples - `https://example.com` -> `https://markdown.new/https://example.com` - `https://example.com/docs?a=1#b` -> `https://markdown.new/https://example.com/docs?a=1#b` - `example.com` -> `https://markdown.new/https://example.com` ## Agent Workflow (Required) When you would normally open a website to read it: 1. Produce the rewritten `markdown.new` URL. 2. Visit the rewritten URL first (not the original), but only when it is likely to work (see Policy below). 3. Extract the page content from the Markdown view (the rendered Markdown and/or the raw Markdown). 4. Use that extracted Markdown as the source for summaries, quotes, checklists, or copy/pasteable notes. If the `markdown.new` view fails to load or breaks critical functionality, fall back to the original URL for browsing, but still prefer `markdown.new` for any content extraction if possible. ## Policy: When To Use markdown.new (Required) Do NOT route every site through `markdown.new`. Use it primarily for "read-only" pages where you want clean, extractable text: - Documentation pages - Blog posts / announcements / changelogs - GitHub issues/PR discussions (when you just need readable text) - Articles and guides Skip `markdown.new` and go straight to the original URL when the destination is likely to be blocked or requires the original site behavior: - Login, OAuth, checkout, payment, or any authenticated workflow - Sites that gate content behind JS apps, CAPTCHAs, bot detection, or paywalls - File uploads, forms, editors, dashboards, interactive widgets - Anything where cookies/session state must be preserved ### Block/Failure Signals (Treat As Blocked) If you try `markdown.new` and see any of the below, stop retrying and fall back to the original URL: - HTTP `401/403/429`, "Access denied", "Forbidden", "rate limited" - CAPTCHA / "verify you are human" - Empty/partial content that clearly does not match the page - Redirect loops or repeated navigation failures ### Fallback Behavior 1. Attempt `markdown.new` once when appropriate. 2. On block/failure, immediately switch to the original URL for browsing. 3. If you still need extractable text, try to extract from the original page (reader mode / copy text) and clearly note that `markdown.new` was blocked. ## Notes / Exceptions - Keep this for reading/browsing. For API endpoints, OAuth flows, file uploads, or anything that depends on cookies/login state, use the original URL if the p