# Where Are Batch Processing Scripts and Prompts Located in CareerOps?

> Find CareerOps batch processing scripts and prompts in the batch directory. Discover Node.js modules and Markdown templates for efficient bulk operations.

- Repository: [Santiago Fernández de Valderrama/career-ops](https://github.com/santifer/career-ops)
- Tags: how-to-guide
- Published: 2026-08-22

---

**Batch processing scripts and prompts in CareerOps are located in the top-level `batch/` directory, which contains self-contained Node.js ES modules and Markdown prompt templates for bulk operations.**

In the `santifer/career-ops` repository, **batch processing scripts and prompts** are deliberately isolated within the `batch/` directory to support large-scale job-search automation without interfering with interactive modes. This folder houses executable `.mjs` files and human-readable templates that handle token accounting, bulk evaluation, and tracker synchronization.

## Location of Batch Processing Scripts and Prompts

The CareerOps repository organizes all bulk-operation logic under the top-level **`batch/`** directory. This deliberate isolation ensures that batch-mode functionality operates independently of the core interactive CLI, allowing you to run bulk jobs without touching interactive modes. According to the source code analysis, every script in this folder is a self-contained Node.js ES module (`.mjs`) that can be executed directly.

## Core Batch Processing Scripts

The `batch/` directory contains several specialized modules designed for specific bulk workflows. Each script can be invoked directly using Node.js from the repository root.

### aggregate-tokens.mjs

The `batch/aggregate-tokens.mjs` script calculates total token consumption across evaluated job offers. This module aggregates usage statistics for cost tracking and reporting:

```bash
node batch/aggregate-tokens.mjs

```

### merge-tracker.mjs

The `batch/merge-tracker.mjs` module safely merges batch-generated tracker-addition TSV files into the main application tracker. As implemented in `santifer/career-ops`, it updates [`data/applications.md`](https://github.com/santifer/career-ops/blob/main/data/applications.md) with new entries:

```bash
node batch/merge-tracker.mjs --add-dir batch/tracker-additions

```

### reserve-report-num.mjs

For parallel batch processing, `batch/reserve-report-num.mjs` allocates a contiguous block of report numbers to prevent collisions between workers:

```bash
node batch/reserve-report-num.mjs --count 10

```

This outputs a reserved range such as `042-051`, which parallel workers can claim for unique report identification during concurrent executions.

## Batch Prompt Templates

Human-readable prompt templates reside alongside the scripts to standardize LLM interactions during bulk evaluations. The primary template, **[`batch/batch-prompt.md`](https://github.com/santifer/career-ops/blob/main/batch/batch-prompt.md)**, provides the instruction set for evaluating multiple job description URLs simultaneously.

You can leverage this template when running bulk evaluations:

```bash
node batch/batch-prompt.mjs < list-of-urls.txt

```

The separation of prompts (`.md`) from execution logic (`.mjs`) allows you to modify evaluation criteria without changing the underlying batch processing scripts, ensuring flexibility in bulk automation workflows.

## Summary

- **batch processing scripts and prompts** reside exclusively in the top-level `batch/` directory of the CareerOps repository.
- Three core scripts handle automation: `aggregate-tokens.mjs` for token accounting, `merge-tracker.mjs` for tracker synchronization, and `reserve-report-num.mjs` for parallel job coordination.
- All `.mjs` files are self-contained Node.js ES modules executable via `node batch/<filename>`.
- The [`batch-prompt.md`](https://github.com/santifer/career-ops/blob/main/batch-prompt.md) template standardizes bulk evaluation instructions for LLM processing of multiple job descriptions.

## Frequently Asked Questions

### Where exactly are the batch processing scripts located in the CareerOps repository?

All batch processing scripts are located in the **`batch/`** directory at the repository root. This folder contains Node.js ES modules like `aggregate-tokens.mjs`, `merge-tracker.mjs`, and `reserve-report-num.mjs`, along with prompt templates such as [`batch-prompt.md`](https://github.com/santifer/career-ops/blob/main/batch-prompt.md).

### How do I execute a batch script in CareerOps?

Run any `.mjs` file directly with Node.js from the repository root. For example, executing `node batch/aggregate-tokens.mjs` aggregates token usage across evaluations without requiring additional build steps or configuration.

### What is the purpose of the batch-prompt.md file?

The [`batch/batch-prompt.md`](https://github.com/santifer/career-ops/blob/main/batch/batch-prompt.md) file contains the human-readable prompt template that batch workers use to evaluate multiple job description URLs consistently. It standardizes LLM instructions for bulk processing, ensuring uniform evaluation criteria across parallel jobs.

### Can I run batch operations in parallel without conflicts?

Yes. Use `batch/reserve-report-num.mjs` to allocate unique report number ranges for parallel workers. This prevents collisions during concurrent batch executions by reserving blocks like `042-051` for specific worker instances.