| name | generate-action-list |
| description | Generate a printable / portable action list as CSV and optionally PDF — throw-out lists, donation pickup lists, resale queues, insurance schedules, or box labels. Pulls from analysis/* reports already produced by the other skills, and renders via Typst (preferred) or pandoc fallback. The user walks through the house with the printout and ticks items off. |
Generate action list
When to invoke
The user wants something printable they can carry around — "give me a CSV/PDF of stuff to throw out", "print the donation pickup list", "I need an insurance schedule for the policy", "print box labels".
Modes
| Mode | Source | Use case |
|---|
discard | analysis/discards.md | Walk the house, gather throw-out items |
donation | analysis/donation-targets.md | Group by recipient org, bag and ship |
resale | analysis/resale-targets.md | Sale queue sorted by payoff/hour |
insurance | analysis/insurance-schedule.md | Itemized contents schedule for the policy |
box-labels | box-maps/*.md | One label per box, taped to the box |
box-manifest | box-maps/<label>.md | Full per-box contents printout |
Pipeline
- Determine mode — from the user's request or the most-recently-modified file in
analysis/.
- Build the CSV first at
<workspace>/outputs/<mode>-<YYYY-MM-DD>.csv. Columns vary per mode (see each contributing skill for its CSV columns). Always include a leading done column (empty checkbox for the user to tick).
- Offer PDF rendering — ask before rendering; not every user wants a PDF. If yes:
- Prefer Typst if installed (
which typst). Generate a .typ source with a clean table layout: A4, portrait by default (landscape for wide schedules), IBM Plex Sans, header with mode + workspace household name + date, footer with page numbers.
- Fallback to pandoc → PDF if Typst is unavailable.
- Output:
<workspace>/outputs/<mode>-<YYYY-MM-DD>.pdf.
Layout per mode
- Discard — checkbox, item, location/box, reason. Group by location so the user clears one room at a time.
- Donation — checkbox, item, condition, recipient organization. Group by recipient.
- Resale — checkbox, item, condition, est_sale_value, platform, listed?, sold? Sorted by payoff/hour.
- Insurance — line number, item, category, condition, est_value, currency, value_source. Sorted by value desc. Total at end. No checkbox column — this is a record, not a worklist.
- Box labels — one box per page, large box label, contents bullet list, "if found, contact " footer if user wants.
- Box manifest — table per box; one PDF per box label or one combined PDF.
After rendering
- Print path(s) to chat.
- Offer
xdg-open to view immediately.
- If the user has the
repo-to-content plugin / gws-personal MCP, offer to upload the PDF to Drive.
Don't re-derive analysis
If the source analysis/ file doesn't exist, tell the user which skill to run first (suggest-discards, identify-donation-targets, etc.) — don't try to re-generate the analysis here.