Purpose
Turn a current GitHub review receipt and its comment dispositions into reusable learnings about
project contracts, implementation hazards, test gaps, or review workflow. This skill is not a
comment fixer and does not change code, issues, pull requests, or review state.
Input boundary
- Prefer the structured receipt from
evaluate-github-comments, including target head, comment
fingerprints, thread state, dispositions, and linked evidence.
- If no receipt is available, require enough metadata to identify the repository, target, revision,
comment IDs, and current thread state before recording anything.
- Use only verified evidence and explicitly answered decisions. Do not turn suggestions,
unsupported claims, or unresolved questions into settled project policy.
- Preserve the originating comment URL, author, path/line, target revision, and date so a learning
can be rechecked when the code or policy changes.
- This skill is automatically run after
evaluate-github-comments completes. The caller supplies
the receipt; do not independently re-fetch the whole review unless the receipt is missing or
stale.
Classification
Classify each candidate as one of:
contract: a settled product or data-model rule;
implementation: a verified code or architecture hazard;
testing: a verified coverage or test-strength lesson;
workflow: a verified review, validation, or delivery lesson.
Do not record a learning merely because a reviewer made a comment. A comment becomes a learning
only when current code, specifications, later discussion, or a verified test result establishes the
underlying fact. Keep duplicate comments as one learning while retaining all supporting URLs.
Unresolved questions and Please answer: items are review output, not learning records.
Record shape
Create or append compact records under ~/.agents/notes/github-review-learnings.md (create the
notes directory and file when absent). Do not write review learnings to codex-notes.md or
claude-notes.md; those root files may contain a one-line pointer to this topic note when their
owner chooses to add one. Append records rather than rewriting prior entries, and use a dated
## YYYY-MM-DD heading, newest at the end.
Each record contains:
kind — one classification above;
learning — one durable, actionable statement;
evidence — exact file/spec/issue/PR locations and the verified observation;
scope — repository, module, or cross-repository applicability;
source — target, revision, comment URLs/IDs, and review date;
confidence — moderate or strong;
revisit_when — the code, issue, or decision that would invalidate it, when known.
Do not include a proposed fix unless the source already records an accepted decision.
Safety
- Never record a reviewer preference as a project fact without corroborating evidence or an
explicitly settled decision.
- Do not record unresolved questions, rejected suggestions, or unsupported claims.
- Do not modify GitHub, source code, issue/PR bodies, review state, or commits.
- Do not duplicate an existing record unless adding new evidence or changing its confidence.
- If the receipt contains no settled learning, report
NO LEARNINGS and do not create an empty
note.
Output
Report the records created or drafted, the source receipt, and any questions that prevented a
learning from being settled. If no comment supports a durable learning, say NO LEARNINGS.
1---2name: github-review-learnings3description: Convert evaluated GitHub issue or pull-request review comments into concise, evidence-bounded project learnings.4---56## Purpose78Turn a current GitHub review receipt and its comment dispositions into reusable learnings about9project contracts, implementation hazards, test gaps, or review workflow. This skill is not a10comment fixer and does not change code, issues, pull requests, or review state.1112## Input boundary1314- Prefer the structured receipt from `evaluate-github-comments`, including target head, comment15 fingerprints, thread state, dispositions, and linked evidence.16- If no receipt is available, require enough metadata to identify the repository, target, revision,17 comment IDs, and current thread state before recording anything.18- Use only verified evidence and explicitly answered decisions. Do not turn suggestions,19 unsupported claims, or unresolved questions into settled project policy.20- Preserve the originating comment URL, author, path/line, target revision, and date so a learning21 can be rechecked when the code or policy changes.22- This skill is automatically run after `evaluate-github-comments` completes. The caller supplies23 the receipt; do not independently re-fetch the whole review unless the receipt is missing or24 stale.2526## Classification2728Classify each candidate as one of:2930- `contract`: a settled product or data-model rule;31- `implementation`: a verified code or architecture hazard;32- `testing`: a verified coverage or test-strength lesson;33- `workflow`: a verified review, validation, or delivery lesson.3435Do not record a learning merely because a reviewer made a comment. A comment becomes a learning36only when current code, specifications, later discussion, or a verified test result establishes the37underlying fact. Keep duplicate comments as one learning while retaining all supporting URLs.38Unresolved questions and `Please answer:` items are review output, not learning records.3940## Record shape4142Create or append compact records under `~/.agents/notes/github-review-learnings.md` (create the43`notes` directory and file when absent). Do not write review learnings to `codex-notes.md` or44`claude-notes.md`; those root files may contain a one-line pointer to this topic note when their45owner chooses to add one. Append records rather than rewriting prior entries, and use a dated46`## YYYY-MM-DD` heading, newest at the end.4748Each record contains:4950- `kind` — one classification above;51- `learning` — one durable, actionable statement;52- `evidence` — exact file/spec/issue/PR locations and the verified observation;53- `scope` — repository, module, or cross-repository applicability;54- `source` — target, revision, comment URLs/IDs, and review date;55- `confidence` — `moderate` or `strong`;56- `revisit_when` — the code, issue, or decision that would invalidate it, when known.5758Do not include a proposed fix unless the source already records an accepted decision.5960## Safety6162- Never record a reviewer preference as a project fact without corroborating evidence or an63 explicitly settled decision.64- Do not record unresolved questions, rejected suggestions, or unsupported claims.65- Do not modify GitHub, source code, issue/PR bodies, review state, or commits.66- Do not duplicate an existing record unless adding new evidence or changing its confidence.67- If the receipt contains no settled learning, report `NO LEARNINGS` and do not create an empty68 note.6970## Output7172Report the records created or drafted, the source receipt, and any questions that prevented a73learning from being settled. If no comment supports a durable learning, say `NO LEARNINGS`.