draft-hold

Installation
SKILL.md

draft-hold — human-in-the-loop drafts via macOS Notes

Self-Evolving skill — if macOS Notes/Stickies behavior drifts from what's below, fix this SKILL.md and the shared engine scripts/lib/notes-core.ts (+ a case in notes-core.test.ts); see the Post-Execution Reflection at the bottom.

When you compose something a human should confirm or edit before it goes out (a message to a real person, an announcement, a commit body), don't keep it only in chat — park it in macOS Notes so the operator can edit it on any device, then read it back and act on the edited version.

DH="$CLAUDE_PLUGIN_ROOT/skills/draft-hold/draft-hold.sh" — a thin shim that execs the Bun/TypeScript engine scripts/draft-hold.ts, built on the plugin's shared notes-core engine (which also powers notes-inventory/notes-export/notes-organize).

Formatting is handled in code — just write naturally

The engine (formatter in scripts/lib/notes-core.ts, unit-tested in notes-core.test.ts) normalizes your input into Notes HTML, so you never hand-manage line breaks:

  • Prose reflows. Consecutive non-blank lines join into ONE paragraph that Notes soft-wraps to the reader's screen. Accidental hard-wrapping (text pre-wrapped at ~80/100 cols) is corrected automatically — it can no longer become a permanent mid-sentence break. Blank lines are the only breaks that matter.
  • A blank line = a new paragraph/section. That is the one authored break.
  • List items — lines beginning with -, *, +, , 1., 2), a. etc. each stay on their own line; a wrapped continuation line (indented, no marker) joins back to its item.
  • Verbatim / columnar / code blocks — wrap them in a ``` fence. Every line inside is preserved exactly and rendered monospace with spaces held (via  ), so columns and IDs line up in the Notes UI. (Note: get --body-only returns the sendable plain text and collapses inter-column runs to single spaces; if exact alignment must survive to the recipient, send an attachment/screenshot.)

Hardening (verified failure modes this engine guards)

Installs
2
GitHub Stars
59
First Seen
Jul 2, 2026
draft-hold — terrylica/cc-skills