agentleFS
josechiffletjosechifflet/setup/skills/my-skills/diagnose/SKILL.md

diagnose

Skill0 starsChanged 6 days agoMITView on GitHub

Finds a bug's cause from a command that shows the failure, then fixes it there.

193 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use zoom-out, to-prd and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • victorgarciaesgiSkill

    zoom-out

    Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.

    Also in 61 projects that use this

  • GoogleSkill

    to-prd

    Turn the current conversation into a PRD and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    Also in 56 projects that use this

  • GoogleSkill

    to-issues

    Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices.

    Also in 53 projects that use this

  • simo97Skill

    edit-article

    The user will invoke this skill to help them edit an article.

    Also in 17 projects that use this

  • simo97Skill

    write-a-skill

    Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.

    Also in 44 projects that use this

  • AnasX7Skill

    setup-pre-commit

    Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.

    Also in 27 projects that use this

  • +4 more from simo97

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 173 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No command reproduces it → force it: build the trigger input, tighten the conditions (timing, size, concurrency) or add tagged logs until …

    line 17
  2. Very specific:

    Test. Do the cheapest disproving run first, one change at a time.

    line 22

“Common” is measured: kept by at least 6 in 10 of the 173 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.

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

Diagnose

Find the cause of the bug the user names, fix it there, and prove the fix with the command that showed the failure. If you catch yourself reading code for a theory before that command exists, stop and build the command. With no argument, take the failure this conversation last showed; when there is none, ask for the symptom and how to see it.

The loop

  1. Reproduce. Get one command that goes red on the user's exact symptom, not on a nearby failure: a test, a script, a request or a CLI call. Run it and keep its failing output. Prefer the narrowest command, and seconds over minutes. No command reproduces it → force it: build the trigger input, tighten the conditions (timing, size, concurrency) or add tagged logs until it fires. Still nothing → stop. Report what you tried, and ask for the input, data, access or environment that would. Flaky → run it in a loop until it fails, and record the failure rate. Fails only after a restart or on one machine → suspect state before code: caches, build output, lock files, config, an old process or version.
  2. Shrink. Remove half of the inputs, steps and config at a time while the command stays red, and one at a time when few remain, until every part left is load-bearing: removing any one turns it green.
  3. Hypothesize. Write 3-5 causes, most likely first. For each, name the run whose result would disprove it. A cause with no such run is a guess: sharpen it or drop it. A cause the user names is one of them and gets its own disproving run. Show the list to the user, then start testing without waiting.
  4. Test. Do the cheapest disproving run first, one change at a time. Tag each debug log with one unique prefix, such as [DEBUG-a4f2]. For a slow path, measure a baseline first; logs do not show time. A change that "might help" is a hypothesis, not a fix. When a run disproves it, revert it.
  5. Fix the cause, not the symptom: a guard that hides the crash is not a fix. Search for the same pattern and fix each place it occurs.
  6. Prove. Run the step 1 command again; it must go green. Add it as a regression test where the repo keeps tests of that kind, at a place that runs the real bug path (the same callers and chain). When no such place exists, report that as a finding; when the repo keeps no such tests, say why there is none.
  7. Clean up. Remove every tagged log (search for the prefix), every scratch file and every reverted experiment.

Report

  • Cause: one sentence, with path:line and the run that proves it.
  • The step 1 command, with its output before and after the fix.
  • Each disproved hypothesis and the run that disproved it, one line each.
  • Each other place you fixed, and each place you found and left, with the reason.

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.