Install
npx skillscat add violetio/violet-ai-plugins/pr-feedback-training-first-loop Install via the SkillsCat registry.
PR Feedback Training-First Loop
Every PR becomes training data. Learn before you fix.
Core Principle: TRAINING FIRST - Extract and analyze PR feedback to fuel continuous improvement.
Overview
The training-first PR review loop has 4 stages:
CAPTURE RAW → EXTRACT → 🚦GATE 1 → PROPOSE → 🚦GATE 2 → INTEGRATE → FIX| Stage | Command | Purpose |
|---|---|---|
| STAGE 0-1 | /v-pr-feedback:extract |
Capture raw + extract 13-category taxonomy |
| STAGE 2 | /v-pr-feedback:integrate |
Propose and commit learnings to brain |
| STAGE 3 | /v-pr-feedback:fix |
Fix code on correct branch |
When to Use
Trigger phrases:
- "Review PR #123"
- "Review comments on PR #456"
- "Extract feedback from PR #789"
- "Check PR #42 for issues"
All these phrases should invoke /v-pr-feedback:extract to start the full loop.
13-Category Taxonomy
PR feedback is extracted using these categories (adapted from customer meeting extraction):
| # | Category | PR-Specific Meaning |
|---|---|---|
| 1 | Sentiment Analysis | Overall PR health, reviewer tone, approval likelihood |
| 2 | Action Items | Required changes, suggestions, blockers (human + bot) |
| 3 | Bugs | Code issues, lint violations, formatting, type errors |
| 4 | Feature Requests | Suggested enhancements, architectural improvements |
| 5 | Documentation Needs | Missing comments, unclear code, README updates |
| 6 | Process Improvements | CI/CD issues, workflow problems, tool suggestions |
| 7 | Technical Context | Architecture concerns, design patterns, dependencies |
| 8 | Stakeholder Context | Reviewers, approvers, domain experts |
| 9 | Timeline & Commitments | Merge deadlines, release blockers, urgent issues |
| 10 | Expansion Signals | Future work identified, refactoring opportunities |
| 11 | Competitor Intelligence | Alternative approaches, tools mentioned |
| 12 | Questions & Answers | Q&A captured, unresolved questions |
| 13 | Key Insights | Learnings, surprises, patterns to document |
Extraction Sources
PR feedback is extracted from:
- Human comments: Review comments with
@claude,@username, or general - Bot feedback: Graphite Bot, ESLint, TypeScript compiler, Prettier
- CI/CD results: Test failures, build errors, security scans
- PR metadata: Title, description, linked Linear issues
- Automated checks: Linting, formatting, type checking, coverage
Storage Location
All extractions are saved to violet-brain:
violet-brain/pr-learnings/{repo}/
├── YYYY-MM-DD-pr-{number}-raw.md # Raw PR data (verbatim)
├── YYYY-MM-DD-pr-{number}-extraction.md # 13-category extraction
├── YYYY-MM-DD-pr-{number}-fixes.md # Commits that fixed issues
└── learnings.md # Aggregated patternsTemplates are in violet-brain/pr-learnings/_templates/:
raw-template.md- Raw capture formatextraction-template.md- 13-category extraction formatlearning-integration.md- How to integrate learnings
Review Gates
Gate 1: Extraction Accuracy
When: After extraction completes
Purpose: Verify extraction is accurate before proposing learnings
Format:
🚦 GATE 1: Review Extraction
Does this extraction look accurate and complete?
[✓] Approve - Continue to propose learnings
[✗] Modify - Edit extraction before continuing
[⊗] Reject - Stop hereGate 2: Proposed Learnings
When: After learning proposals are generated
Purpose: Approve brain updates before committing
Format:
🚦 GATE 2: Approve Changes
Review the diffs above. Approve these brain updates?
[✓] Approve - Commit all changes to brain
[✗] Modify - Edit diffs before committing
[⊗] Reject - Skip learning integrationLearning Integration Targets
When patterns are identified, propose updates to:
| Pattern Type | Update Target |
|---|---|
| Pre-PR preventable issue | patterns/pr-quality.md checklist |
| Common code quality issue | patterns/code-review-patterns.md |
| Missed in tech-lead review | agents/references/tech-lead.md |
| Security vulnerability | agents/references/security-reviewer.md + standards/ |
| Process inefficiency | patterns/pr-quality.md troubleshooting |
Critical: Branch Workflow
ALWAYS update the SAME branch as the original PR. Never create a new PR for fixes.
# ✅ RIGHT - Update existing PR
git checkout feat/my-feature # Original branch
git commit -m "fix: address PR #123 feedback"
git push origin feat/my-feature # Updates PR automatically
# ❌ WRONG - Creates orphaned PR
git checkout -b fix/pr-123-feedback # New branch (NO!)Commands
| Command | Purpose |
|---|---|
/v-pr-feedback:extract |
STAGE 0+1: Capture raw, extract 13-category |
/v-pr-feedback:integrate |
STAGE 2: Propose and commit learnings |
/v-pr-feedback:fix |
STAGE 3: Fix code on correct branch |
Best Practices
Extraction
- Extract all feedback, not just
@claudecomments - Include bot feedback (automated checks are valuable)
- Don't skip "minor" issues (patterns emerge from small issues)
- Include file:line references for all code issues
Learning Integration
- Look for patterns (don't update brain for one-off issues)
- Pattern threshold: 2+ occurrences = document it
- Be specific with detection methods and fixes
- Always attribute source PR in commits
Fixing Code
- Always checkout the original PR branch
- Link commit message to extraction file
- Create fixes record for traceability
- Request re-review after pushing fixes
Related Documentation
violet-brain/pr-learnings/README.md- Complete system documentationviolet-brain/pr-learnings/_templates/- Extraction templatesviolet-brain/patterns/pr-quality.md- PR quality standardsviolet-brain/patterns/pr-learning-integration.md- Learning integration process
Version: 1.0.0
Maintained by: Violet Platform Team