hoo-export · git:20260719.6c4d042 · 2026-07-19 · sha256 7269d9b540deff46
hoo-export git:20260719.6c4d042A
Immutable. This exact content is served forever at /api/v1/blob/7269d9b540deff46.
---
name: hoo-export
description: Use to flatten the brain to CSV for BI tools - "export the data", "CSV for Sheets or Looker Studio", /organic-os:export. Read-only over the brain; writes only the dated export folder.
---
# CSV export (your data, no tier gate)
Resolve the brain: use registry.get_active() when running interactively;
scheduled runs receive the brain path from the routine configuration.
0. Run `core.contracts.check_schema(brain_path)` first. If not compatible,
relay the action string and stop.
1. Run the export via the canonical invocation:
`PYTHONPATH="$CLAUDE_PLUGIN_ROOT/lib" python3 -c` snippet calling
`core.export.export_all(brain_path)`. It writes
`runs/<UTCdate>-export/` inside the brain (see
docs/site-repo-contract.md) and returns the dir, the file list, and a
skipped-line count.
2. Present the result: each file with its path, plus the skipped-line
count when it is non-zero ("N signal lines carried a metric token
that did not parse and were skipped, never guessed at"). A source the
brain does not have yet (no keyword history, no outcome records) is
simply absent from the list - say so in one line, no error.
3. One line on usage: import the CSVs into Sheets or Looker Studio
directly - your data is files in your own repo, so there is no
locked tier and no gate (ROADMAP, v0.4: commercial tools gate export
behind top tiers; export here is a right, not an upsell).
4. If the configured approval channel supports documents, offer to send
the CSVs there (telegram: `core.telegram.send_document` per file;
in-session: the paths from step 2 are already the delivery; a channel
that cannot carry a file reports the paths instead - ADR-0009).
5. Commit "export: YYYY-MM-DD" if the brain mode is git.
This skill never mutates signals, items, the skillbook, or the site -
the CSV files under `runs/` are its only writes.