Skip to content

Instantly share code, notes, and snippets.

@wmprkr
Created April 7, 2026 04:54
Show Gist options
  • Select an option

  • Save wmprkr/32ae6c799255c8b15067598af749837d to your computer and use it in GitHub Desktop.

Select an option

Save wmprkr/32ae6c799255c8b15067598af749837d to your computer and use it in GitHub Desktop.
name daily-harvest
description Scan the last 7 days of daily notes for blog post seeds and loose threads, then write a Harvest Report to 0 Isolation/Harvests/

Daily Harvest

Scan the last 7 days of daily notes and surface two things: blog seeds (thoughts worth expanding into a post) and loose threads (tasks, waiting-ons, or open questions that need following up).

Context

The user publishes a personal blog at wm.xyz with a candid, conversational, opinionated voice. Posts range from tech discoveries (Linux upgrades, Obsidian tips) to personal reflection (work frustrations, life observations) to sharp opinion pieces. A good blog seed doesn't need to be polished — it just needs a point of view, an angle, or enough friction to pull a thread on.

Steps

1. Determine the date range

Today's date is available in the system context (currentDate). Calculate the 7 preceding dates (today included). Daily notes follow this path pattern:

OTD/Daily/YYYY-MM-DD.md

2. Read each daily note

For each of the 7 dates, attempt to read the note. If the file doesn't exist (weekend, missed day), skip it silently — do not flag missing days as an issue.

3. Extract content from both sections

Each daily note has two relevant sections:

## Musings — Timestamped H3 entries added via QuickAdd, formatted like:

### March 16th, 2026 • 22:09
[freeform thought]

## WORKSPACE — Open working area below Musings. May contain drafts, lists, links, pasted content, or in-progress ideas added directly to the note (not via QuickAdd). Content here has no consistent format.

Collect all non-empty content from both sections across all 7 notes, preserving the source date for each item.

4. Categorize each item

Evaluate each piece of content against two categories:


Blog Seeds

Flag as a blog seed if the content:

  • Expresses an opinion or point of view, even a hot take in a single sentence
  • Describes a problem solved or a discovery made (tech, life, workflow)
  • Contains a personal story or observation with enough texture to expand
  • Has friction, tension, or irony — something the writer clearly feels something about
  • Is a question worth exploring in public

Do NOT flag as a blog seed:

  • Pure sign-off entries ("Goodnight", "Good morning")
  • Pure URLs with no context or reaction
  • Extremely brief factual notes with no opinion (e.g. "Ordered new kneepads on Amazon")

For each blog seed, suggest:

  • A working title (informal, in the user's voice — not clickbait)
  • A one-line angle describing how the thought could become a post

Loose Threads

Flag as a loose thread if the content:

  • Describes a waiting-on situation ("hasn't called yet", "still waiting on X")
  • Contains an implicit or explicit TODO or follow-up action
  • References something unresolved or open-ended that seems to need action
  • Is a draft or work-in-progress left in WORKSPACE that hasn't become anything yet

5. Write the Harvest Report

Create a new note at:

0 Isolation/Harvests/Harvest Report YYYY-MM-DD.md

Use today's date in the filename. Apply standard vault frontmatter:

---
aliases:
tags:
  - harvest
publish: false
created: YYYY-MM-DD HH:mm
modified: YYYY-MM-DD HH:mm
status: seed
---

Use this structure for the note body:

# Harvest Report — [Month DD–DD, YYYY]

*Last 7 days: [date range covered, e.g. March 10–16]*

---

## Blog Seeds

### [Working Title]
> [Exact quote or paraphrase of the original musing]

**Source:** [[YYYY-MM-DD]] · [Section: Musings / WORKSPACE]
**Angle:** [One-line description of how this could become a post]

---

[repeat for each seed]

---

## Loose Threads

- **[Brief label]**[What was said / what seems unresolved] *(Source: [[YYYY-MM-DD]])*

[repeat for each thread]

---

## Days Harvested

[List the dates that were read, e.g. `2026-03-10`, `2026-03-11`, etc.]

---

## Ideas

- [ ] [Working Title of first blog seed]
- [ ] [Working Title of second blog seed]
[repeat for each blog seed — one checkbox per seed, text is the exact h3 working title]

If a section has nothing to report, write *Nothing flagged.* rather than omitting the section header.

6. Report back to the user

After writing the file, tell the user:

  • How many blog seeds were found
  • How many loose threads were found
  • The path to the Harvest Report note

Rules

  • Read-only on daily notes — never modify anything in OTD/
  • Only create the Harvest Report file — do not create any other notes
  • Use [[YYYY-MM-DD]] wikilink format for source dates in the report
  • Do not invent or editorialize beyond the working title and angle suggestions
  • If the last 7 days are entirely empty (all notes blank or missing), tell the user rather than creating an empty report
  • The report is a starting point, not a final product — keep the tone of suggestions informal and low-pressure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment