Skip to content
Agentmart
Submit a tool

job-debug

Diagnose Job and CronJob failures (BackoffLimitExceeded, DeadlineExceeded, pods failing, CronJob not triggering).

Skill by scitix

IndexedApache-2.0★ 238
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/scitix-job-debug

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Diagnose Job and CronJob failures (BackoffLimitExceeded, DeadlineExceeded, pods failing, CronJob not triggering). Checks Job status, pod logs, and CronJob schedule to identify why batch workloads are failing.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/job-debug

What's inside

Skill name
job-debug
Description
Diagnose Job and CronJob failures (BackoffLimitExceeded, DeadlineExceeded, pods failing, CronJob not triggering). Checks Job status, pod logs, and CronJob schedule to identify why batch workloads are failing.
License
Apache-2.0
Instructions
175 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Job / CronJob Failure Diagnosis

When a Job has failed, is stuck, or a CronJob is not triggering as expected, follow this flow to identify the root cause.

**Scope:** This skill is for **diagnosis only**. Once you identify the root cause, report it to the user and stop. Do NOT attempt to delete, restart, or modify Jobs or CronJobs — that should be left to the user.

## Diagnostic Flow

### 1. Check Job status

```bash
kubectl get jobs -n <ns>
```

Note the **COMPLETIONS** (succeeded/total) and **DURATION** columns. For a specific Job:

```bash
kubectl describe job <job-name> -n <ns>
```

Focus on:
- **Conditions** — look for `Complete` (success) or `Failed` (failure) with the reason
- **Events** — look for `BackoffLimitExceeded`, `DeadlineExceeded`, or pod creation errors
- **Pods Statuses** — counts of Succeeded, Failed, and Active pods

### 2. Check the Job's pods

```bash
kubectl get pods -n <ns> -l job-name=<job-name> --sort-by='.metadata.creationTimestamp'
```

Note pod statuses. For failed pods, check logs:

```bash
kubectl logs <pod-name> -n <ns>
```

If the pod was terminated, check the exit code:

```bash
kubectl get pod <pod-name> -n <ns> -o jsonpath='{.status.containerStatuses[*].state.terminated}'
```

### 3. For CronJobs — check schedule and history

```bash
kubectl get cronjobs -n <ns>
```

Note the **SCHEDULE**, **SUSPEND**, **ACTIVE**, and **LAST SCHEDULE** columns.

For details:

```bash
kubectl describe cronjob <cronjob-name> -n <ns>
```

Focus on:
- **Schedule** — the cron expression
- **Suspend** — if `True`, the CronJob will not create new Jobs
- **Last Schedule Time** — when the last Job was triggered
- **Active Jobs** — currently running Jobs
- **Events** — look for creation events or errors

List Jobs created by the CronJob:

```bash
kubectl get jobs -n <ns> -l job-name --sort-by='.metadata.creationTimestamp' | grep <cronjob-name>
```

### 4. Match patterns and conclude

---

#### `BackoffLimitExceeded` — Too many pod failures

The Job's pods have failed more times than the `backoffLimit` (default: 6). The Job is marked as Failed.

Check why the pods are failing — look at the logs of the most recent failed pod (step 2). Common causes:
- **Application error** — the program exits with a non-zero code
- **OOMKilled** — the container exceeded its memory limit (use `pod-crash-debug` for deeper analysis)
- **Configuration error** — missing environment variables, wrong arguments, or missing config files

Advise the user to fix the underlying pod failure, then create a new Job.

---

#### `DeadlineExceeded` — Job took too long

The Job did not complete within its `activeDeadlineSeconds` limit. All running pods are terminated.

```bash
kubectl get job <job-name> -n <ns> -o jsonpath='{.spec.activeDeadlineSeconds}'
```

Check if the Job's pods are slow or stuck:
- The workload may genuinely take longer than the deadline allows
- Pods may be stuck waiting for resources, network, or external dependencies

Advise the user to either increase `activeDeadlineSeconds` or investigate why the workload is slow.

---

#### Pods in `Pending` — Scheduling issues

Job pods are created but cannot be scheduled.

Use the `pod-pending-debug` skill to diagnose the scheduling failure. Common causes for batch jobs:
- **Resource constraints** — the Job requests more resources than available
- **Node affinity** — the Job's pods can only run on specific nodes that are busy

---

#### Pods in `ImagePullBackOff` — Image issue

The Job pod cannot pull its container image. Use the `image-pull-debug` skill.

---

From scitix/siclaw, Apache-2.0.

More from scitix/siclaw

Signals

Stars
238
Forks
32
Open issues
16
Last commit (this folder)
Mar 4, 2026 (8 months ago)
Last release
Sep 14, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
Website
siclaw.ai
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from scitix

Cite this page

job-debug skill. Agent Mart. https://agentmart.dev/skills/scitix-job-debug (last updated 2026-10-24)