Install any skill in seconds. Free to start, no credit card required.
Get Started Free →human-agent-society/coral-debug
Verify and debug changes to CORAL itself — smallest reproduce loop per area (grader / daemon / CLI / hooks / manager / workspace / hub / template / config / web), where to look when something breaks (hung graders, agent restart loops, stalled agents, missing heartbeat actions, corrupted shared state, broken worktree symlinks, grader import errors, wrong-task resume), how to inspect a live or finished run under `.coral/public/`, and the canonical lint/test commands.
Passed 22 of 23 test cases with the skill, and 3 of 23 without it.
and 26 more in the full report
20 fixed3 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 19 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am modifying config parsing logic in coral/config.py. Which test file validates configuration schema handling?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends running uv run pytest tests/test_config.py -v | Missed | Passed |
The instructions your model reads when the skill loads.
This skill is for people (and Claude Code) hacking on the CORAL package itself, not for users authoring a task. For authoring guides see the siblings:
coral-new-task — creating a new examples/<task>/ (seed + task.yaml + grader)coral-extend — extending CORAL itself (new runtime, new CLI command, new bundled skill, ...)Pick the smallest one that exercises your change.
| Editing... | Fastest reproduce |
|---|---|
coral/grader/{task_grader,loader,subprocess_grader}.py or a builtin grader | uv run coral validate examples/circle_packing (or any example with a packaged grader) |
coral/grader/daemon.py (parallel grading, queueing, worktree isolation) | uv run pytest tests/test_grader_daemon.py -v |
coral/grader/{base,protocol}.py | uv run pytest tests/test_grader.py tests/test_subprocess_grader.py -v |
coral/cli/*.py (argparse, dispatch, output formatting) | Run the command directly: uv run coral log --help, uv run coral status, etc. against a latest run under examples/<task>/results/ |
coral/hooks/post_commit.py (submit_eval) | uv run pytest tests/test_hooks.py -v, then end-to-end via coral start -c task.yaml agents.count=1 and watch .coral/public/attempts/ |
coral/agent/manager.py, state.py, exit_classifier.py | uv run pytest tests/test_manager_reliability.py tests/test_manager_seen_attempts.py -v |
coral/agent/builtin/*.py (a runtime) | uv run pytest tests/test_<runtime>.py if it exists, then coral start -c task.yaml agents.runtime=<name> agents.count=1 |
coral/workspace/{project,worktree,repo,grader_env}.py | uv run pytest tests/test_workspace.py tests/test_grader_env.py -v |
coral/hub/{attempts,notes,skills,checkpoint,heartbeat}.py | uv run pytest tests/test_hub.py tests/test_checkpoint.py tests/test_heartbeat.py -v |
coral/template/coral_md.py or templates | uv run pytest tests/test_template.py -v |
coral/config.py | uv run pytest tests/test_config.py -v |
coral/web/* (dashboard) | uv run coral ui against any existing run; reload the browser after edits |
End-to-end smoke (slow but exercises the whole pipeline):
uv run coral start -c examples/circle_packing/task.yaml agents.count=1 run.session=local
# Wait for one eval to land in .coral/public/attempts/, then:
uv run coral stop
| Symptom | First place to look |
|---|---|
| Grader hangs / pending attempts pile up | .coral/public/grader_daemon.pid (is daemon alive?), .coral/public/grader_daemon_heartbeat (mtime), .coral/public/eval_logs/<hash>/ for grader stdout/stderr |
coral eval errors out | The pending JSON itself: .coral/public/attempts/<hash>.json — status and feedback fields. Source: coral/hooks/post_commit.py::submit_eval |
| Agent restart loop | coral status shows pause state. Source: coral/agent/manager.py (restart_burst_threshold, restart_burst_window). Per-agent runtime stdout/stderr is captured under the worktree. |
| Stalled agent | agents.timeout watchdog in coral/agent/manager.py. Grader-queue exemption (grader_pending_max_age) skips the watchdog while a recent submission is still pending. |
test cases passed, vs 3 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.