From f876dbe34699a9c563d6adec4d78b533041601b9 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Date: Wed, 19 Aug 2026 15:54:56 -0400 Subject: [PATCH 1/2] capture-learning: gate workaround learnings on root cause, add wide angle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The session-side twin of ai-flow#68's rubric change: a coping procedure is not the learning when a code/test/tooling change removes the sharp edge (capture the design rule, propose the fix), and a capture pass must look past its own incident — recent history and the index for the pattern behind the instance, and the repo that actually owns the cause. Co-authored-by: Cursor --- share/cursor-skills/capture-learning/SKILL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/share/cursor-skills/capture-learning/SKILL.md b/share/cursor-skills/capture-learning/SKILL.md index a31966d..f5d33d3 100644 --- a/share/cursor-skills/capture-learning/SKILL.md +++ b/share/cursor-skills/capture-learning/SKILL.md @@ -29,6 +29,24 @@ learnings. Three kinds, one format: Diff-local fixes (typos, renames, one-off bugs) are not learnings. +**Root-cause gate**: before recording how to cope with a failure, sharp +edge, or confusing behavior, ask whether a code, test, or tooling change +would remove it outright. If one would, the coping procedure is NOT the +learning — capture the design rule the fix embodies (or nothing), and +propose the fix itself to the human (in the session, the plan, or an +issue) instead of encoding the workaround. A workaround-shaped learning +is valid only when its body names the root cause and why it stays +unfixed. (ai-flow's capture passes declare these on a `FIX:` output +line; in a session, just say it.) + +**Wide angle**: the incident in front of you is one sample, seen from +inside. Before drafting, step back: skim the repo's recent history +(`git log --oneline -30`) and the existing index for the same friction +recurring — an instance of a visible pattern becomes a learning about +the class, not the instance. Then ask where the cause lives: a failure +that surfaced here but is owned by another repo's code or tooling is +that repo's fix, not this repo's coping rule. + Before drafting, dedup: search the repo's learnings index and the org tier (skills under `~/.cursor/skills/`, the generated `.cursor/rules/org-invariants.mdc`) for an equivalent or conflicting From d6e081eccf2457768a84c52b25a2e619c8674e69 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Date: Wed, 19 Aug 2026 16:00:30 -0400 Subject: [PATCH 2/2] Name the wide-angle goal, not one command: an exact git-log depth invites checkbox compliance Co-authored-by: Cursor --- share/cursor-skills/capture-learning/SKILL.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/share/cursor-skills/capture-learning/SKILL.md b/share/cursor-skills/capture-learning/SKILL.md index f5d33d3..3019c00 100644 --- a/share/cursor-skills/capture-learning/SKILL.md +++ b/share/cursor-skills/capture-learning/SKILL.md @@ -40,12 +40,12 @@ unfixed. (ai-flow's capture passes declare these on a `FIX:` output line; in a session, just say it.) **Wide angle**: the incident in front of you is one sample, seen from -inside. Before drafting, step back: skim the repo's recent history -(`git log --oneline -30`) and the existing index for the same friction -recurring — an instance of a visible pattern becomes a learning about -the class, not the instance. Then ask where the cause lives: a failure -that surfaced here but is owned by another repo's code or tooling is -that repo's fix, not this repo's coping rule. +inside. Before drafting, step back and look for the pattern behind the +instance in whatever evidence is at hand — recent commits and PRs, the +existing index, open learning drafts. When the same friction recurs, +capture the class, not the instance. Then ask where the cause lives: a +failure that surfaced here but is owned by another repo's code or +tooling is that repo's fix, not this repo's coping rule. Before drafting, dedup: search the repo's learnings index and the org tier (skills under `~/.cursor/skills/`, the generated