| name | rlhf-feedback |
| description | Autonomous RLHF feedback capture - Claude self-captures mistakes and successes |
| triggers | ["thumbs down","thumbs up","mistake","good job","wrong","correct","that worked","that failed"] |
RLHF Feedback Capture Skill
AUTONOMOUS - Claude captures feedback without user running commands.
When to Capture Feedback
Capture (Thumbs Down) When:
- User says "that's wrong", "no", "incorrect", "that broke something"
- User corrects my answer
- User has to repeat themselves
- I made an assumption that was wrong
- Code I wrote caused errors
- I gave instructions instead of acting (violated ACT DON'T INSTRUCT)
Capture (Thumbs Up) When:
- User says "good", "thanks", "that worked", "perfect"
- Task completed successfully on first try
- User doesn't need to correct me
- Code works without errors
How to Capture (Claude Executes This)
node "$CLAUDE_PROJECT_DIR/.claude/scripts/feedback/capture-feedback.js" \
--feedback=down \
--context="[What went wrong]" \
--tags="[relevant-tags]"
node "$CLAUDE_PROJECT_DIR/.claude/scripts/feedback/capture-feedback.js" \
--feedback=up \
--context="[What went right]" \
--tags="[relevant-tags]"
Domain Tags for Random Timer
Use these tags to categorize feedback:
timer-logic - Timer countdown, random time generation
redux-state - State management, slices, persistence
ui-components - Buttons, sliders, screens
navigation - React Navigation, screen transitions
sound-haptics - Audio playback, vibration
storage - MMKV, persistence
testing - Jest, Maestro tests
styling - Theme, colors, glassmorphism
performance - Speed, memory, optimization
Action Tags
fix - Bug fix
implementation - New feature
refactor - Code restructure
regression - Broke something that worked
assumption - Made incorrect assumption
shallow-answer - Didn't read code, gave surface answer
Examples
User says "that broke the slider"
node .claude/scripts/feedback/capture-feedback.js \
--feedback=down \
--context="Broke range slider while implementing timer fix" \
--tags="ui-components,regression"
User says "perfect, timer works now"
node .claude/scripts/feedback/capture-feedback.js \
--feedback=up \
--context="Fixed timer countdown logic correctly" \
--tags="timer-logic,fix"
User has to repeat themselves
node .claude/scripts/feedback/capture-feedback.js \
--feedback=down \
--context="User had to repeat request - didn't understand first time" \
--tags="assumption,shallow-answer"
Data Storage
All feedback is LOCAL ONLY (excluded from git):
.claude/memory/feedback/feedback-log.jsonl
.claude/memory/feedback/feedback-summary.json
Session Start Integration
At session start, the hook queries past failures to remind Claude what to avoid.
This creates a learning loop: Mistake → Capture → Warning → Avoid repeat.
IMPORTANT: Act Don't Instruct
Claude EXECUTES the capture command directly.
Never tell the user to run it - just run it.