From ievo
Submit feedback about the iEvo plugin — bug reports, feature requests, suggestions, or general comments. Posts as a GitHub issue in `ievo-ai/skills` via `gh` CLI. Use when the user says "send feedback", "report a bug", "this didn't work", "I want to suggest a feature", "where do I file an issue for iEvo", or after iEvo has done something the user would want to comment on.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ievo:feedbackThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Post user feedback as a GitHub issue in `ievo-ai/skills` so we can fix bugs, prioritize features, and improve the plugin.
Post user feedback as a GitHub issue in ievo-ai/skills so we can fix bugs, prioritize features, and improve the plugin.
This skill has two flows:
(A) Generic feedback — default. User invoked /ievo:feedback or expressed feedback intent freely. Go to Step 1.
(B) Skill-rejections feedback — invoked from /ievo:init step 10 with a list of skipped skills from the interview. The caller will provide context like:
The user just completed /ievo:init interview. They installed N skills
and skipped these M skills: <list>. Collect reasons for the skips and
submit as feedback to ievo-ai/skills, copying reasons forward as
registry-improvement signal that can be relayed to vercel-labs/skills.
If invoked in flow (B), skip Step 1 (type is implicitly "Idea" / registry-improvement) and jump to Step 1b below. Otherwise proceed with Step 1.
Ask the user using AskUserQuestion:
What kind of feedback?TypeBug — description: Something broke or didn't work as expected.Feature — description: A new capability you'd like to see.Idea — description: General suggestion or design thought.Question — description: You're stuck and want help / clarification.Map to GitHub label: bug / enhancement / idea / question.
For each skipped skill (batched in groups of 4 — AskUserQuestion supports up to 4 questions per call), ask:
Why did you skip <skill-name>?<short-tag, max 12 chars>Not relevant to my stack — description: Doesn't apply to the languages/frameworks in this project.Already using alternative — description: I have something else that does this.Low quality — description: Install count too low, unknown author, or description was unclear.Don't need right now — description: Maybe useful later, not today.(Cannot use freeform "Other" easily — keep to 4 options. If a user has a different reason, they can elaborate in Step 2.)
After all per-skill questions, also ask once via AskUserQuestion:
Anything else to add about the suggestions?NotesNo, that's all — description: Submit with just the structured reasons above.Yes, add a note — description: Open a freeform text prompt.If user picks Yes, add a note, collect freeform text per Step 2.
Use type = idea and labels = feedback, registry-quality for flow B.
Ask the user for the actual feedback. Use a clear prompt like:
What would you like to share? Be as specific as you can:
- What were you trying to do?
- What happened vs what you expected?
- (Optional) Any error messages or commands that misbehaved?
Let them write freeform. Do not enforce any template — the value is the user telling us what's wrong in their words.
Gather these via Bash, all best-effort (skip silently if a command fails):
${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json field versiongit -C ${CLAUDE_PLUGIN_ROOT} rev-parse --short HEADclaude --versionuname -srm (or sw_vers -productVersion on macOS)pyproject.toml, package.json)Do NOT collect:
.env, .git/config, ~/.ssh/, etc.Before building the issue, review what the user provided. The goal is to catch missing context that would make the issue useful, without turning into a bureaucratic form. Apply a type-specific checklist (mental, not visible to user):
If 2+ checklist items are missing OR critical for the issue to be actionable, ask up to 3 clarifying questions via AskUserQuestion. Critical-but-missing examples:
Question framing:
<concrete option from inference>Skip — submit as isHard cap: one round of clarifications. After the user answers (or skips), proceed to Step 4. Do not loop "analyze → ask → analyze → ask".
Skip the analysis if the feedback is already detailed and specific (e.g. user wrote 200+ words covering steps, expected, actual). Don't drag a complete report through unnecessary questions.
The ievo-ai/skills repo (and upstream vercel-labs/skills) is in English. Users may write feedback in their native language. Translate to English before building the issue body, but preserve the original verbatim for context.
Look at the user's freeform text from Step 2 and any clarification answers from Step 3.5.
pyproject.toml, SimpleITK, /ievo:init, etc.Hold two versions:
body_en — the English translation, used as the primary bodybody_original — the user's original text verbatim, included in collapsed <details> for contextIf no translation was needed, body_original is empty and only body_en is used.
Structured rejection reasons (flow B options like "Not relevant to my stack") are already in English — no translation needed for those. Only the freeform note (if any) gets translated.
If a recent .ievo/log/init-*.md exists, ask the user once:
Attach the latest /ievo:init log? (Helps maintainers diagnose what happened)Attach logAttach (Recommended for bug reports) — description: Includes detected stack, find-skills prompt + raw response, dedup outcomes, and your install/skip choices. No file contents, no secrets — see .ievo/log/<filename>.md to verify.Don't attach — description: Keep the report short.If user picks Attach:
.ievo/log/init-*.md (sort filenames lexicographically, take last).... <truncated N bytes> ... marker so head + tail are preserved.If user picks Don't attach or no log exists, skip.
## Feedback
<body_en — English translation from step 3.75, or the original if it was already English>
<if body_original is non-empty, also include:>
<details>
<summary>Original (untranslated)</summary>
<body_original — user's verbatim text in source language>
</details>
---
## Environment
- iEvo plugin: <version> (<commit-sha>)
- Claude Code: <claude --version output>
- OS: <uname output>
- Project stack: <manifest list>
<if init log was attached in step 3.85:>
<details>
<summary>Attached: /ievo:init run log</summary>
```markdown
<contents of the latest .ievo/log/init-*.md, truncated to 16KB if needed>
Submitted via
/ievo:feedbackskill
### Flow B (skill rejections) format
```markdown
## Init interview — skill rejection reasons
After running `/ievo:init`, the user installed <N> of <M> suggested skills.
Below are the reasons for the rejections, useful as signal to improve
recommendation quality (both for iEvo and upstream skills.sh).
### Installed
- <owner/repo@skill> — (no comment, accepted)
- ...
### Skipped with reasons
- <owner/repo@skill> — Reason: <Not relevant to my stack | Already using alternative | Low quality | Don't need right now>
- ...
### Note from user
<freeform_en — translated if needed, or "(none)">
<if freeform_original is non-empty (user wrote in non-English), also include:>
<details>
<summary>Original note (untranslated)</summary>
<freeform_original verbatim>
</details>
---
## Environment
- iEvo plugin: <version> (<commit-sha>)
- Claude Code: <claude --version output>
- OS: <uname output>
- Project stack: <manifest list>
> Submitted via `/ievo:feedback` skill (rejections flow from `/ievo:init` step 10)
<if init log was attached in step 3.85:>
<details>
<summary>Attached: /ievo:init run log</summary>
```markdown
<contents of the latest .ievo/log/init-*.md, truncated to 16KB if needed>
```
Show the user the full title and body that will be posted. Use AskUserQuestion:
Post this to github.com/ievo-ai/skills/issues?SubmitSubmit (Recommended) — description: Creates a public GitHub issue. Your feedback will be visible to anyone.Cancel — description: Don't post. Drop the feedback.Make sure the user understands: this will be public on GitHub. Their text appears as-is in a public issue.
If user confirmed Submit:
Title format:
[bug] <short summary derived from feedback, 6-10 words>[feature] <short summary>[idea] <short summary>[question] <short summary>[feedback/rejections] <stack name>: <N>/<M> skills declinedRun:
gh issue create \
--repo ievo-ai/skills \
--title "<title>" \
--body "<body from step 4>" \
--label "<bug|enhancement|idea|question>" \
--label "feedback"
For flow B add an extra label:
--label "registry-quality"
If gh is not installed or not authenticated:
gh CLI not available. Open https://github.com/ievo-ai/skills/issues/new and paste the above.On success:
gh issue create✓ Submitted as <url>Thanks — this will help iEvo evolve. The repo is at github.com/ievo-ai/skills.On failure (gh missing or network):
<details> block. Do not paraphrase, "improve", or sanitize the user's words. If the original is non-English, translate the primary body to English (Step 3.75) but include the verbatim original in a collapsed <details> block so maintainers can verify the translation or fall back to it.gh is missing/unauthenticated, give the user a way to post manually — don't just say "failed".npx claudepluginhub ievo-ai/skills --plugin ievoCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.