future-of-work, ai-architecture,

Your CV Has a Spam Problem. Here's How to Fix It.

Sebastian Schkudlara Sebastian Schkudlara Follow Mar 31, 2026 · 6 mins read
Your CV Has a Spam Problem. Here's How to Fix It.
Share this

The Real Problem Isn't Your Resume

I want to try something. Open your LinkedIn right now and count the recruiter messages sitting in your inbox from the last month.

How many of those roles paid what you actually want? How many were fully remote — like you required? How many involved a tech stack you’d genuinely want to work with?

If you’re like most experienced engineers, the answer is: maybe one or two. Out of twenty.

The rest? Noise. Pure, relentless noise. Roles paying €50K when your floor is €85K. “Hybrid” positions that actually mean “come to the office four days a week.” Job descriptions packed with buzzwords but zero salary transparency. Agencies you’ve never heard of, pitching roles for companies they won’t name.

And here’s the kicker: you can’t do anything about it. LinkedIn doesn’t let you set a salary floor. No job board lets you say “auto-reject anything in the gambling industry.” No platform lets your profile say “don’t contact me unless you offer remote-first and at least €90K.”

So you do what everyone does. You ignore most of it, miss the occasional good one buried in the pile, and wonder if there’s a better way.

There is.


What If Your Profile Could Say No For You?

This is the idea behind rules.yaml in the Scoutica Protocol. It’s a file — a plain YAML file — that sits next to your professional profile and tells every AI agent that reads your card exactly what you will and won’t consider.

engagement:
  allowed_types:
    - permanent
    - contract
  compensation:
    minimum_base_eur:
      permanent: 90000
      contract: 700

remote:
  policy: "remote_only"

filters:
  blocked_industries:
    - "gambling"
    - "weapons"
    - "tobacco"
    - "crypto_trading"
  stack_keywords:
    preferred:
      - "Python"
      - "Go"
      - "Kubernetes"
  soft_reject:
    weak_stack_overlap_below: 3

That’s it. No signup. No dashboard. No monthly subscription. You write your rules, publish them alongside your profile, and every conforming AI agent on the planet has to respect them.

Let’s break down what this actually does in practice.


How Auto-Rejection Actually Works

When a company’s AI agent finds your Skill Card and considers pitching you a role, it doesn’t start by checking your skills. That would be a waste of compute. Instead, it reads your rules.yaml first and runs a quick compliance check:

Check 1: Industry filter. The role is at an online betting company → blocked_industries includes “gambling” → REJECTED. Done in milliseconds. Your profile is never even scored.

Check 2: Salary floor. The role pays €65K base → your minimum for permanent is €90K → REJECTED. The agent moves on. You never hear about a lowball offer.

Check 3: Remote policy. The role requires “hybrid, 3 days in Munich” → your policy says remote_onlyREJECTED. No awkward “would you consider relocating?” email.

Check 4: Stack overlap. The role needs Java, Spring Boot, Oracle. You work in Python, Go, and Kubernetes. Overlap: zero keywords out of three required → weak_stack_overlap_below: 3 triggers a SOFT_REJECT. The agent flags it and moves on.

The first time you hear about an opportunity through Scoutica, it has already passed every single one of your filters. The salary is above your floor. The industry is clean. The work model matches your lifestyle. The tech stack has meaningful overlap with what you actually enjoy doing.

No more noise. Just signal.


But I Already Ignore Bad Offers. Why Automate It?

Fair question. You’re smart enough to delete a bad recruiter message in three seconds. Why formalize it?

Three reasons:

1. You can’t filter what you can’t see. Most recruiter outreach doesn’t include salary. You won’t know it pays €55K until the second interview — after you’ve invested 3 hours. With rules.yaml, the salary check happens before any human interaction. If the offer can’t meet your floor, it never reaches you.

2. Scale. Right now, maybe 5 recruiters contact you per month. But we’re entering a world where AI agents will be sourcing candidates autonomously — potentially hundreds of them per day. When the inbound volume goes from 5 to 500, you can’t manually filter anymore. You need a machine-readable policy.

3. Sovereignty. On LinkedIn, the platform decides who can contact you. On job boards, the ATS decides if your PDF passes parsing. With Scoutica, you decide. Your rules live in a file you own, in a repo you control. No middleman. No algorithm change can suddenly flood you with spam.


Your Rules Live Next to Your Skills

The beauty of the protocol is that your rules aren’t stored separately from your profile. They’re not buried in some settings page on a platform. They sit right next to profile.json and evidence.json — the files that describe your skills and link to your public work.

my-card/
├── profile.json     # What you know
├── rules.yaml       # What you want
├── evidence.json    # Proof you're legit
├── SKILL.md         # Instructions for AI agents
└── scoutica.json    # Discovery file

Any AI agent that discovers your card gets the full picture: your capabilities, your terms, and the evidence backing your claims. The agent doesn’t need to guess your salary expectations or hope you’ll consider relocating. It’s all right there, structured and unambiguous.

And if your situation changes? Edit the YAML. Push to GitHub. Every agent sees the updated rules immediately. Going through a job search? Set availability: "immediately". Happy where you are? Set it to "not_looking" and agents stop contacting you. Getting married and want a raise? Bump your salary floor. It’s your file.


Set It Up in Two Minutes

The fastest path is dropping your CV in a folder and running the CLI:

# Install
curl -fsSL https://raw.githubusercontent.com/traylinx/scoutica-protocol/main/install.sh | bash

# Generate your card from your documents
scoutica scan ~/my-cv-folder/

# Validate and publish
scoutica validate && scoutica publish

The scan reads your documents locally, generates profile.json, rules.yaml, and evidence.json, and publishes everything to GitHub. Your documents never leave your machine.

After the scan, open rules.yaml in any text editor and tune your filters. That’s where the real power is — the salary floors, industry blocklist, remote policy, and stack preferences that will silently reject every mismatched opportunity before it reaches you.


Your Career. Your Rules.

Recruiting is changing fast. AI agents are already sourcing candidates, scanning profiles, and making shortlists. The question isn’t whether this will happen — it’s whether you’ll have any say in how it works.

With Scoutica, you define the terms. Once. In a file. And every AI agent that discovers you plays by your rules — or moves on.

Stop filtering noise manually. Let your profile do it for you.

Bridging Architecture & Execution

Struggling to implement Agentic AI or Enterprise Microservices in your organization? I help CTOs and technical leaders transition from architectural bottlenecks to production-ready systems.

View My Full Profile & Portfolio
Sebastian Schkudlara
Written by Sebastian Schkudlara Follow View Profile →
Hi, I am Sebastian Schkudlara, the author of Jevvellabs. I hope you enjoy my blog!