agentleFS
rockscyrockscy/solo-skills/skills/bug-from-user/SKILL.md

bug-from-user

Skill8 starsChanged 7 months agoMITView on GitHub

Convert a vague user complaint into a reproducible bug report a solo dev can act on. Use when the user pastes a confusing customer message, says "user says it's broken but I can't repro", "this email makes no sense", or wants to triage a bug report.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If any of the four is missing, flag it as a follow-up question rather than guessing.

    line 32

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Bug from User / 用户反馈转 Bug

When to use

  • A user has reported a problem in prose (email, Discord, Twitter DM, support ticket).
  • The dev cannot tell from the message:
    • what was expected vs. what actually happened
    • the steps to reproduce
    • whether it's a real bug, user error, or a feature request in disguise
  • The dev wants a GitHub issue or internal note they can later sit down and fix.

When NOT to use

  • The user has already produced a clean, reproducible report. Don't re-process it.
  • The complaint is subjective ("it's slow", "it's ugly") with no measurable claim — that's a UX or perf investigation, not a bug.
  • The user is asking for a feature (e.g. "can you add X?") — file as feature request, not bug.

The four-question conversion

For any prose complaint, reduce it to:

  1. Trigger — what did the user do (action, click, command, input)?
  2. Expected — what did they expect to happen?
  3. Actual — what actually happened?
  4. Surface — where did it happen (URL, screen, version, browser, OS)?

If any of the four is missing, flag it as a follow-up question rather than guessing.

Output format

### Bug: <one-sentence headline, user-perspective>

**Trigger:**
1. <step>
2. <step>

**Expected:** <what they expected>

**Actual:** <what actually happened>

**Surface:** <version / browser / OS / URL>

**Confidence:** <high | medium | low>
- high: report is self-contained, can repro from this alone
- medium: 1–2 reasonable assumptions made
- low: significant guessing — ask user to confirm

**Follow-ups (if any):**
- <question to ask the user>

Worked example

Input (raw user email):

"hey i tried buying the pro plan tonight and the website just kept loading forever, i refreshed a few times then gave up. using safari on my macbook"

Output:

### Bug: Pro plan checkout hangs on Safari (macOS)

**Trigger:**
1. Visit pricing page on Safari (macOS).
2. Click "Pro plan" purchase button.
3. Observe checkout flow.

**Expected:** Stripe checkout opens within a few seconds.

**Actual:** Page stays in loading state indefinitely; refresh does not recover.

**Surface:** Safari on macOS. Version of Safari and macOS unknown. Pricing page URL unknown (likely /pricing).

**Confidence:** medium
- Assumed pricing page URL is /pricing.
- Assumed checkout uses Stripe.

**Follow-ups:**
- Which Safari version + macOS version?
- Does Chrome on the same machine reproduce it?
- Browser console errors (if comfortable opening DevTools)?

Anti-patterns to avoid

  • Don't assume severity — "P0 outage" without evidence is alarmist.
  • Don't guess root cause in the report — that's the dev's job after reading. The report describes symptoms.
  • Don't promise a fix timeline — that goes in the reply email, not the bug report.

中文版

何时使用

  • 用户用散文报了一个问题(邮件、Discord、推特 DM、工单)。
  • 看不出:
    • 期望 vs 实际
    • 复现步骤
    • 是真 bug、用户操作问题、还是变相的功能请求

何时不使用

  • 用户已经写好了清晰可复现的报告——别重新加工。
  • 抱怨是主观的("慢"、"丑"),没有可测指标——那是 UX/性能调研,不是 bug。
  • 用户是要功能——按 feature request 处理。

四问转化法

把任何散文压成 4 个问题:

  1. 触发——用户做了什么动作?
  2. 期望——他们期望发生什么?
  3. 实际——实际发生了什么?
  4. 环境——在哪里发生(URL、屏幕、版本、浏览器、系统)?

任意一项缺失 → 列为待问,不要猜。

输出

### Bug: <一句话标题,用户视角>

**触发:**
1. <步骤>
2. <步骤>

**期望:** <…>

**实际:** <…>

**环境:** <…>

**置信度:** <high | medium | low>

**待问:**
- <…>

反模式

  • 不要乱定优先级——没证据就"P0"是恐慌。
  • 不要在报告里猜根因——根因是开发读完之后的事,报告只描述现象。
  • 不要承诺修复时间——那写在回复邮件里,不写在 bug 单里。

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.