skill-feedback
Skill0 starsChanged 4 months agoApache-2.0View on GitHub
Capture structured feedback when a skill misfires, so it can be reported upstream to the skill's maintainer. Use this whenever a loaded skill's instructions turn out to be wrong, stale, incomplete, or ambiguous during a task; whenever you have to work around a skill's guidance to finish the job; whenever a script or reference bundled with a skill fails; or whenever the user says anything like "that skill didn't work," "report this," "the skill got that wrong," or "how do I give feedback on this skill." Also use it proactively at the end of a task if you noticed skill friction along the way, even if the user didn't mention it.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- adeonir/agent-skillstheir own version, first seen Nov 1, 2026
- ingoclaro/claude-skillstheir own version, first seen Oct 20, 2026
- microsoft/microsoft-sqltheir own version, first seen Oct 13, 2026
- caikiji/skills-labtheir own version, first seen Sep 7, 2026
- bestdeejay-design/agent-skillstheir own version, first seen Aug 9, 2026
- Haitam-Elgharras/claude-skill-improvertheir own version, first seen Jul 24, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- microsoft/microsoft-sql★ 22same name
- adeonir/agent-skills★ 8same name
- bestdeejay-design/agent-skills★ 6same name
- caikiji/skills-lab★ 4same name
- adamkrasny/adams-claude-skills★ 1same name
- Haitam-Elgharras/claude-skill-improver★ 1same name
- ingoclaro/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Notice and remember: When friction occurs mid-task, finish the task first — the user's goal comes before the meta-work.
- Very specific: line 33
Draft the report: Use the template in assets/friction-report-template.md.
- Distinctive: line 38
Keep only the minimum task context needed to reproduce the friction.
- Very specific: line 42
If the skill's SKILL.md or bundled files name a source repo or author, use that.
- Distinctive: line 43
If it came from a known marketplace or plugin, the upstream repo's Issues page is the destination.
- Distinctive: line 44
If the origin is unknown, say so and suggest the user check where they installed it from.
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill Feedback
Skills improve only when the friction observed during real use makes it back to the people who maintain them. Right now that loop is mostly broken: an agent hits a stale instruction, silently works around it, finishes the task, and the observation dies with the session. This skill closes the loop — it turns friction you actually experienced into a structured report a human can review and file upstream.
What counts as friction
Report things you directly observed while following a skill:
- Stale instructions — the skill describes a workflow, API, flag, or UI that no longer matches reality.
- Broken bundled resources — a script in
scripts/errors out, a reference doc contradicts the SKILL.md, an asset is malformed. - Gaps — the skill is silent on a case the task required, and you had to improvise.
- Ambiguity — two readings of an instruction produce different results, and you had to guess.
- Workarounds — anything you did instead of what the skill said, in order to finish the job.
- Triggering problems — the skill loaded for a task it doesn't cover, or clearly should have covered the task but its instructions assume a different context.
Do not report: general dislike of a skill's style, hypothetical problems you didn't actually hit, or failures caused by the environment rather than the skill (missing network access, permissions). If unsure whether the skill or the environment is at fault, say so in the report — uncertainty stated honestly is still useful signal.
The cardinal rule: human gate
Never file, post, or submit a report anywhere yourself. Your job ends at producing the draft report and telling the user where it could be filed. The human decides whether it's accurate, whether it leaks anything, and whether to send it. This is not a formality — an automated model-to-repo feedback channel is an injection vector, and maintainers need a accountable human on every submission. If the user asks you to auto-file, explain why the gate exists and offer the draft instead.
Workflow
- Notice and remember. When friction occurs mid-task, finish the task first — the user's goal comes before the meta-work. Keep a mental note of what happened: the exact instruction, what you expected, what actually occurred, what you did instead.
- Offer, don't interrupt. At a natural end point, mention it in one sentence: "The X skill's instructions for Y were stale — want me to draft a friction report you could file upstream?" If the user declines, drop it.
- Draft the report. Use the template in
assets/friction-report-template.md. Fill every section you can from direct observation; write "not observed" rather than guessing. Quote the skill's actual instruction text verbatim (skills are meant to be quoted; this is not user data). - Sanitize. This is the step that matters most. The report describes the skill's behavior, not the user's business. Before showing the draft:
- Replace the user's actual task content with a generic description ("a client outreach letter" not the client's name; "a financial spreadsheet" not the figures).
- Strip names, emails, file contents, account details, paths containing usernames.
- Keep only the minimum task context needed to reproduce the friction. Then show the user the draft and explicitly ask them to check it for anything they wouldn't want public.
- Point at the destination. Identify where the report should go:
- If the skill's SKILL.md or bundled files name a source repo or author, use that.
- If it came from a known marketplace or plugin, the upstream repo's Issues page is the destination.
- If the origin is unknown, say so and suggest the user check where they installed it from. Give the user the finished report as a copy-pasteable block (or a saved .md file if the task produced files anyway), plus the URL or location to file it. Then stop.
Report quality bar
A maintainer reading the report cold should be able to answer three questions without follow-up: what did the skill say, what actually happened, and what would have worked? If your draft doesn't answer all three, it isn't done. Reproduction steps beat adjectives — "the convert.py script exits 1 on any filename containing a space" is filable; "the script is buggy" is noise.
One report per distinct issue. If a task surfaced three unrelated problems in one skill, that's three short reports, not one long one — maintainers triage per-issue.
Example
Situation: While following a pdf-forms skill, its instructions said to use fill_form.py --flatten, but the bundled script has no --flatten flag; you used --no-edit after reading the script's argparse block.
Report (abbreviated):
Skill: pdf-forms (installed from github.com/example/pdf-skills, commit unknown) Friction type: Stale instruction / instruction–script mismatch Skill said: "Run
python scripts/fill_form.py input.pdf --flattento lock the fields." What happened:fill_form.py: error: unrecognized arguments: --flattenWorkaround that succeeded: The script's actual flag is--no-edit(see its argparse definitions). Ranpython scripts/fill_form.py input.pdf --no-edit; output verified correct. Suggested fix: Update SKILL.md line referencing--flattento--no-edit, or restore the--flattenalias in the script. Environment: Claude.ai container, Python 3.12, task was filling a standard government form (details withheld).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

