[FEATURE] Skill feedback loop: let skills collect user feedback for iterative improvement

Resolved 💬 4 comments Opened Mar 19, 2026 by lswith Closed Apr 18, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

There's no way to close the feedback loop on skill quality. When a skill runs and produces a suboptimal result, the user corrects Claude in the conversation — but that feedback disappears when the session ends. There's no mechanism to accumulate feedback over time and use it to improve skills.

This came up while auditing a plugin marketplace. We found that several skills were teaching things Claude already knew, or making claims that didn't hold up under testing (e.g., a Slack formatting skill whose main advice was based on an MCP parameter that didn't exist). A feedback loop would have surfaced these issues from real usage rather than requiring manual audits.

Without feedback data, skill authors can't tell:

  • Which parts of the skill are actually helping
  • Which instructions Claude is ignoring or misinterpreting
  • Whether the skill is even triggering when it should

Related: #35319 tracks skill invocation analytics (which skills are used, how often). This issue is complementary — it tracks skill quality feedback (did the skill actually help when it was used). Together they answer "which skills are used?" and "are they any good?"

Proposed Solution

Add a first-class skill feedback mechanism:

  1. After a skill executes, Claude Code prompts the user for quick feedback (similar to the existing 0-3 session satisfaction prompt, but scoped to the skill)
  2. If negative, capture the user's correction/context
  3. Store feedback locally in a standard location (e.g., skills/<skill-name>/feedback.log or ~/.claude/skill-feedback/)
  4. Make feedback accessible so that skill iteration tooling (like the skill-creator) can read accumulated feedback and use it as test cases for improvement

A possible implementation — a new frontmatter field in SKILL.md:

---
name: my-skill
description: ...
feedback: true  # Prompts for feedback after skill execution
---

When feedback: true, Claude Code:

  • Detects when the skill's execution is "complete" (heuristic or explicit signal)
  • Shows a lightweight prompt: "Did that work? (y/n)"
  • If no, captures the next user message as feedback context
  • Appends to a local feedback log with timestamp, prompt, and correction

Alternative Solutions

  • Hooks: Stop, SessionEnd, and UserPromptSubmit hooks can approximate this, but none fire specifically when a skill finishes executing. A PostToolUse hook on the Skill tool can detect invocation but can't tell when the skill's "task" is done.
  • Manual tracking: Users can tell Claude to "remember this went wrong" via memory, but this relies on interrupting their flow and is easy to forget.
  • The skill-creator eval loop: Already supports running prompts with/without a skill and comparing results. The missing piece is real-world feedback from actual usage flowing back into that loop.

Priority

Medium - Would be very helpful

Feature Category

MCP server integration

Use Case Example

  1. I have a skill that teaches Claude how to format Slack messages correctly
  2. I use it daily to send messages via the Slack MCP
  3. One day the skill gives bad advice (e.g., tells Claude to use a parameter that doesn't exist on the MCP tool)
  4. I correct Claude in the conversation, but that correction is lost after the session
  5. Next session, the same bad advice fires again
  6. With this feature, after the skill runs I'd get a quick "did that work?" prompt
  7. I'd say no and explain the issue — that feedback gets logged locally
  8. Later, I run an improve-skill workflow that reads the feedback log and uses the failures as test cases to iterate on the skill

Additional Context

The skill-creator tooling already supports eval loops (run prompts with/without skill, compare, grade against assertions, iterate). The feedback mechanism proposed here would feed real-world usage data into that existing loop, closing the gap between "skill works in testing" and "skill works in practice."

If #35319's invocation tracking lands first, skill feedback could build on top of it — the invocation log provides the "when was this skill used" signal, and this feature adds the "did it help" signal on top.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗