What Is the Mode Layer in CareerOps? The Complete Guide to AI Prompt Architecture
The Mode Layer is the "brain" of CareerOps—a collection of Markdown prompt files in the modes/ directory that define AI behavior for scoring jobs, generating CVs, and interview preparation, completely separate from user data and system scripts.
CareerOps is an open-source job search automation toolkit designed to streamline application workflows. The Mode Layer serves as its central intelligence system, storing plain-text Markdown prompts that instruct AI agents exactly how to evaluate opportunities and generate tailored application materials.
How the Mode Layer Works
According to the ARCHITECTURE.md file lines 36-38, the Mode Layer contains "modes/*.md … the brain: scoring, evaluation, apply, scan, interview, etc. prompts". This architecture separates what the AI should do from when and where it executes.
Separation of Concerns
The Mode Layer maintains a strict boundary between system instructions and user data. The updater scripts read these prompt files and feed them to any AI-coding CLI—such as Claude Code, Codex, OpenCode, Gemini, Qwen, or Antigravity—or to the built-in Node evaluators.
Because the prompts are pure Markdown, they remain version-controlled and safe to update without touching your personal files. The system guarantees that the updater never modifies your CV, profile, or tracker data located elsewhere in the repository.
Model-Agnostic Architecture
The plain-text Markdown format makes the Mode Layer model-agnostic. You can swap underlying AI providers without changing a single line of code. The same modes/_shared.md file works whether you are running Claude Code locally or calling OpenAI's API through the evaluation scripts.
Core Files in the Mode Layer
The modes/ directory contains several critical files that define CareerOps behavior:
modes/_shared.md (Global Scoring Logic)
This file houses the core scoring algorithms, archetype detection rules, and global evaluation criteria used across all operations. When the system scores a job posting or evaluates a CV match, it references the definitions in modes/_shared.md to ensure consistency.
modes/oferta.md (Job Evaluation Blocks)
This file defines the A-H evaluation blocks used for every job-post analysis. When you run node oferta.mjs, the script loads these specific prompt blocks to structure its output regarding company culture, technical requirements, and compensation alignment.
modes/_profile.md (User Customization)
Located in the Mode Layer but intended for user-specific overrides, this file captures your target roles, preferred narrative style, and personal career story. It allows the AI to tailor outputs to your background while maintaining the structural rules defined in shared prompts.
Practical Usage Examples
Run a scan operation that writes results to data/pipeline.md without directly using prompts:
node scan.mjs
Evaluate a specific posting by loading the Mode Layer prompts:
node oferta.mjs --url https://example.com/job/123
Internally, the oferta.mjs script reads modes/_shared.md for scoring rules and modes/oferta.md for the A-H evaluation blocks.
Customizing and Extending the Mode Layer
Because CareerOps separates prompts from code, you can customize behavior by editing Markdown files directly:
# Modify global scoring weights
code modes/_shared.md
Add market-specific vocabulary for international job searches:
# Copy base templates to a new language directory
cp -r modes/_shared.md modes/ja/
# Edit Japanese market terms
vim modes/ja/_shared.md
For German-speaking markets, quickly localize terminology:
sed -i '' 's/Salary/Gehalt/g' modes/de/_shared.md
The modes/de/, modes/zh/, and modes/ar/ directories demonstrate how CareerOps supports localization while maintaining the same underlying evaluation logic.
Summary
- The Mode Layer resides in the
modes/directory and functions as CareerOps' decision engine through plain-text Markdown prompts. - It separates AI behavior definitions from user data and system scripts, ensuring safe updates and version control.
- Key files include
modes/_shared.mdfor global rules,modes/oferta.mdfor job evaluation blocks, andmodes/_profile.mdfor personal customization. - The architecture is model-agnostic, supporting Claude Code, Codex, Gemini, and other AI coding assistants without code changes.
- Localization is handled through subdirectories like
modes/de/ormodes/ja/, allowing market-specific terminology while preserving core logic.
Frequently Asked Questions
What file format does the Mode Layer use?
The Mode Layer uses plain-text Markdown files (.md) exclusively. This format ensures human readability, easy version control via Git, and universal compatibility with any AI system that accepts text prompts.
Can I use the Mode Layer with different AI models?
Yes. The Mode Layer is model-agnostic by design. Whether you use Claude Code, OpenAI Codex, Gemini, Qwen, or Antigravity, the scripts read the same Markdown files and feed them to your chosen provider's CLI or API.
How do I add support for a new language or market?
Create a new subdirectory under modes/ (e.g., modes/ja/ for Japanese), copy the base templates like _shared.md into it, and translate the terminology while preserving the structural instructions. The system will automatically reference these files when processing market-specific operations.
Does updating the Mode Layer affect my personal data?
No. The architecture enforces a strict boundary where Mode Layer files (system prompts) are completely separate from your user data (CV, profile, tracker). Updating or modifying files in modes/ never touches your personal application history or documents stored elsewhere in the repository.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →