diff --git a/office-hours/SKILL.md b/office-hours/SKILL.md index 83161b8ca..6e0914cc5 100644 --- a/office-hours/SKILL.md +++ b/office-hours/SKILL.md @@ -917,6 +917,20 @@ rm -f /tmp/.gstack-brain-context-$$.md 2>/dev/null || true `gstack/`, `concepts/` only). Personal/family/therapy content never leaks here. +## Step 0: gbrain context (run before Phase 1) + +**REQUIRED SUB-SKILL: Use `brain-ops` — search gbrain for existing research on this idea before asking Q1.** + +``` +mcp__gbrain__search "" ← any prior takes, briefs, signals +mcp__gbrain__search "" ← if idea targets a known market +mcp__gbrain__list_pages type=signal sort=updated_desc limit=5 ← recent related signals +``` + +Surface what's already in the graph to the user before starting the diagnostic. If a prior office-hours session exists for this idea (`type: ceo-plan`), load it and note what changed since then. Skip questions that the graph already answers. + +--- + ## Phase 1: Context Gathering Understand the project and the area the user wants to change. diff --git a/office-hours/SKILL.md.tmpl b/office-hours/SKILL.md.tmpl index 8568fe73c..b59b4f17e 100644 --- a/office-hours/SKILL.md.tmpl +++ b/office-hours/SKILL.md.tmpl @@ -73,6 +73,20 @@ You are a **YC office hours partner**. Your job is to ensure the problem is unde {{BRAIN_PREFLIGHT}} +## Step 0: gbrain context (run before Phase 1) + +**REQUIRED SUB-SKILL: Use `brain-ops` — search gbrain for existing research on this idea before asking Q1.** + +``` +mcp__gbrain__search "" ← any prior takes, briefs, signals +mcp__gbrain__search "" ← if idea targets a known market +mcp__gbrain__list_pages type=signal sort=updated_desc limit=5 ← recent related signals +``` + +Surface what's already in the graph to the user before starting the diagnostic. If a prior office-hours session exists for this idea (`type: ceo-plan`), load it and note what changed since then. Skip questions that the graph already answers. + +--- + ## Phase 1: Context Gathering Understand the project and the area the user wants to change. diff --git a/retro/SKILL.md b/retro/SKILL.md index 3fbc44726..7f1ae29a8 100644 --- a/retro/SKILL.md +++ b/retro/SKILL.md @@ -855,6 +855,20 @@ When the user types `/retro`, run this skill. +## Step 0: gbrain goals context (run before git analysis) + +Pull the active goals pages from gbrain to measure shipped work against stated commitments — not just git log: + +``` +mcp__gbrain__get_page goals/weekly/2026-w{N} ← current week's goals +mcp__gbrain__get_page goals/monthly/YYYY-MM ← month's commitments +mcp__gbrain__list_pages type=task status=in_progress sort=updated_desc limit=10 +``` + +Note which weekly goals had corresponding commits and which didn't. This becomes the "commitment vs shipped" section of the retro output. + +--- + ## Instructions Parse the argument to determine the time window. Default to 7 days if no argument given. All times should be reported in the user's **local timezone** (use the system default — do NOT set `TZ`). @@ -1802,6 +1816,17 @@ When the user runs `/retro compare` (or `/retro compare 14d`): ## Important Rules - ALL narrative output goes directly to the user in the conversation. The ONLY file written is the `.context/retros/` JSON snapshot. + +## Step Final: capture findings to gbrain + +After the retro output is complete, invoke `signal-detector` in parallel — the "what we learned" and "3 habits for next week" sections qualify as original thinking and must be captured: + +``` +Invoke signal-detector with the key insights from the retro. +Write target: signals/YYYY-MM-DD/retro-w{N} +``` + +Do NOT write the full retro to gbrain — only the distilled insights (patterns, surprises, decisions made). - Use `origin/` for all git queries (not local main which may be stale) - Display all timestamps in the user's local timezone (do not override `TZ`) - If the window has zero commits, say so and suggest a different window diff --git a/retro/SKILL.md.tmpl b/retro/SKILL.md.tmpl index b0819c8a6..6d0c3d132 100644 --- a/retro/SKILL.md.tmpl +++ b/retro/SKILL.md.tmpl @@ -62,6 +62,20 @@ When the user types `/retro`, run this skill. {{GBRAIN_CONTEXT_LOAD}} +## Step 0: gbrain goals context (run before git analysis) + +Pull the active goals pages from gbrain to measure shipped work against stated commitments — not just git log: + +``` +mcp__gbrain__get_page goals/weekly/2026-w{N} ← current week's goals +mcp__gbrain__get_page goals/monthly/YYYY-MM ← month's commitments +mcp__gbrain__list_pages type=task status=in_progress sort=updated_desc limit=10 +``` + +Note which weekly goals had corresponding commits and which didn't. This becomes the "commitment vs shipped" section of the retro output. + +--- + ## Instructions Parse the argument to determine the time window. Default to 7 days if no argument given. All times should be reported in the user's **local timezone** (use the system default — do NOT set `TZ`). @@ -950,6 +964,17 @@ When the user runs `/retro compare` (or `/retro compare 14d`): ## Important Rules - ALL narrative output goes directly to the user in the conversation. The ONLY file written is the `.context/retros/` JSON snapshot. + +## Step Final: capture findings to gbrain + +After the retro output is complete, invoke `signal-detector` in parallel — the "what we learned" and "3 habits for next week" sections qualify as original thinking and must be captured: + +``` +Invoke signal-detector with the key insights from the retro. +Write target: signals/YYYY-MM-DD/retro-w{N} +``` + +Do NOT write the full retro to gbrain — only the distilled insights (patterns, surprises, decisions made). - Use `origin/` for all git queries (not local main which may be stale) - Display all timestamps in the user's local timezone (do not override `TZ`) - If the window has zero commits, say so and suggest a different window diff --git a/review/SKILL.md b/review/SKILL.md index 5f26e2e42..5b924b9ab 100644 --- a/review/SKILL.md +++ b/review/SKILL.md @@ -845,6 +845,19 @@ You are running the `/review` workflow. Analyze the current branch's diff agains --- +## Step 0: gbrain task context + +**REQUIRED SUB-SKILL: Use `brain-ops` — look up any task or brief pages linked to this PR's feature before reading the diff.** + +``` +mcp__gbrain__list_pages type=task status=in_progress sort=updated_desc limit=5 +mcp__gbrain__search "" +``` + +If a task page exists: pull its acceptance criteria and use them as an additional review lens alongside the checklist. Note any mismatches between what the task says should ship and what the diff actually ships. + +--- + ## Step 1: Check branch 1. Run `git branch --show-current` to get the current branch. @@ -1843,6 +1856,43 @@ already knows. A good test: would this insight save time in a future session? If If the review exits early before a real review completes (for example, no diff against the base branch), do **not** write this entry. +## Step Final: capture findings to gbrain + +After review completes, run both writes in parallel: + +**A — Signal capture (architectural insights)** +If findings include non-trivial architectural observations, invoke `signal-detector`: +``` +Write target: signals/YYYY-MM-DD/review-{branch-slug} +``` +Skip for purely mechanical findings (formatting, null checks). + +**B — Task stub for CRITICAL unresolved findings** +For any finding that remains `status: unresolved` AND severity `CRITICAL` after the Fix-First pass: +``` +mcp__gbrain__put_page + slug: tasks/review-{branch-slug}-{fingerprint-short} + type: task + frontmatter: + status: open + priority: high + source: review + source_branch: + parent_meeting: null + parent_goal: null ← Milo week ritual will wire this + due: + author: "anoop@hashdirectors.com // ghosty" + content: | + ## Finding + {finding title + one-line description} + ## Why it matters + {from the review's critical-pass rationale} + ## Suggested fix + {from Fix-First classification} +``` + +This makes critical findings visible to Milo's open ritual (Bucket B orphan tasks) and the week ritual's cascade-linking pass. Without this write, the finding dies in signals/. + ## Important Rules - **Read the FULL diff before commenting.** Do not flag issues already addressed in the diff. diff --git a/review/SKILL.md.tmpl b/review/SKILL.md.tmpl index ae480da3d..c71415204 100644 --- a/review/SKILL.md.tmpl +++ b/review/SKILL.md.tmpl @@ -34,6 +34,19 @@ You are running the `/review` workflow. Analyze the current branch's diff agains --- +## Step 0: gbrain task context + +**REQUIRED SUB-SKILL: Use `brain-ops` — look up any task or brief pages linked to this PR's feature before reading the diff.** + +``` +mcp__gbrain__list_pages type=task status=in_progress sort=updated_desc limit=5 +mcp__gbrain__search "" +``` + +If a task page exists: pull its acceptance criteria and use them as an additional review lens alongside the checklist. Note any mismatches between what the task says should ship and what the diff actually ships. + +--- + ## Step 1: Check branch 1. Run `git branch --show-current` to get the current branch. @@ -294,6 +307,43 @@ Substitute: If the review exits early before a real review completes (for example, no diff against the base branch), do **not** write this entry. +## Step Final: capture findings to gbrain + +After review completes, run both writes in parallel: + +**A — Signal capture (architectural insights)** +If findings include non-trivial architectural observations, invoke `signal-detector`: +``` +Write target: signals/YYYY-MM-DD/review-{branch-slug} +``` +Skip for purely mechanical findings (formatting, null checks). + +**B — Task stub for CRITICAL unresolved findings** +For any finding that remains `status: unresolved` AND severity `CRITICAL` after the Fix-First pass: +``` +mcp__gbrain__put_page + slug: tasks/review-{branch-slug}-{fingerprint-short} + type: task + frontmatter: + status: open + priority: high + source: review + source_branch: + parent_meeting: null + parent_goal: null ← Milo week ritual will wire this + due: + author: "anoop@hashdirectors.com // ghosty" + content: | + ## Finding + {finding title + one-line description} + ## Why it matters + {from the review's critical-pass rationale} + ## Suggested fix + {from Fix-First classification} +``` + +This makes critical findings visible to Milo's open ritual (Bucket B orphan tasks) and the week ritual's cascade-linking pass. Without this write, the finding dies in signals/. + ## Important Rules - **Read the FULL diff before commenting.** Do not flag issues already addressed in the diff.