Skip to content

Releases: radueduard97/MdPad

1.2.0 — The skill workbench

Choose a tag to compare

@radueduard97 radueduard97 released this 25 Jul 22:05

MdPad 1.1.0 could show you what a skill costs. 1.2.0 can tell you whether it will load, what the model actually receives, and — when the body has grown too expensive — do something about it.

Almost everything on the 1.1.0 roadmap is in this release: front matter validation, the agent view, the New Skill scaffold, find and replace, session restore, and anchor links that actually move both panes. ~6,000 lines across 21 files.

The skill workbench

Front matter validation. A SKILL.md has a metadata contract, and getting it wrong fails quietly — the skill loads under a name nothing routes to, or never gets picked for the request it was written for. The sidebar checks that contract on every keystroke: name kebab-case and matching its folder, description length and trigger phrases, allowed-tools syntax and tool names, unknown or duplicated keys. Click an issue to land the caret on the line it is about. Every house-style rule can be promoted, demoted or switched off, because a panel full of noise stops being read.

Agent view. A fourth view mode showing the document as the model receives it, in three monospace, copyable blocks: the one-line listing entry that is in every prompt, the body delivered on invoke, and the linked files that cost nothing until something reads them.

Extract to a reference (Ctrl+Shift+E). The budget meter says when a body is too expensive to load on invoke; this is the edit that answers it. Put the caret in a section, and MdPad moves it to references/<slug>.md — headings lifted so the new file reads as a document — leaving a link behind. It prices the trade first (on invoke: ~6.2k → ~2.1k), never moves front matter, is not fooled by a # inside a code fence, and saves both halves together so it cannot leave an orphan.

New skill (Ctrl+Shift+N). A kebab-case name and a description, and you get a folder, a SKILL.md that already passes every check, and a references/ folder wired to a starter file. No errors, no warnings, no broken links, no orphans: the first red mark you see is one you introduced.

Anchors resolve. #section scrolls the preview and moves the caret, and ./rules/styling.md#naming opens the file and lands on the heading. Matching follows GitHub's slug, so links written for a repo work unchanged.

The editor

Find and replace (Ctrl+F / Ctrl+H), over the open file or the whole folder around it — a skill is a folder, so renaming a tool means touching SKILL.md and every reference beside it. Folder-wide Replace all confirms the count, writes closed files to disk and leaves open tabs dirty so nothing is rewritten under you.

Matches are shown, not just counted: the editor jumps to and selects the first match as you type and keeps that selection painted while the caret is in the find box, and the preview highlights every match at once so you can see where the hits cluster.

Settings (Ctrl+,) — six live-applied pages: theme and backdrop, three font slots, typing assists and on-save tidy-ups, the skills folder and budget thresholds, autosave, and find defaults. No OK button; the only way to judge a font is against the document behind the dialog. Stored as readable JSON at %LOCALAPPDATA%\MdPad\settings.json, which the dialog will open for you to hand-edit.

Session restore brings back the tabs you left open, unsaved work included. External change detection reloads a file an agent rewrote while it sat open, rather than letting a stale buffer overwrite it — with a policy setting for how eager that should be.

Preview theme independent of the app theme, so you can check how a README reads in light while working in dark.

Also

  • The README has been rewritten around the problem the tool solves, and is candid about what MdPad is not: not an agent runner, not cross-platform, not a real tokeniser, and not battle-tested
  • MSIX packaging alongside the zip installer
  • MdPad never calls a model and has nothing to sign in to; every number it reports is computed from the bytes of your file

Install

Zip — download MdPad-1.2.0-win-x64.zip, unzip, run Install.cmd. Per-user, no administrator rights, self-contained (no .NET or Windows App SDK needed).

MSIX — download MdPad-1.2.0-win-x64-msix.zip, unzip, run Install-Msix.ps1. The package is signed with a self-signed developer certificate, so the script imports that certificate into Trusted People before installing.

Upgrading from 1.1.0 is an install over the top; settings and session files are read with defaults for anything missing.

Known limitations

  • Search is plain text — no regular expressions, no whole-word option — and a folder-wide replace is not undoable from inside MdPad
  • The editor can only mark the match you are on; highlighting every match at once is something only the preview can do, because a WinUI TextBox has a selection and nothing else to mark text with
  • Validation uses MdPad's own small YAML reader, so it checks top-level keys rather than nested structures, and the tool list it knows is the built-in set
  • The agent view shows the document's contribution to the context window, not the wrapper an agent adds around it, and does not inline the content of linked files
  • One author, one machine, no automated test suite — bug reports welcome
  • Self-contained builds are large: ~270 MB installed, ~100 MB zipped

Full changelog: 1.1.0...1.2.0

1.1.0 — Inline HTML

Choose a tag to compare

@radueduard97 radueduard97 released this 24 Jul 22:29

MdPad 1.1.0 renders inline HTML in the preview.

HTML blocks used to land as raw monospace text and inline tags were dropped altogether, so the centred title, badge row and <kbd> a README is built from did not survive the preview. They do now — as native WinUI controls, same as everything else. No WebView2, no browser.

Inline HTML

  • Blocks<h1><h6> (which join the outline sidebar), <p>, <div>, <blockquote>, <ul> / <ol> (with start), <pre>, <hr>, <details> / <summary>, and <table> with thead/tbody, <th>, colspan and per-cell alignment
  • Inline<b>, <i>, <u>, <s>, <code>, <kbd>, <samp>, <mark>, <small>, <br>, <a> and <img>, including tags that open and close across other Markdown
  • Alignmentalign="center" and style="text-align: …" are honoured and inherited by nested content
  • Comments are hidden, <script> and <style> are dropped, and a stray < stays a <

Images

  • Relative sources now resolve against the document's folder, so <img src="Assets/logo.png"> and Markdown ![](docs/shot.png) finally draw
  • SVG is supported, including extension-less URLs that serve SVG — which is how a shields.io badge renders
  • Linked images (<a><img></a>, [![badge](img)](url)) are clickable
  • A source that will not load falls back to its alt text instead of a blank gap

Install

Zip — download MdPad-1.1.0-win-x64.zip, unzip, run Install.cmd. Per-user, no administrator rights, self-contained (no .NET or Windows App SDK needed).

MSIX — download MdPad-1.1.0-win-x64-msix.zip, unzip, run Install-Msix.ps1. The package is signed with a self-signed developer certificate, so the script imports that certificate into Trusted People before installing.

Known limitations

  • WinUI's SVG renderer does not draw <text> elements, so shields.io badges show their colours but not their labels
  • <details> renders expanded rather than collapsible
  • CSS in a style attribute is ignored apart from text-align

Full changelog: 1.0.0...1.1.0

Initial release

Choose a tag to compare

@radueduard97 radueduard97 released this 24 Jul 07:20
dd6b176

In order to be able to install via MSIX you need to install the MdPad.cer first in order to sign the installer.