Skip to main content

sheet-read

Read rows from the coach's Programming Source Sheet and/or Movement Source Sheet using gogcli, resolving the real spreadsheet ID from local plugin data instead of any hardcoded value. Use this as stage 1 of the Rubicon programming pipeline, before programming-inference.

Quellinformationen

Repository
joelhooks/rubicon-codex-plugin
Letzte Quellaktivität
8. Juli 2026 um 16:30
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
sheet-read
description
Read rows from the coach's Programming Source Sheet and/or Movement Source Sheet using gogcli, resolving the real spreadsheet ID from local plugin data instead of any hardcoded value. Use this as stage 1 of the Rubicon programming pipeline, before programming-inference.
# Sheet Read Stage 1 of 4 in the Rubicon coach programming pipeline: `sheet-read` → `programming-inference` → `preview` → `publish` This skill reads raw rows out of Google Sheets so they can later be transformed into Rubicon's programming graph. It does not write anything to Rubicon. Stop after this stage and let the coach confirm the pulled rows look right before moving on to `programming-inference`. ## Where the sheet IDs come from This plugin never hardcodes a spreadsheet ID or URL — not as a real value, not as a "just an example" placeholder. The real IDs belong to the coach (Chris) and only exist locally, outside this repo. On first install, the `sheet-id-onboarding` hook (`hooks/hooks.json`) prompts for both sheet IDs/URLs and writes them to: ``` $PLUGIN_DATA/sheet-ids.json ``` with shape: ```json { "programmingSourceSheetId": "<resolved at runtime>", "movementSourceSheetId": "<resolved at runtime>" } ``` Before reading any sheet, read this file and use the ID it contains. If the file is missing or a field is empty, tell the user to re-run onboarding rather than asking them to paste the ID into chat (chat transcripts are not a safe place for this either — treat the sheet identity as sensitive, same as a credential). Refer to the two sheets by name in all output to the user: - "the Programming Source Sheet" - "the Movement Source Sheet" Never print the literal spreadsheet ID or a `docs.google.com/.../d/...` URL into any file this plugin writes to the repo, into commit messages, or into any artifact that might get shared publicly. It is fine to use the ID in-memory to make the `gog` call itself. ## Reading rows with gogcli This plugin uses `gogcli` (the `gog` CLI, installed at `/opt/homebrew/bin/gog` in the reference environment) for all Google Sheets access. `gog` is keychain-backed, per-account OAuth — it authenticates as the coach's own Google account and addresses sheets purely by `spreadsheetId`. No Google credentials are ever embedded in this plugin. The exact flag names below are illustrative, not guaranteed — **consult `gog sheets --help` (and `gog --help`) for the exact current flags** before relying on this shape, since gogcli's CLI surface may have moved since this skill was written: ```sh gog sheets read \ --spreadsheet-id "<id from sheet-ids.json>" \ --range "<sheet name or A1 range, e.g. 'Programming'!A1:Z>" ``` General approach: 1. Load `programmingSourceSheetId` and/or `movementSourceSheetId` from `$PLUGIN_DATA/sheet-ids.json` depending on what the coach asked for. 2. Run `gog sheets --help` if you haven't confirmed the current subcommand and flag names in this session. 3. Read the relevant range(s). Prefer reading a named tab/range over the whole sheet if the coach specifies a week, block, or session. 4. Return the rows as structured data (e.g. a table or JSON) in the conversation so the coach can sanity-check them — do not silently pass them forward to `programming-inference` without a checkpoint, unless the coach explicitly says to proceed. ## Handoff Once the coach confirms the pulled rows look correct, hand off to the `programming-inference` skill with the raw row data. Do not attempt to infer Rubicon programming operations in this skill — that belongs entirely to `programming-inference`.
Auf GitHub ansehen