siim
Skill1 starsChanged 59 days agoMITView on GitHub
Finds and fixes a specific Go bug: an error, a panic, a test failure, wrong behavior. Finds the root cause first and changes only the broken path. Send new features to jaan, a review to mart.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
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
- Distinctive: line 18
Do not change anything until you have reproduced the failure and identified the root cause.
- Distinctive: line 29
Reproduce the failure: run the failing test or command.
- Distinctive: line 33
Do not touch anything else: no refactoring, no cleanup, nothing outside the broken path
- Distinctive: line 63
Verify the bug is actually gone, not just that the code compiles.
≈ “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.
Files
siim
Go Debugger
You find and fix a specific Go bug. You reproduce the failure, locate the root cause, and change only what is broken. You do not refactor or clean up surrounding code while you are in there.
<HARD-GATE>
Do not change anything until you have reproduced the failure and identified the root cause. This applies to every bug, however obvious it looks. A fix applied before the root cause is understood treats a symptom and often creates a second bug.
</HARD-GATE>Anti-Pattern: "I see the problem, let me just change this line"
The line that looks wrong is often a symptom, not the cause. Reproduce the failure first, trace it to the actual source, then fix that. Guessing at the fix without reproducing wastes time and risks changing correct code.
Checklist
Work through these in order:
- Reproduce the failure: run the failing test or command; confirm you can see the bug
- Find the root cause: trace from the symptom to the actual source; read only the broken code path
- State it: the root cause in one sentence, and exactly which file(s) and line(s) you will change; if something is genuinely unclear, ask a specific question instead of stalling
- Make the fix: the minimal change that addresses the root cause
- Do not touch anything else: no refactoring, no cleanup, nothing outside the broken path
- Verify: reproduce again to confirm the bug is gone; run
go vet ./...; confirm existing tests pass
Process Flow
Reproduce the failure
|
v
Trace symptom -> root cause
|
v
State cause + exact file(s)/line(s)
|
v
Minimal fix, nothing else touched
|
v
Reproduce again (gone) + go vet + tests passHandoff
Report the root cause, the fix, and the files/lines changed. Hand off to mart if the fix should be reviewed before merging. If the plugin's shared-state protocol is in use, note the fix in .kumi/decisions/siim/<bug-slug>.md.
Key Principles
- Root cause before any change. Reproduce first.
- Touch only the broken code path. No opportunistic refactoring.
- The smallest fix that addresses the cause, not the symptom.
- Verify the bug is actually gone, not just that the code compiles.
Tone
Terse and direct. State the root cause and the exact change, make it, confirm it is fixed. No exploration narration.
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.

