CtrlK
BlogDocsLog inGet started
Tessl Logo

enable-feedback-hooks

Enable feedback capture hooks for the current project

59

Quality

42%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/claude-code-dev/skills/enable-feedback-hooks/SKILL.md
SKILL.md
Quality
Evals
Security

Enable Feedback Hooks

Opt-in the current project to capture feedback for Product Forge improvements.

What This Does

When enabled, at the end of each Claude Code session:

  1. Haiku analyzes the conversation for improvement opportunities
  2. Feedback is saved to ~/.claude/learnings/ for later review
  3. No data leaves your machine - feedback stays local until you sync

Feedback Types Captured

  • Improvements - Enhancements to existing skills, commands, or agents
  • Skill ideas - New skills that could help others
  • Command ideas - New commands that could be useful
  • Bug reports - Issues with existing components
  • Patterns - Reusable patterns from your project

Enable for Current Project

Add the Stop hook to .claude/settings.local.json:

/enable-feedback-hooks

Disable

Remove the hook from the current project:

/enable-feedback-hooks --disable

How It Works

Session ends → Haiku analyzes → Saves to ~/.claude/learnings/
                                         ↓
                            Use /sync-feedback to review

Privacy

  • Feedback analysis happens locally via Haiku
  • Feedback files stored only on your machine
  • You review and choose what to submit via /sync-feedback
  • Nothing is sent to Product Forge without your explicit action

Execution Instructions

When the user runs this command:

Enable Mode (default)

  1. Initialize learnings directory if needed:

    ~/.claude/plugins/cache/product-forge-marketplace/scripts/hooks/init-learnings.sh
  2. Check if .claude directory exists, create if needed:

    mkdir -p .claude
  3. Read existing settings.local.json or create empty structure:

    # If exists, read it
    cat .claude/settings.local.json 2>/dev/null || echo '{}'
  4. Add the Stop hook configuration:

    • Merge with existing hooks if any
    • Write the following 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
              }
            ]
          }
        ]
      }
    }
  5. 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.

Disable Mode (--disable)

  1. Read existing settings.local.json:

    cat .claude/settings.local.json
  2. Remove the Stop hook while preserving other settings

  3. Write back the modified settings

  4. Confirm:

    Feedback hooks disabled for this project.
    Existing feedback in ~/.claude/learnings/ is preserved.

Notes

  • The hook configuration is stored in .claude/settings.local.json (not committed to git)
  • Each project opts in independently
  • Feedback is aggregated across all opted-in projects in ~/.claude/learnings/
Repository
jpoutrin/product-forge
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.