# How Santifer/Career‑Ops Archetype Detection Classifies Roles: LLMOps, Agentic PM, SA, FDE, and Transformation Explained

> Discover how santifer/career-ops Archetype Detection classifies roles like LLMOps, Agentic, PM, SA, FDE, and Transformation. Understand its prompt-driven system and primary/secondary role assignments.

- Repository: [Santiago Fernández de Valderrama/career-ops](https://github.com/santifer/career-ops)
- Tags: deep-dive
- Published: 2026-08-20

---

**Career‑Ops uses a prompt‑driven Archetype Detection system that maps any job description to one of six canonical archetypes defined in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md), with hybrid roles receiving primary and secondary classifications.**

The **Archetype Detection** system in `santifer/career-ops` is the foundation of the entire career evaluation pipeline. It standardizes messy job descriptions into clean, comparable archetypes that drive scoring, CV framing, and interview preparation. This article explains exactly how the system classifies specialized roles like **LLMOps**, **Agentic PM**, **SA** (Systems Architecture), **FDE** (Full‑Stack Development Engineer), and **Transformation**.

## The Six Archetypes Defined in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)

All archetype definitions live in [[`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)](https://github.com/santifer/career-ops/blob/main/modes/_shared.md). This file contains:

- **LLMOps**: Large‑language‑model operations and infrastructure
- **Agentic PM**: Product leadership for AI‑agent platforms
- **SA**: Systems architecture and platform design
- **FDE**: Full‑stack development engineering
- **Transformation**: Business process and digital transformation
- **Data/ML Engineering** (the sixth archetype)

Each entry includes a short narrative description and seed keywords that anchor the LLM's classification logic.

## How the Classification Pipeline Works

### Step 1: Job Description Extraction

When you run `career-ops oferta <url>` or `career-ops triage <url>`, the system extracts:
- Job title
- Seniority level
- Full description text

### Step 2: Prompt‑Based Classification

The core classification prompt appears in [[`modes/oferta.md`](https://github.com/santifer/career-ops/blob/main/modes/oferta.md) around line 44](https://github.com/santifer/career-ops/blob/main/modes/oferta.md#L44):

```

Classify the job into one of the 6 archetypes (see _shared.md). 
If it is a hybrid, return the two closest ones.

```

The prompt embeds the complete archetype catalogue verbatim, enabling the LLM to match based on:
- **Keyword overlap**: Direct string matches with seed terms
- **Semantic similarity**: Contextual understanding of role responsibilities

### Step 3: Hybrid Role Handling

For roles spanning multiple archetypes—such as "LLMOps Engineer – Build Agentic AI Platforms"—the system returns two classifications:

```bash

# Example output structure

Primary: LLMOps
Secondary: Agentic PM

```

The pipeline in [[`modes/triage.md`](https://github.com/santifer/career-ops/blob/main/modes/triage.md)](https://github.com/santifer/career-ops/blob/main/modes/triage.md) records both values and calculates a composite **archetype‑fit** score.

## Archetype Detection Impacts the 30% Fit Score

In [[`modes/triage.md`](https://github.com/santifer/career-ops/blob/main/modes/triage.md) lines 60‑62](https://github.com/santifer/career-ops/blob/main/modes/triage.md#L60), the detected archetype feeds directly into scoring:

| Match Quality | Sub‑score | Example |
|-------------|-----------|---------|
| Direct match | 4‑5 | "LLMOps Engineer" → LLMOps |
| Adjacent match | 3 | Infrastructure role with minor LLM exposure |
| Mismatch | 1‑2 | Sales role classified as Transformation |

This **archetype‑fit** weight constitutes **30%** of the total triage score.

## Downstream: Archetype‑Driven CV Framing

Once classified, subsequent steps adapt automatically. In [[`modes/pdf.md`](https://github.com/santifer/career-ops/blob/main/modes/pdf.md) line 32](https://github.com/santifer/career-ops/blob/main/modes/pdf.md#L32), the system pulls user‑specific framing rules from [[`modes/_profile.md`](https://github.com/santifer/career-ops/blob/main/modes/_profile.md)](https://github.com/santifer/career-ops/blob/main/modes/_profile.md) to:

- Adjust language tone for the target archetype
- Insert relevant proof points from your profile
- Position experience to match archetype expectations

## Practical Usage Examples

### Command‑Line Classification

```bash

# Full evaluation with archetype detection

career-ops oferta https://example.com/jobs/llmops-1234

```

```bash

# Quick pre‑screen showing archetype fit

career-ops triage https://example.com/jobs/agentic-pm-5678

```

### Programmatic Access

```javascript
// Direct invocation from custom scripts
import { runPrompt } from './utils/prompt.mjs';
import archetypeCatalog from './modes/_shared.md';

const jdText = await fetchJobDescription(url);
const result = await runPrompt({
  system: `You are an expert career‑coach. Use the following archetype catalogue:\n${archetypeCatalog}`,
  user: `Classify this role:\n${jdText}\nReturn the primary archetype and, if applicable, a secondary one.`,
});

console.log(result);
// { primary: "LLMOps", secondary: "Agentic PM" }

```

## Key Source Files

| File | Purpose in Archetype Detection |
|------|-------------------------------|
| [[`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)](https://github.com/santifer/career-ops/blob/main/modes/_shared.md) | Canonical archetype definitions and keywords |
| [[`modes/oferta.md`](https://github.com/santifer/career-ops/blob/main/modes/oferta.md)](https://github.com/santifer/career-ops/blob/main/modes/oferta.md) | Primary classification prompt for full evaluations |
| [[`modes/triage.md`](https://github.com/santifer/career-ops/blob/main/modes/triage.md)](https://github.com/santifer/career-ops/blob/main/modes/triage.md) | Lightweight pre‑screen with archetype‑fit scoring |
| [[`modes/pdf.md`](https://github.com/santifer/career-ops/blob/main/modes/pdf.md)](https://github.com/santifer/career-ops/blob/main/modes/pdf.md) | CV framing adaptation based on detected archetype |
| [[`modes/_profile.md`](https://github.com/santifer/career-ops/blob/main/modes/_profile.md)](https://github.com/santifer/career-ops/blob/main/modes/_profile.md) | User‑specific proof points and narrative rules |

## Summary

- **Archetype Detection** in `santifer/career-ops` uses a six‑archetype taxonomy defined in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md)
- Classification runs via LLM prompt in [`modes/oferta.md`](https://github.com/santifer/career-ops/blob/main/modes/oferta.md), supporting keyword and semantic matching
- Hybrid roles receive primary/secondary labels with no manual intervention required
- The **30% archetype‑fit score** in [`modes/triage.md`](https://github.com/santifer/career-ops/blob/main/modes/triage.md) directly influences pipeline decisions
- Detected archetypes automatically trigger personalized CV framing in [`modes/pdf.md`](https://github.com/santifer/career-ops/blob/main/modes/pdf.md)

## Frequently Asked Questions

### What happens if a job description doesn't match any archetype clearly?

The system returns the closest semantic match with a low confidence sub‑score (1‑2). In practice, most modern tech roles map reasonably well to at least one archetype, and the hybrid handling captures edge cases where a role straddles boundaries.

### Can I add custom archetypes to the detection system?

The current implementation hardcodes six archetypes in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md). Extending the taxonomy would require modifying that file and updating the classification prompt in [`modes/oferta.md`](https://github.com/santifer/career-ops/blob/main/modes/oferta.md) to reference the expanded catalogue.

### How does the system handle emerging role titles like "AI Infrastructure Engineer"?

Semantic matching compensates for novel titles. The LLM evaluates description content against archetype definitions rather than relying solely on title keywords, so emerging titles map correctly when responsibilities align with established patterns.

### Is the archetype detection deterministic?

Results may vary slightly between runs due to LLM temperature settings, but the embedded catalogue in [`modes/_shared.md`](https://github.com/santifer/career-ops/blob/main/modes/_shared.md) and structured prompt format in [`modes/oferta.md`](https://github.com/santifer/career-ops/blob/main/modes/oferta.md) minimize variance for clear‑cut classifications.