nomad

Query HashiCorp Nomad clusters. List jobs, nodes, allocations, evaluations, and services. Read-only operations for monitoring and troubleshooting.

7 stars

Best use case

nomad is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Query HashiCorp Nomad clusters. List jobs, nodes, allocations, evaluations, and services. Read-only operations for monitoring and troubleshooting.

Teams using nomad should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/nomad/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/danfedick/nomad/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/nomad/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How nomad Compares

Feature / AgentnomadStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Query HashiCorp Nomad clusters. List jobs, nodes, allocations, evaluations, and services. Read-only operations for monitoring and troubleshooting.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Nomad Skill

Query HashiCorp Nomad clusters using the `nomad` CLI. Read-only operations for monitoring and troubleshooting.

## Requirements

- `nomad` CLI installed
- `NOMAD_ADDR` environment variable set (or defaults to http://127.0.0.1:4646)
- `NOMAD_TOKEN` if ACLs are enabled

## Commands

### Jobs

List all jobs:
```bash
nomad job status
```

Get job details:
```bash
nomad job status <job-id>
```

Job history:
```bash
nomad job history <job-id>
```

Job deployments:
```bash
nomad job deployments <job-id>
```

### Allocations

List allocations for a job:
```bash
nomad job allocs <job-id>
```

Allocation details:
```bash
nomad alloc status <alloc-id>
```

Allocation logs (stdout):
```bash
nomad alloc logs <alloc-id>
```

Allocation logs (stderr):
```bash
nomad alloc logs -stderr <alloc-id>
```

Follow logs:
```bash
nomad alloc logs -f <alloc-id>
```

### Nodes

List all nodes:
```bash
nomad node status
```

Node details:
```bash
nomad node status <node-id>
```

Node allocations:
```bash
nomad node status -allocs <node-id>
```

### Evaluations

List recent evaluations:
```bash
nomad eval list
```

Evaluation details:
```bash
nomad eval status <eval-id>
```

### Services

List services (Nomad native service discovery):
```bash
nomad service list
```

Service info:
```bash
nomad service info <service-name>
```

### Namespaces

List namespaces:
```bash
nomad namespace list
```

### Variables

List variables:
```bash
nomad var list
```

Get variable:
```bash
nomad var get <path>
```

### Cluster

Server members:
```bash
nomad server members
```

Agent info:
```bash
nomad agent-info
```

## JSON Output

Add `-json` to most commands for JSON output:
```bash
nomad job status -json
nomad node status -json
nomad alloc status -json <alloc-id>
```

## Filtering

Use `-filter` for expression-based filtering:
```bash
nomad job status -filter='Status == "running"'
nomad node status -filter='Status == "ready"'
```

## Common Patterns

### Find failed allocations
```bash
nomad job allocs <job-id> | grep -i failed
```

### Get logs from latest allocation
```bash
nomad alloc logs $(nomad job allocs -json <job-id> | jq -r '.[0].ID')
```

### Check cluster health
```bash
nomad server members
nomad node status
```

## Environment Variables

- `NOMAD_ADDR` — Nomad API address (default: http://127.0.0.1:4646)
- `NOMAD_TOKEN` — ACL token for authentication
- `NOMAD_NAMESPACE` — Default namespace
- `NOMAD_REGION` — Default region
- `NOMAD_CACERT` — Path to CA cert for TLS
- `NOMAD_CLIENT_CERT` — Path to client cert for TLS
- `NOMAD_CLIENT_KEY` — Path to client key for TLS

## Notes

- This skill is read-only. No job submissions, stops, or modifications.
- Use `nomad-tui` for interactive cluster management.
- For job deployment, use `nomad job run <file.nomad.hcl>` directly.