Agent skill · software engineering · aradotso
md-this-page-extension
md-this-page-extension — an agent skill for coding agents.
Why this skill is useful
Provides specific implementation patterns for converting web content to Markdown using niche tools like Readability and Turndown, which the AI may not know how to integrate effectively.
What it needs
Requires node, pnpm installed locally. About 6k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.
What this skill does
bash git clone https://github.com/Ademking/MD-This-Page.git cd MD-This-Page pnpm install bash pnpm dev Generates: build/chrome-mv3-dev/ bash pnpm dev --target=firefox-mv2 Generates: build/firefox-mv2-dev/ bash pnpm build Output: build/chrome-mv3-prod/ pnpm build --target=firefox-mv2 Output: build/firefox-mv2-prod/ md-this-page/ ├── background/ │ └── index.ts # Service worker: context menu, keyboard shortcut ├── contents/ │ └── extractor.ts # Content script: Readability extraction ├── tabs/ │ └── preview.tsx # Preview tab UI (React) ├── components/ # Shared React components ├── utils/ │ └── turndown.ts # Turndown configuration/helpers ├── assets/ # Icons, SVGs ├── package.json └── plasmo.config.ts # Plasmo configuration typescript // contents/extractor.ts import { Readability } from "@mozilla/readability"; export function extractPageContent(): { title: string; content: string; author: string null; publishedTime: string null; url: string; } { // Clone document so Readability doesn't mutate the live DOM const documentClone = document.cloneNode(true) as Document; const reader = new Readability(documentClone); const article = reader.parse(); return { title: article?.title ?? document.title, content: article?.content ?? document.body.innerHTML, author: article?.byline ?? null, publishedTime: article?.publishedTime ?? null, url: window.location.href, }; } typescript // utils/turndown.ts import TurndownService from "turndown"; export interface ConversionOptions { keepImages: boolean; keepLinks: boolean; includeMetadata: boolean; includeSourceUrl: boolean; generatePageMap: boolean; } export function htmlToMarkdown( html: string, options: ConversionOptions ): string { const turndownService = new TurndownService({ headingStyle: "atx", // # H1, ## H2 style codeBlockStyle: "fenced", // style bulletListMarker: "-", }); // Optionally strip images if (!options.keepImages) { turndownService.addRule("removeImages", { filter: "img", replacement: () => "", }); } // Optionally strip lin …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aradotso/md-this-page-extension