# How to Configure Archetype Detection for Different Job Types in career-ops

> Learn to configure archetype detection for job types in career-ops. Define target archetypes in your profile and leverage shared mode files for canonical definitions. Optimize your career-ops setup.

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

---

**Configure archetype detection in career-ops by defining your target archetypes with fit levels (`primary`, `adjacent`, or `exclude`) in your personal profile, while the canonical definitions remain fixed in the shared mode files.**

The career-ops repository classifies every job posting into professional archetypes to automate job searching and interview preparation. Knowing how to configure archetype detection for different job types in career-ops allows you to customize the scoring pipeline so it surfaces only the roles that match your career trajectory. The system separates canonical archetype definitions from personal targeting configuration, enabling personalized job filtering without modifying core logic.

## Understanding the Canonical Archetype Definitions

The career-ops system recognizes six distinct professional archetypes (such as "Platform builder", "Reliability engineer", and "Data scientist") that serve as the classification taxonomy. These canonical definitions live in **[`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)**, which acts as the single source of truth for all downstream modes.

This file contains the description and detection criteria for each archetype. You should not modify the shared definitions; instead, you select which of these predefined archetypes represent your target roles. All modes—including `oferta`, `triage`, and `interview-prep`—reference [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md) to understand the baseline characteristics of each professional category.

## Setting Your Target Archetypes in the Profile

To specify which job types the system should surface, you configure your personal target list in either **[`modes/_profile.md`](https://github.com/santifer/career-ops/blob/main/modes/_profile.md)** or **[`config/profile.yml`](https://github.com/santifer/career-ops/blob/main/config/profile.yml)**. Each entry pairs an archetype name with a **fit level** that controls how strictly the scoring algorithm weighs matches:

- **`primary`**: Strong match required; high relevance in scoring
- **`adjacent`**: Related roles that provide secondary opportunities
- **`exclude`**: Explicitly filter out these archetypes from results

### Markdown Configuration (modes/_profile.md)

Add your target archetypes under the Archetypes heading:

```markdown

## Archetypes

- **Platform builder** – primary
- **Reliability engineer** – adjacent
- **Data scientist** – exclude

```

### YAML Configuration (config/profile.yml)

Alternatively, define the same targeting in YAML format:

```yaml
archetypes:
  - name: Platform builder
    fit: primary
  - name: Reliability engineer
    fit: adjacent
  - name: Data scientist
    fit: exclude

```

The pipeline reads these files at runtime, meaning changes take effect immediately without restarting the system or modifying code in the shared modes.

## Enhancing Detection with Portal Filters

Before the LLM evaluates archetype fit, the job-board scanner uses initial keyword filters defined in **[`portals.yml`](https://github.com/santifer/career-ops/blob/main/portals.yml)** to surface relevant postings. Refining these filters improves archetype detection accuracy by ensuring the right jobs enter the evaluation pipeline.

Use `title_filter.positive` to include archetype-specific keywords and `title_filter.negative` to exclude irrelevant postings:

```yaml
title_filter:
  positive:
    - "(platform|backend|infrastructure)"
    - "(sre|reliability|devops)"
  negative:
    - "intern|contract|junior"

```

These regex patterns act as a pre-filtering layer that complements the archetype scoring logic defined in your profile.

## Summary

- **[`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)** contains the six canonical archetype definitions that serve as the system's classification taxonomy.
- Configure personal targeting in **[`modes/_profile.md`](https://github.com/santifer/career-ops/blob/main/modes/_profile.md)** or **[`config/profile.yml`](https://github.com/santifer/career-ops/blob/main/config/profile.yml)** using fit levels: `primary`, `adjacent`, or `exclude`.
- Refine initial detection by updating **[`portals.yml`](https://github.com/santifer/career-ops/blob/main/portals.yml)** with archetype-specific regex filters in `title_filter.positive` and `title_filter.negative`.
- All downstream modes read profile configurations dynamically, requiring no code changes when adjusting your target job types.

## Frequently Asked Questions

### What are the six canonical archetypes in career-ops?

According to the source code in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md), the system defines six professional archetypes that include roles such as "Platform builder", "Reliability engineer", and "Data scientist". These serve as the fixed taxonomy for classifying all incoming job postings, ensuring consistent evaluation across the pipeline.

### Can I create custom archetypes beyond the six defined in the system?

No, you cannot create custom archetypes. The canonical definitions in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md) represent the fixed set of classifications available. Personalization occurs by selecting which of these six archetypes to target, avoid, or treat as adjacent opportunities in your profile configuration, not by modifying the shared definitions.

### How do the fit levels `primary`, `adjacent`, and `exclude` affect job scoring?

The fit level determines weighting in the scoring algorithm. `primary` archetypes receive the highest relevance scores and appear at the top of qualified results. `adjacent` archetypes receive moderate weighting and surface secondary opportunities that complement your primary targets. `exclude` removes matching postings entirely from your pipeline, preventing unwanted roles from appearing in triage or interview prep stages.

### Do I need to restart the system after updating my archetype profile?

No restart is required. The downstream modes—including `oferta`, `triage`, and `interview-prep`—read [`modes/_profile.md`](https://github.com/santifer/career-ops/blob/main/modes/_profile.md) and [`config/profile.yml`](https://github.com/santifer/career-ops/blob/main/config/profile.yml) at runtime. Changes to your archetype targeting or fit levels take effect immediately on the next job scanning cycle.