Review a blog page (.mdx) for technical accuracy, spelling/grammar, LaTeX/KaTeX conventions, image width format, reference formatting, and internal consistency. Use whenever the user asks to review, check, proofread, or audit a blog page or its content ("review this page", "review <path>", "check this page for errors").
Create a diagram for the current blog page by authoring a hand-written SVG. Use this skill whenever the user asks to create, add, or draw a diagram, schematic, block diagram, topology, flow chart, or similar figure for a page. Output is always SVG — do not use Excalidraw, Mermaid, Affinity Designer, or any other tool.
Create a graph/plot for the current blog page using Python and matplotlib, saving the source to the page's _assets/main.py and the output as a PNG. Use whenever the user asks to create, add, or update a plot, graph, chart, curve, frequency response, waveform, or any figure that visualizes data or a mathematical function. For schematics, block diagrams, and topology/flow figures use the diagram skill (SVG) instead.
Take a screenshot of a rendered blog page section using Playwright (via uv) against the local dev server, save it as a WebP into a page's _assets dir, and insert an <Image> tag. Use whenever the user asks to take/create/capture a screenshot of a page or section themselves (especially for monthly updates pages), e.g. "take a screenshot of X", "create a screenshot for this updates entry". For capturing an arbitrary region of the user's screen instead, use the snip-image skill.
Create an interactive client-side tool (also called a widget — calculator, decoder, builder, visualiser, simulator, designer, etc.), embed it in a blog .mdx page, and register it on the /tools/ index. Use this skill whenever the user asks to add an interactive component, calculator, widget, "playground", or any UI element that needs to react to user input on a blog page. Establishes the Preact + container-query pattern used by the existing tools so new ones follow the same conventions.
Capture a screenshot region, save it as a resized WebP into the current blog page's _assets dir, and insert an <Image> tag with an auto-generated caption into the page's index.mdx. Use this skill whenever the user wants to grab a screenshot of part of the screen and add it to the current blog post, says "snip an image", "screenshot into the page", "add a screen capture", or similar.
Add a formatted citation reference to the bottom of the current blog page. Use this skill whenever the user says "reference <url>", "add a reference for <url>", "cite <url>", or pastes a URL and asks for it to be added as a reference/citation. The skill fetches the URL, extracts metadata, and inserts a correctly formatted footnote reference into the current .mdx file.
Move a blog page directory to a new location and update every internal link to it across the codebase. Use whenever the user asks to move, relocate, re-parent, or restructure a page ("move X under Y", "put X into Y", "move X out of A into B"). Handles both relative (`/path`) and absolute (`https://blog.mbedded.ninja/path`) link forms, and updates links to sub-pages too.