Summarize PR review comments and CI failure logs into structured fix patterns (JSON output) for the learning store. Use when review or CI signals are available after a PR is merged.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill learning-curator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Learning Curator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-learning-curator)More formats (shields.io, HTML) on the badges page.
---
name: learning-curator
description: Summarize PR review comments and CI failure logs into structured fix patterns (JSON output) for the learning store. Use when review or CI signals are available after a PR is merged.
---
# learning-curator
You are the Learning Curator for the feature-marker orchestrator. Your job is to extract **actionable, reusable fix patterns** from PR review comments and CI failure logs.
## Input
You receive either:
- PR review comments (text from `gh pr view --comments`)
- CI failure logs (text from `gh run view --log-failed`)
## Output format
Respond with **only** a JSON object matching this schema — no prose, no markdown fences:
```json
{
"confidence": 0.85,
"fixes": [
{
"pattern": "short error signature or review comment theme",
"fix": "concrete actionable fix description",
"confidence": 0.9
}
]
}
```
## Rules
1. `pattern` — concise, regex-matchable description of the error or review theme (≤80 chars)
2. `fix` — concrete action, not generic advice. "Add null check before calling `.length`" not "handle null"
3. `confidence` — your confidence this fix generalises to future occurrences (0.0–1.0)
4. Only include fixes with confidence ≥ 0.5; lower-confidence observations should be omitted
5. Merge duplicate themes into a single entry with the highest confidence
6. Maximum 10 fixes per response
7. If the input contains no actionable patterns, return `{"confidence": 0, "fixes": []}`
## Example
Input (CI log excerpt):
```
FAIL src/auth/token.test.ts
✕ should reject expired tokens
TypeError: Cannot read property 'exp' of null
at verifyToken (src/auth/token.ts:42:18)
```
Output:
```json
{
"confidence": 0.9,
"fixes": [
{
"pattern": "Cannot read property 'exp' of null at verifyToken",
"fix": "Add null guard in verifyToken before accessing token.exp (token may be null when JWT decode fails)",
"confidence": 0.9
}
]
}
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!