app-control
FreeDrive an installed LaRuche App through its declared actions, never its files.
The English summary is being prepared. Showing the original description.
Find the root cause of a bug before writing any fix.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Core principle: Find root cause before attempting any fix. Symptom patches are failure.
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
If you haven't completed Phase 1, you cannot propose fixes. Apply this skill to ALL technical issues - especially "quick fixes" and emergencies.
Before reading code to build a theory, establish a tight command that goes red on the exact symptom and green when the bug is fixed. Tight = fast, deterministic, agent-runnable, specific.
When a clean repro is hard, spend disproportionate effort building the loop. Guessing without a red-capable loop is the failure mode this skill exists to prevent.
Read stack traces completely - line numbers, file paths, error codes. Don't skip warnings.
# View recent logs
shell_exec("tail -100 logs/app.log")
# Search error string in codebase
shell_exec("grep -rn 'ErrorString' src/")
Use file_read on relevant source files. To trace the error across the tree, use
file_search (path and pattern, plus content to match inside files) or run grep
through shell_exec.
Can you trigger the exact symptom with one command? Pick the lowest-cost loop type:
git bisect run harness when the bug appeared between two known statesTighten the loop:
For non-deterministic bugs, raise reproduction rate before analyzing. Run 100×, parallelize, add stress, narrow timing windows. A 50% flake is debuggable; 1% usually is not.
shell_exec("pytest tests/test_module.py::test_name -v")
shell_exec("for i in $(seq 1 100); do pytest tests/test_flake.py::test_name -q || break; done")
shell_exec("git log --oneline -10")
shell_exec("git diff")
shell_exec("git log -p --follow src/problematic_file.py | head -100")
For each component boundary (API → service → database, CI → build → deploy):
Run once to gather evidence → identify WHERE it breaks → investigate that component.
Trace bad values upstream to their origin. Fix at the source, not at the symptom.
shell_exec("grep -rn 'function_name(' src/")
shell_exec("grep -rn 'variable_name\s*=' src/")
STOP: Do not proceed to Phase 2 until you understand WHY it's happening.
Shrink the repro to the smallest scenario still going red. Remove inputs, callers, config, steps one at a time - re-running the loop after each cut. Done when removing anything more makes the loop go green.
shell_exec("grep -rn 'similar_pattern' src/")
Read the reference implementation completely - every line. Understand the pattern fully before applying.
List every difference between working and broken code, however small. Don't assume "that can't matter."
What config, environment, or assumptions does this component require?
Generate 3–5 plausible hypotheses before testing any. Rank by likelihood and cheapness to falsify. State the prediction each makes: "If X is the cause, then observing/changing Y should produce Z." Discard hypotheses that don't make testable predictions.
Show the ranked list to the user if present - they may have domain knowledge that re-ranks it instantly.
Test the top hypothesis with the smallest possible probe. Change one variable at a time. Never fix multiple things at once. Prefer debugger/REPL inspection - one breakpoint beats ten logs.
If adding temporary logs, tag every line with a unique prefix (e.g., [DEBUG-a4f2]) so cleanup is a single search.
web_search/read_extract to researchWrite the simplest automated test that reproduces the bug and is currently red.
Address the root cause only. One change at a time. No "while I'm here" improvements. No bundled refactoring.
shell_exec("pytest tests/test_module.py::test_regression -v")
shell_exec("pytest tests/ -q")
3+ failed fixes = architectural problem, not a bug:
Discuss with the user before attempting another fix. The pattern itself may be wrong.
| Phase | Key Activity | Done When |
|---|---|---|
| 1. Root Cause | Read errors, build loop, check changes, gather evidence | Know WHY |
| 2. Pattern | Minimize repro, find working examples, diff | Know WHAT differs |
| 3. Hypothesis | Rank hypotheses, test one at a time | Confirmed cause |
| 4. Implementation | Write regression test, fix root cause, verify | All tests pass |
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Drive an installed LaRuche App through its declared actions, never its files.
The English summary is being prepared. Showing the original description.
Find academic papers on arXiv, with citation counts and BibTeX.
The English summary is being prepared. Showing the original description.
Render text or an image as ASCII art for terminal-friendly output.
The English summary is being prepared. Showing the original description.
Track RSS/Atom feeds and blogs via blogwatcher-cli.
The English summary is being prepared. Showing the original description.
Drive a real web browser: navigate, read, find, click, fill, screenshot
The English summary is being prepared. Showing the original description.
Measure a codebase: lines of code, language mix, and symbol lookups.
The English summary is being prepared. Showing the original description.