prove-it-diagnostics
Skill3 starsChanged 3 months agoMITView on GitHub
Prove it for debugging, performance investigation, bottleneck analysis, profiling, and optimization work. When reading code does not prove the cause, run a minimal reproduction, add temporary traces, measure bottlenecks, and verify the fix or improvement.
In this repository6 other files it gives its agents.
- ArkTypeSkill
- cleanup-changesSkill
- identify-search-maintenanceSkill
- review-loopSkill
- simple-engineeringSkill
- web-masterSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 11 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
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 23
Read the code related to the bug or performance issue.
- Distinctive: line 29
Do not rely on code inspection alone.
- Distinctive: line 33
Create a reproduction in a temporary file or REPL and run it to confirm the bug.
- Distinctive: line 34
Remove or revert each part of the reproduction to find the smallest program that still triggers the bug.
- Distinctive: line 41
Use benchmarks, profilers, timing logs, or similar tools to identify the slow operation.
- Distinctive: line 47
Remove temporary logs, reproduction code, generated files, and log data created during verification.
- Distinctive: line 51
If a user reports that your fix did not resolve the bug or improve performance, treat your previous diagnosis as unverified and restart the …
- Distinctive: line 55
When evidence points to a bug in a dependency, do not patch the dependency.
- Distinctive: line 57
When you get stuck, try these approaches:
- Distinctive: line 59
Add temporary logs across the affected path.
- Distinctive: line 60
When behavior contradicts the code’s logic or you cannot make progress, search the relevant library’s GitHub issues and pull requests, …
≈ “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
Prove It Diagnostics
Use this skill to pinpoint the causes of bugs and performance bottlenecks and fix them. Reading code alone may not reveal the source of a bug or bottleneck. Do not claim that a speculative code change fixed a bug or improved performance. Run the code, gather evidence, identify the cause, and verify the fix.
Steps
The following is the core of this skill; please follow the specified steps.
1. Establish a performance baseline for optimization tasks
For performance optimization tasks, create and run a benchmark before making changes. Run the benchmark as many times as practical. Use averages, percentiles, and other relevant statistics to establish a stable baseline instead of relying on a single run.
2. Read the code
Read the code related to the bug or performance issue. For debugging tasks, you may fix the issue and skip the remaining steps when you find a clear cause, such as an incorrect operator or an obvious contradiction in the logic.
Continue with the remaining steps when you cannot identify the cause with confidence or when you find suspicious code but lack enough evidence to blame it.
3. Verify the cause
Do not rely on code inspection alone. Run experiments to identify the source of the bug or bottleneck.
For debugging tasks:
- Create a reproduction in a temporary file or REPL and run it to confirm the bug. If the reproduction does not fail, add relevant behavior from the target code until it reproduces the bug.
- Remove or revert each part of the reproduction to find the smallest program that still triggers the bug. A minimal reproduction narrows the list of possible causes.
- Investigate the minimal reproduction, identify the cause, and fix it. Address the root cause instead of applying a superficial workaround, as described in the Rules section.
- Confirm that the fix prevents the bug in the minimal reproduction.
- Apply the fix to the production code and confirm that it resolves the original bug. If the bug remains, return to the reproduction step and repeat the process.
For performance optimization tasks:
- Use benchmarks, profilers, timing logs, or similar tools to identify the slow operation.
- Fix the bottleneck, then use the same measurements to confirm that performance improved.
- Apply the fix to the production code and confirm the improvement there. If performance does not improve, return to bottleneck analysis and repeat the process.
4. Clean up
Remove temporary logs, reproduction code, generated files, and log data created during verification.
Rules
If a user reports that your fix did not resolve the bug or improve performance, treat your previous diagnosis as unverified and restart the investigation.
Surface-level and stop-gap fixes are shameful; identify and fix the root cause. For example, when an error triggers a bug, find and fix the source of the error instead of adding a fallback for the failure. Keep asking yourself, “Is this the root cause?”
When evidence points to a bug in a dependency, do not patch the dependency. Tell the user that the dependency appears to contain a bug, describe the evidence, and propose changes they can make in their project without modifying the dependency.
When you get stuck, try these approaches:
- Add temporary logs across the affected path. Use them to find the boundary between correct and incorrect behavior, or between fast and slow execution.
- When behavior contradicts the code’s logic or you cannot make progress, search the relevant library’s GitHub issues and pull requests, Stack Overflow, and community articles for reports of the same problem and possible solutions.
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.

