lesson-harvestlisted
Install: claude install-skill home-dev-lab/workflow-toolbox
# lesson-harvest — mechanize finding the lessons a report already wrote
## Why this exists
A pilot or executor's closure report already carries a "## Lessons for the memory" section by
convention (see the `pilot` agent definition's "Final report contract"). Nobody automatically
reads it. The manual alternative — a human re-reading every report, every card, to find what's
worth keeping — doesn't scale and gets skipped under time pressure, which is exactly how a
documented gotcha gets rediscovered the hard way a second time.
This tool closes only that one gap: given a report file, tell the session **whether there is
anything to harvest, and what it is** — nothing more. It is deliberately NOT a memory writer: the
project's memory store may have exactly one writer (the session doing the integration), and
deciding a fiche's name, type, and wording, or whether it duplicates an existing fiche, is a
judgment call this tool cannot make.
## The two-sided contract this enforces
- A report whose section explicitly says **"None."** produces **no output artifact and no
noise** — `hasLessons: false`. Do nothing.
- A report whose section carries content produces the **candidate items, verbatim** —
`hasLessons: true`, `items: [...]`. Read each one and decide, per the project's own memory
discipline (one lesson → one operative fiche home, a short index line, never restating detail
in the index), whether and how to persist it.
- A report with **no such section at all** is reported