Skip to content
Back to skills

Reader Md

ASecurity

Open a markdown file in Reader.md, the macOS markdown reader, so the user can read it in a real window instead of the terminal or an editor tab. Use right after writing or substantially rewriting a markdown document the user is meant to read — a plan, spec, design doc, report, or review — and whenever the user asks to open, show, or preview a markdown file in Reader.md.

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 5, 2026
ai-agentsgoshellbash

Works with

  • terminal

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add jnahian/reader.md --skill reader-md --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reader Md?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reader Md
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jnahian-reader-md/badge)](https://www.skillsdirectory.com/skills/jnahian-reader-md)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: reader-md
description: Open a markdown file in Reader.md, the macOS markdown reader, so the user can read it in a real window instead of the terminal or an editor tab. Use right after writing or substantially rewriting a markdown document the user is meant to read — a plan, spec, design doc, report, or review — and whenever the user asks to open, show, or preview a markdown file in Reader.md.
---

# Open markdown in Reader.md

When you finish a markdown document the user is going to read, open it for them
with the `reader` command, passing the file's **absolute path** — `reader`
resolves a relative one against the shell's working directory, which is not
always where you wrote the file:

```bash
if command -v reader >/dev/null; then reader /abs/path/to/plan.md; fi
```

The app launches if it is not running, and the file does not have to be in a
folder the user has added.

## When

- **On your own:** you wrote or substantially rewrote a `.md`, `.markdown`,
  `.mdown`, `.mdx`, `.mkd`, `.mkdn`, or `.mdwn` file whose audience is the user — a plan, spec, design
  doc, report, or review.
- **When asked:** the user asks to open, show, or preview a markdown file in
  Reader.md.

Not on your own for a small edit to an existing doc, for repo housekeeping done
as part of a code change (README, changelog), or for markdown written for a
machine or another agent (memory files, `CLAUDE.md`, `AGENTS.md`, prompts,
skills). And being asked to *read* a file means you read it — that is not a
request to open it.

## If `reader` is not installed

The `if` guard above makes a missing command a quiet no-op. Reader.md is macOS
only, and when you were opening a document on your own that is the right
outcome: say nothing and carry on.

When the user *asked* for Reader.md, tell them instead: the command comes with
the Homebrew cask, and a DMG install adds it from **File → Install `reader`
Command Line Tool…**.

## How

- **Do not re-run it after each edit.** Reader.md live-reloads the open file on
  every save with the scroll position kept. Run `reader` again only when you
  have opened a different document since, because the window shows one at a
  time.
- **One file per command.** If you wrote several, open the one to read first
  and name the others in your reply.
- **Text that already lives somewhere else** — a PR body, command output — can
  be piped: `gh pr view 12 --json body -q .body | reader -`. A piped document is
  a temporary copy that is deleted a day later, so anything you author yourself
  goes in a file.
- **Diff mode only when the user asks for a diff:** `reader /abs/path/spec.md --diff`
  shows the file's uncommitted changes side by side, so it is empty for a file
  you have already committed. It also stays on for every document opened
  afterwards, and `reader` cannot turn it off — tell the user ⇧⌘D does.
- Afterwards, tell the user in one line that the file is open in Reader.md.

`reader` exits 1 with the reason on stderr — a path that does not exist, a file
that is not markdown, an app that could not be launched. Correct a wrong path
once; otherwise report the reason and move on.

Do not run `reader <folder>`, `reader .`, `reader rm`, or `reader remote` on your
own. Those change the user's sidebar, so they are for when the user asks.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.