Skip to content

Feature request: react-grab-style highlight + annotate on markdown, exportable as a changelist for coding agents #5

@JohnnyBonk

Description

@JohnnyBonk

TLDR

Inspired by react-grab: highlight any markdown passage in Marky and get a small action menu (annotate / cut / reword / note). Those actions accumulate into a timestamped list on the document. Export the whole list back to your coding agent as a structured changelist.

Workflow

Coding agents constantly produce markdown for humans to review — READMEs, specs, plans, architecture notes. Today, reading in Marky is passive: I read, I mentally flag what needs changing, then I translate those notes back to the agent as prose. Context evaporates between reading and reporting.

What I'd love — colour-first, lists are just named colours:

  1. Pre-set an active highlight colour (say yellow). Highlight any passage the normal way and it uses that colour.
  2. On highlight, a small menu offers: add an annotation, mark it cut / flag / note, or leave the highlight bare.
  3. Swap the active colour at any time (keyboard shortcut / palette / menu). Highlights from that point land in the new colour, then switch back whenever — no ceremony.
  4. Each colour is implicitly a list. Optionally name a colour ("grammar issues", "no citation", "cut candidates") and that becomes its list title. Until named, it's just "yellow" or "pink".
  5. Every action carries a timestamp and the surrounding section heading (## / ###) automatically.
  6. At the end, copy to clipboard at three granularities: a single item, one whole list (i.e. one colour), or all lists. Output is a structured changelist ready to paste to Claude Code / Cursor / Aider.

Example flow: default colour is yellow, I highlight a bunch of things as "grammar issues" and annotate as I go. Mid-read I spot an uncited claim, switch to pink, highlight it as "no citation", then switch back to yellow for the next passage. At the end I copy the pink list by itself for the citation-chasing round, then the yellow list for the prose round.

Example export (all lists)

Source: /abs/path/to/README.md
Exported: 2025-03-12 11:07

## List: grammar issues (yellow)

### Section: "Installation"
> Run `npm install` and then configure your environment.
Action: annotate — awkward sentence, split into two.
Timestamp: 2025-03-12 10:43

### Section: "Usage"
> Import the client and call .run()
Action: annotate — missing article before "client".
Timestamp: 2025-03-12 10:45

## List: no citation (pink)

### Section: "Performance benchmarks"
> The library is 3x faster than alternatives.
Action: flag — needs a benchmark link.
Timestamp: 2025-03-12 10:44

Or copy just one list (pink), or just one item — same structure, narrower scope. Paste straight to the agent, it applies the edits.

Why react-grab is the inspiration

react-grab's win is that its output is formatted for a coding agent, not a human reader. File path first-class, location automatic, one action captures everything the agent needs. The same principle carries to markdown: file path, section heading, passage text, action, timestamp. The specific keystrokes or menu chrome matter less than the principle — output should be immediately pasteable to an agent.

Nice-to-haves

  • Three copy granularities: single item, one list (one colour), all lists
  • Keyboard shortcut to cycle the active colour without leaving the document
  • Export formats: plain, markdown-blockquote, JSON
  • Per-file persistence for in-progress reviews
  • Optional custom pipe command, e.g. --pipe "claude --append-prompt '{changelist}'"

Secondary ask: folder disambiguation in the sidebar

Opening Marky on a directory with markdown from several projects shows leaf names (plans, drafts, notes) with no project context. Would love parent repo in parens:

plans (coax-climate)
drafts (coax-climate)
plans (bookie)

Detection: walk up until you hit .git, use that folder's name.

Why it matters

The read-review-feedback loop with coding agents is now a core workflow, and no tool treats it as first-class. Marky is already the best place I read agent output. This bridge would make it the home for the whole cycle.

Happy to spec further or test a prototype.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions