Skip to content
Skills Library
Programming · Automation

fix-loop

/fix-loop

Use when a Java app that has stacktale installed is failing — after running it or its tests, to find what broke, fix it, and confirm the fix by re-running and checking for new errors. Also use when asked to "check the errors", "what's failing", or to work through errors-ai.log.

Repository
stacktale ↗
Licence
Apache-2.0
Last repository change
01.10.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
1
Deprecation

No signals detected. Repository changed on 01.10.2026, without references to retired models or APIs.

Licence

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

What it does and when to use it

Use when a Java app that has stacktale installed is failing — after running it or its tests, to find what broke, fix it, and confirm the fix by re-running and checking for new errors. Also use when asked to "check the errors", "what's failing", or to work through errors-ai.log.

Triggers from the description

check the errorswhat
Original author description

Use when a Java app that has stacktale installed is failing — after running it or its tests, to find what broke, fix it, and confirm the fix by re-running and checking for new errors. Also use when asked to "check the errors", "what's failing", or to work through errors-ai.log.

How it works

  1. The loop
  2. The other tools
  3. Reading the reports well
  4. When there is no log
Original SKILL.md headings · 77 lines, 797 words
SKILL.md preview
---
name: fix-loop
description: Use when a Java app that has stacktale installed is failing — after running it or its tests, to find what broke, fix it, and confirm the fix by re-running and checking for new errors. Also use when asked to "check the errors", "what's failing", or to work through errors-ai.log.
version: 1.0.0
---

# Working an error down to zero with stacktale

stacktale writes `errors-ai.log` next to the app's normal logs. Each entry is a complete
report: the root cause first, the app's own culprit frame marked `← YOUR CODE`, the log
lines that led up to the failure, the values involved, and the environment. It is written
for you to read — you should not need to ask the user for a stack trace.

## The loop

`errors_since_last_check` is the whole point. It keeps a cursor per session, so:

1. **Take a baseline.** Call `errors_since_last_check` once. The first call reports what is
   currently on file — that is your starting position, not new breakage.
2. **Read the top error properly.** The headline is the *root* cause, not the outermost
   wrapper. Go to the frame marked `← YOUR CODE`; that is the app's own code, and it is
   almost always where the fix belongs. Read the `story` before deciding — it usually
   contains the line that explains *why* the value was wrong, which the stack trace alone
   never shows.
3. **Fix it.**
4. **Re-run** the app, or its tests if `stacktale-junit` is on the test classpath (a failing
   test writes a report too).
5. **Call `errors_since_last_check` again.** It reports 🆕 for errors that are new since
   your last call, 🔁 for ones still occurring, and `✓ No new errors` when the run is clean.
6. Repeat from 2 until clean.

Do not re-read the whole file between rounds. The cursor is there so you only look at what
changed.

## The other tools

- `list_errors` — the most recent reports, newest first. Good for orienting yourself.
- `get_report` — one report in full, by id.
- `errors_since` — everything after a timestamp, when you want a specific window rather
  than the cursor.
- `find_similar_errors` — has this failure happened before? Useful before assuming a fix is
  novel.
- `match_report` — the user pasted a bare stack trace: this finds the captured report for
  it, with the story and values the paste is missing. Reach for it whenever a trace arrives
  without context.
- `audit_redaction` — before you paste a report anywhere, or attach `errors-ai.log` to a
  ticket or a PR, run this. It scans for credential shapes redaction did not mask and answers
  with the report and line, never the value. Treat a hit as a leak that already happened: the
  value has been on disk, so the fix is to rotate it, not only to add a pattern.
- `culprit_source` — the code at the culprit line, read from the working tree rather than the
  log. Reach for it before proposing a fix: the report tells you which line failed, this tells
  you what is on it, and it is current where the log may be days old.
- `tests_covering` — which test files name the culprit's class and method. It is a name match,
  not coverage, and the reply says so. The answer to act on is `none`: that means the failing
  path has no test, so write one instead of looking for the one that does not exist.
- `repro_for` — before writing a reproduction test, ask for one. It returns a JUnit skeleton
  built from the throw site itself: the class, the method, the declared parameter types and
  the arguments the failing call was given. Those are what you would otherwise infer from the
  stack trace, and a wrong declared type or argument order produces a test that passes while
  reproducing something else. It needs `repro=true` and `stacktale-agent`, and says so when
  the report has no seed — that answer is not a failure, it is the switch you are missing.

## Reading the reports well

- **`🔁 still occurring` after a fix means the fix did not take.** Check whether the app
  actually restarted and picked up your change before assuming the diagnosis was wrong.
- **A repeat line (`━ #id repeated N× ━`) is a frequency signal.** An error occurring
  hundreds of times is usually the one to fix first, even if it is not the newest.
- **`seen: N× this session`** distinguishes a new failure from a long-standing one.
- **Don't trust a wrapper's message over the root cause.** stacktale already put the root
  cause on the headline; the `wrapped by:` chain is context, not the diagnosis.
- If the story is empty, the app logged nothing before failing. Say so rather than
  inventing a cause — and consider suggesting a log line at the decision point that went
  wrong.

## When there is no log

If the tools return nothing and no `errors-ai.log` exists, the app either has not failed
yet or does not have stacktale installed. Setup is one dependency:
https://github.com/stacktale/stacktale#quickstart — the Spring Boot starter needs no
configuration at all.

Versions

The database has no other skills named fix-loop.

Database snapshot: 13.11.2026 · package version d184c2d1bd9b (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 90debug-a-failing-test
    Finds out why a test fails and fixes the cause, not the test: reproduce it alone, read the error, narrow it down, fix, and prove it with a run. Use when a test fails, a check is red, a test is flaky, or the owner says the tests broke.
  • 100bug-fix
    Fix a Device bug the project's way - reproduce it, write a small failing test, find the root cause, fix it, prove the test now passes. Use for any bug report or broken feature; escalates to a spec when the cause or fix is not obvious.
  • 100bug-fix
    Use for localized bugs, runtime errors, white screens, failing tests, console errors, and regressions. Make the smallest safe fix.
  • 100fix
    Fix loop. One fix per commit, auto-revert on regression, until zero errors. Max 3 attempts per error. Triggers on: /godmode:fix, "fix this", "tests failing", "broken build", "lint errors".
  • 100browser-test-loop
    Use to actually verify a web change in a real browser instead of assuming it works — click through a flow, catch console errors, check a form submits, confirm a fix on the page. Trigger when a UI change needs proof, a bug only reproduces in the browser, or the user asks to test,…
  • 100fix-build-errors
    Use when a build, compilation, or type-check fails — diagnose the error, identify root cause, and apply the minimal fix to get green

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.