collect-quote

The user collects quotes. Any note whose first non-frontmatter body line starts with quote: is a quote to keep. This skill captures it into a dedicated, browsable collection — separate from, and in addition to, normal vault routing.

The collection lives in 6_Private/Quotes/ (private — never published; quotes can be personal or copyrighted). Two artifacts:

  • One file per quote6_Private/Quotes/<slug>.md, a small note carrying frontmatter + the verbatim quote. These integrate into the graph (wikilinkable, taggable).
  • The index6_Private/Quotes/Quotes.md, which embeds every quote so the user can browse the whole collection top-to-bottom in one page.

When to use

  • From process-inbox (the normal path): an inbox note’s first body line is quote: …. See “Trigger” below.
  • Directly: the user pastes a quote: … line in chat, or says “save this quote” / “add to my quotes”.

Trigger — be precise

A note is a quote only if its first non-frontmatter body line starts with the literal prefix quote: (case-insensitive, optional space after the colon). This is the reliable contract.

  • ✅ Body begins quote: The Japan I want required a witness. → it’s a quote.
  • ❌ The word “quote” appearing somewhere in prose (a note about quotes) → not a trigger. Do not scan for the substring.
  • A longer memo may contain an explicit quote: line in its body — extract that line as a quote (see “Two cases” below), but the memo itself routes normally.

Procedure

1. Extract the quote text — verbatim

Take everything after the quote: prefix on that line (and any continuation, if the quote clearly wraps across following lines of the same note). Strip only the prefix. Do not fix punctuation, capitalization, or wording. The user’s text is sacred — same rule as process-inbox.

Optional attribution: if the quote ends with a trailing — Author, ~ Author, or - Author, you may lift that into an attribution: frontmatter field and keep the rest as the quote body. If there’s no clear attribution (the common case — most quotes arrive bare), don’t invent one and don’t add the field.

2. Build the slug + filename

  • Lowercase the first ~5–8 words of the quote, replace non-alphanumerics with -, collapse repeats, trim. Aim for a readable, recognizable slug — e.g. the-japan-i-want-required-a-witness.
  • Collision check: if 6_Private/Quotes/<slug>.md already exists, append the created date (-2026-06-14) or a counter (-2). Never overwrite an existing quote.

3. Write the quote file

6_Private/Quotes/<slug>.md:

---
created: 2026-06-14        # ISO date — from the source note's `created:`, else today
lang: en                  # de | en | ja | mixed — the quote's language
tags: [quote]             # add a topical tag only if obvious; don't force it
source: manual            # or: monologue / article / book / conversation — provenance of where the quote came from
attribution: Author Name  # OPTIONAL — only if the quote carried a clear "— Author"
---
 
> The Japan I want required a witness. The witness, as it turns out, couldn't witness.

Rules:

  • Body is just the blockquote (and a — Author line below it if attribution is known). No H1 title — the index embeds this file, and a title would clutter the embed.
  • Render the quote as a Markdown blockquote (> …). For multi-line quotes, prefix each line with > .
  • Frontmatter follows the AGENTS schema.

4. Add it to the index

Open (or create) 6_Private/Quotes/Quotes.md and prepend an embed of the new quote at the top of the quote list (most-recent-first), with a small caption line:

![[<slug>]]
*<created-date>*
 
---

If the quote has a genuine cross-ref (see step 5), add it to the caption, not the quote file:

![[<slug>]]
*<created-date> · related: [[some-related-page]]*
 
---

Embedding (![[slug]]) keeps the index DRY — the quote text lives in one place — while letting the user read every quote in one scroll. If Quotes.md doesn’t exist yet, create it from the template in “Index file shape” below.

5. Graph enrichment — light touch

Quotes are exempt from process-inbox’s 10–15-pages target. A one-line quote does not need a web of cross-refs — that’s link spam, and since the collection is in 6_Private/, links from public pages won’t resolve in Quartz anyway. If a quote genuinely echoes an existing page (e.g. a memo’s theme), add one link — in the index caption next to the embed (step 4), not in the quote file. Keep the quote file’s body to the blockquote only, because the index embeds it (![[slug]] transcludes headings, so a ## Related section would clutter the browse stream). If nothing genuinely relates, the quote lives in the collection + index alone. That’s fine.

Two cases

  • Pure quote note (the whole note is one quote: line, like the inbox jots): the quotes collection is its home. Do not also file a second copy in 6_Private/Memo/ or Zettel/ — that’s double-filing. The quote file + index entry is the complete routing.
  • Memo containing a quote (a longer note with an explicit quote: line inside it): route the memo normally per process-inbox and extract the quote: line into the collection. Add a related: [[source-memo]] link to the quote’s index caption (not the quote-file body).

Index file shape

6_Private/Quotes/Quotes.md:

---
created: 2026-06-14
lang: mixed
tags: [quote, index]
source: derived
aliases: [Quotes]
---
 
# Quotes
 
A browsable collection of quotes worth keeping. New quotes are added automatically by
[[7_Agent/skills/collect-quote/SKILL|collect-quote]] whenever an inbox note's first line is `quote:`.
 
Each entry below embeds a quote from this folder; click a quote to open its own note.
 
---
 
![[the-japan-i-want-required-a-witness]]
*2026-06-14*
 
---

Logging & cleanup (when invoked from process-inbox)

process-inbox owns the inbox lifecycle. After this skill creates the quote file + index entry:

  1. Log to log under a ## [YYYY-MM-DD] quote | <short quote preview> header (Source, Routed to, the index, Touched).
  2. Delete the source inbox note.

When run directly from chat (not via process-inbox), just create the quote file + index entry and tell the user where it landed — there’s no inbox item to delete.

Rules

  • Verbatim. Strip the prefix, nothing else. Never edit the user’s words.
  • Always private. Quotes go to 6_Private/Quotes/ unconditionally. Don’t route a quote to a public PARA folder even if the topic looks public-safe.
  • No double-filing for pure-quote notes.
  • Don’t over-link. Exempt from the 10–15 target; one or two real links max.
  • Don’t overwrite. Slug collisions get a date/counter suffix.
  • Leave the legacy 5_Archive/3_Resources/Books/Quotes.md alone. It’s an old, differently-formatted list. Migrating it is out of scope unless the user asks.