with one click
fix-build
Diagnose and fix CI build failures
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Diagnose and fix CI build failures
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Synchronise Nix deps hash after changing deps.edn
Create atomic commits from all unstaged changes
Create atomic commits from session changes only
Create a new Clojure component
Work on form UI components
Run Kaocha tests
Based on SOC occupation classification
| name | fix-build |
| description | Diagnose and fix CI build failures |
| allowed-tools | Bash(just ci-diagnose, just ci-status, just ci-failures, just ci-jobs*, just ci-logs*, just check, just fmt, just test*, just deps-lock, just, git diff*, git status, git log*), Read, Grep, Glob, Edit, Write, ToolSearch, Task, mcp__clojure-mcp__* |
Diagnose and fix CI build failures on Forgejo.
Get failed jobs and their logs in one shot:
just ci-diagnose
This shows the latest run's status, which jobs failed, and the full logs for each failed job. No further fetching needed — proceed to analysis.
Based on which job(s) failed, investigate:
just check locally to see errors, then just fmt to fix formattingjust deps-lock to regenerate, then commitCommon patterns in test logs:
| Pattern | Likely cause |
|---|---|
Timeout (7): | E2E test timed out waiting for element/condition |
Wait until ... is visible | UI element didn't appear after action |
Failed: [[...]] | Generative test with shrunk failing case |
aria-busy stuck | Form validation/morph not completing |
E2E timeout failures:
Generative test failures:
Failed: [[[:type :number "aAA"] ...]]Quick local reproduction:
just test :e2e # Run only E2E tests
just test :generative # Run only generative tests
/sync-deps skill if hash mismatch, or check Nix errorsCI uploads browser screenshots on E2E failures. Download and examine:
# List artifacts for the run
gh api repos/jcf/bits/actions/runs/<run-id>/artifacts
# Download artifact (artifact ID shown in test logs)
curl -L -o screenshots.zip "<artifact-url>"
unzip screenshots.zip -d target/ci-screenshots
The artifact download URL appears in test logs as:
Artifact download URL: https://code.invetica.team/jcf/bits/actions/runs/.../artifacts/...
For complex test failures, use the REPL (requires nREPL on port 9999):
;; Run specific failing test
(require '[clojure.test :refer [test-var]])
(test-var #'bits.form-test/form-reset)
;; Reproduce generative test failure with exact sequence
(require '[bits.form.gen-test :as gen-test])
(require '[bits.test.browser :as browser])
;; Execute the shrunk failing actions manually
just to verify all checks pass$ARGUMENTS