From claude-code-dev
Enables local feedback capture hooks for Claude Code sessions, using Haiku to analyze conversations for Product Forge improvements, skill ideas, bugs, and patterns.
npx claudepluginhub jpoutrin/product-forge --plugin claude-code-devThis skill uses the workspace's default tool permissions.
Opt-in the current project to capture feedback for Product Forge improvements.
Analyzes session friction with Claude Code skills, agents, permissions, hooks; gathers config from settings.json, CLAUDE.md; proposes targeted improvements.
Analyzes conversation for skill feedback and creates labeled GitHub issues for bugs, enhancements, and positive outcomes. Use when skills fail, suggest better patterns, or perform well.
Extracts learnings from conversations to generate custom CLAUDE.md instructions, commands, skills, and hooks. Activates on 'learn', 'extract learnings', or adaptation requests.
Share bugs, ideas, or general feedback.
Opt-in the current project to capture feedback for Product Forge improvements.
When enabled, at the end of each Claude Code session:
~/.claude/learnings/ for later reviewAdd the Stop hook to .claude/settings.local.json:
/enable-feedback-hooks
Remove the hook from the current project:
/enable-feedback-hooks --disable
Session ends → Haiku analyzes → Saves to ~/.claude/learnings/
↓
Use /sync-feedback to review
/sync-feedbackWhen the user runs this command:
Initialize learnings directory if needed:
~/.claude/plugins/cache/product-forge-marketplace/scripts/hooks/init-learnings.sh
Check if .claude directory exists, create if needed:
mkdir -p .claude
Read existing settings.local.json or create empty structure:
# If exists, read it
cat .claude/settings.local.json 2>/dev/null || echo '{}'
Add the Stop hook configuration:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Analyze this session for Product Forge feedback. Identify:\n1. Improvements to existing skills/commands/agents\n2. New skill/command ideas\n3. Bug reports\n4. Reusable patterns\n\nRespond JSON: {\"feedback\": [{\"type\": \"improvement|skill-idea|command-idea|bug-report|pattern\", \"title\": \"...\", \"description\": \"...\", \"target\": \"plugin/component\"}]} or {\"feedback\": []}",
"timeout": 60
},
{
"type": "command",
"command": "python3 ~/.claude/plugins/cache/product-forge-marketplace/scripts/hooks/save-feedback.py",
"timeout": 10
}
]
}
]
}
}
Confirm success:
Feedback hooks enabled for this project.
At the end of each session, Haiku will analyze the conversation
for improvement opportunities and save them to ~/.claude/learnings/
Use /sync-feedback to review and submit feedback to Product Forge.
Read existing settings.local.json:
cat .claude/settings.local.json
Remove the Stop hook while preserving other settings
Write back the modified settings
Confirm:
Feedback hooks disabled for this project.
Existing feedback in ~/.claude/learnings/ is preserved.
.claude/settings.local.json (not committed to git)~/.claude/learnings/