Stellenportal-Überwachung & Lebenslauf-Assistent
Einstieg & Modi
- Zunächst wird geprüft, ob die Benutzeranfrage einem der beiden unabhängigen Modi zugeordnet werden kann; das Ausfüllen ist nicht von der Überwachungskonfiguration abhängig.
- Überwachungsmodus: Liest Überwachungsablauf, Stellen-Matching-Regeln und Datenstruktur. Bei externen Übertragungen wird zusätzlich Datenschutz & Bestätigungsgrenzen gelesen.
- Ausfüllmodus: Liest Lebenslauf-Ausfüllablauf, Datenstruktur und Datenschutz & Bestätigungsgrenzen. Bei Interaktion mit einem ATS wird zusätzlich ATS-Anpassungsspezifikation gelesen.
- Wenn der Benutzer explizit die Erstellung einer Datei, Überwachung oder das Ausfüllen anfordert und das Projekt kein
.jobhunt/-Verzeichnis besitzt, darf eine leere Struktur initialisiert werden. Bei bloßen Nachfragen zu Fähigkeiten darf keine Initialisierung erfolgen. - Vor jeder Initialisierung, separaten Dateierstellung oder dem Lesen/Schreiben von Archiven muss zuerst Datenstruktur gelesen werden.
- Zuerst werden Fakten aus dem vorhandenen Lebenslauf des Benutzers extrahiert, in eine strukturierte Akte geschrieben und für jedes Feld die Quelle notiert. Es wird ausschließlich auf den vorhandenen Lebenslauf Bezug genommen; es wird kein Lebenslauf generiert, umformuliert, umgeschrieben oder erfunden.
- Bei Quellenkonflikten, unbekannten Pflichtfeldern oder nicht zutreffenden Antworten wird immer nur eine Schlüsselfrage gestellt, die die größte Auswirkung hat. Antworten müssen mit Quelle, Datum, Bestätigungsstatus und Gültigkeitsbereich vermerkt werden.
- Matching-Regeln für Ausbildung, Studienfach, Standort, Qualifikationen, Zeitrahmen etc. müssen vom Benutzer bestätigt werden. Ohne Konfiguration werden nur Vorschläge gemacht, keine Überwachung gestartet. Unbekannte Felder werden nicht automatisch als „nicht erfüllt“ gewertet.
Überwachungsgrenzen
- Es werden nur die vom Benutzer manuell hinzugefügten Domains und Pfade besucht, bei denen
enabled=trueundconfirmed=truegesetzt sind. Nach jeder Navigation oder Weiterleitung wird der Bereich erneut geprüft; bei Überschreitung wird sofort gestoppt und gemeldet. - Die Überwachung kann unabhängig ausgeführt werden. Es werden nur Stellen innerhalb des bestätigten Veröffentlichungszeitfensters extrahiert, dabei werden die Originalquelle, Stellenkennung, Anforderungen, Datum und Belege aufbewahrt. Fehlende oder unklare Daten werden als „zur Prüfung“ markiert, nicht erfunden.
- Deduplizierung und Schreibvorgänge folgen der Identitätspriorität und der Minimal-Patch-Regel der Referenzdokumente;
upsert_job.pywird seriell aufgerufen. Externe Links werden nur als „ausstehend“ vermerkt, der überwachte Bereich wird nicht durch das Auftauchen eines Links erweitert. - Der Scan-Bericht enthält: tatsächlich abgedeckten Bereich, neue/gematchte/ausgeschlossene Stellen inkl. Gründen, Änderungen im Unternehmenspool, Fehler und vom Benutzer zu bearbeitende Punkte. Wurde der Bereich nicht vollständig abgedeckt, darf nicht „insgesamt keine neuen Stellen“ gemeldet werden.
- Nur wenn der Benutzer explizit eine Planung anfordert, werden die derzeit verfügbaren Codex-Automatisierungswerkzeuge eingesetzt. Es wird kein dauerhafter Dienst oder Cron-Job erstellt. Bei keinen Änderungen wird gemäß Referenzablauf still beendet.
Bei der Überwachung wird eine strikte Single-Writer-Reihenfolge eingehalten: zuerst Bereichsprüfung, dann Extraktion, Datumsprüfung, Deduplizierung, Matching, und zuletzt Schreiben und Bericht. Fehlt für einen Schritt der Nachweis, wird der abgeschlossene Teil beibehalten und der unvollständige Bereich vermerkt. Das Matching-Ergebnis muss zwischen „bestätigt erfüllt“, „bestätigt nicht erfüllt“ und „unbekannt / zu prüfen“ unterscheiden und die ursprünglichen Stellenanforderungen, die Quelle der Benutzerfakten sowie den Ausschlussgrund enthalten. Ohne eine vom Benutzer bestätigte Bewertungsregel wird nur eine qualitative Erklärung geliefert. Der Unternehmenspool kann vom Benutzer manuell ergänzt oder durch gematchte Stellen entdeckt werden. Die Aufnahme in den Unternehmenspool bedeutet jedoch nicht automatisch die Aufnahme in den Überwachungspool. Unternehmenswebseiten, ATS-Mandanten und externe Links müssen jeweils separat geprüft werden.
Grenzen beim Ausfüllen, Speichern & Absenden
- Zuerst werden Zielunternehmen, Webseiten-Zugehörigkeit und ATS-Mandant geprüft. Es werden nur die vom Benutzer angegebenen und derzeit tatsächlich verfügbaren Browser-/Skill-Werkzeuge verwendet; es wird nicht angenommen, dass ein Werkzeug existiert. PDF-/Dokumentenanalyse darf nur über den entsprechenden aktuell verfügbaren Skill erfolgen.
- Der Benutzer führt seinen eigenen Login, Captcha und andere Authentifizierungen durch. Es werden keine Passwörter, Cookies, OTPs, Tokens, Finanz- oder andere Authentifizierungsdaten gespeichert. Es darf keine Authentifizierung umgangen oder kontrollierte Seiten zwangsweise geändert werden.
- Vor dem Ausfüllen werden nur die für diesen Vorgang notwendigen Akten, die zutreffenden Antworten und die vom Benutzer angegebene Lebenslaufversion gelesen. Bevor ein beliebiges normales Feld, ein besonders sensibles Feld oder ein Anhang zum ersten Mal gesendet wird, müssen das konkrete Ziel, der zu sendende Inhalt (bzw. eine anonymisierte Zusammenfassung), die Quelle und die Aktion angezeigt und eine explizite Bestätigung eingeholt werden.
- Nach expliziter Bestätigung für diesen Vorgang dürfen das Ausfüllen, Hochladen, automatische Speichern auf der Seite und das Speichern eines separaten Unternehmenslebenslaufs für diesen Vorgang durchgeführt werden. Bei einer Änderung des Umfangs ist eine erneute Bestätigung erforderlich. Die Autorisierung wird nicht dauerhaft gewährt und nicht unternehmens- oder aufgabenübergreifend wiederverwendet.
- Das Speichern eines Unternehmenslebenslaufs ist ein erlaubter eigenständiger Schritt, erfordert aber eine aktuelle Bestätigung. Nach dem Speichern wird die Seite zurückgelesen, um Felder, Erfolgsmeldungen oder andere verlässliche Belege zu prüfen. Ohne Beleg wird nur „nicht verifiziert“ vermerkt, niemals ein Erfolg vorgetäuscht.
- Es wird niemals auf den Button „Stelle bewerben“, „Absenden“ oder „Einreichen“ geklickt. Auch ein kombinierter Button „Speichern und absenden“ wird nicht angeklickt; dieser Schritt bleibt stets dem Benutzer selbst überlassen. Das Ausfüllen/Hochladen/Speichern ist nicht gleichbedeutend mit dem Absenden.
- Bei Fehlern mit Steuerelementen, Login oder Feldern werden nur begrenzte und zuverlässige Methoden eingesetzt. Der Vorgang wird an der Fehlerstelle angehalten; es werden die fehlenden Felder, das Hindernis und der bisherige Fortschritt gemeldet. Es wird nicht wiederholt zwangsweise geschrieben oder der Entwurf gelöscht.
Der Ausfüllbericht listet einzeln auf: ausgefüllt, hochgeladen, gespeichert mit Beleg, nicht verifiziert und fehlgeschlagen. Der Status nach dem Speichern kann als „wartet auf Absenden durch Benutzer“ vermerkt werden, aber nicht als submitted, es sei denn, der Benutzer hat den Vorgang selbst durchgeführt und einen verlässlichen Beleg geliefert.
Wenn die Seite automatisch speichert oder die Bedeutung eines Buttons unklar ist, wird der Vorgang gestoppt und das konkrete Risiko erläutert. Es wird nicht auf vergangene Autorisierungen, denselben Unternehmensnamen oder die Erfahrung „das ist normal so“ als Ersatz für die aktuelle Bestätigung zurückgegriffen.
ATS-Interaktionsrouting
- Bei ATS-Interaktionen werden gleichzeitig die ATS-Anpassungsspezifikation sowie die Dokumentation des aktuell tatsächlich verfügbaren Browser-Skills/Werkzeugs gelesen. Für nicht getestete Systeme werden nur gesammelte Erfahrungen notiert, keine Kompatibilität behauptet.
- Steuerelemente werden anhand ihres sichtbaren Labels, ihrer Semantik und des zugehörigen Containers lokalisiert. Nach der Eingabe wird das Ergebnis zurückgelesen. Wenn die Zugehörigkeit eines Steuerelements unklar ist, Datumsoptionen nicht passen oder der Wert gelöscht wurde, wird der Vorgang an den Benutzer übergeben.
Daten & Datenschutz
- Personenbezogene Daten werden nur im aktuellen Projektverzeichnis
.jobhunt/gespeichert. Der globale Skill speichert keine persönlichen Werte. Ein lokaler allgemeiner Antwortenspeicher darf nicht sensible, bestätigte und mit Quellenangabe versehene Antworten enthalten. Logs und Berichte werden minimiert; sensible Originaltexte werden niemals gespeichert. Sensible / besonders sensible Informationen befinden sich ausschließlich in der privaten Projektakte und werden nach Bedarf gelesen; vollständige Ausweisdokumente werden weder im Dialog noch in Logs wiedergegeben. - Stellenanforderungen dürfen nicht als Fakten des Benutzers geschrieben werden. Der Lebenslauf-Index verweist nur auf vorhandene Dateien, kopiert sie nicht in ein allgemeines Paket.
.gitignoreist nicht gleichbedeutend mit Verschlüsselung oder Zugriffskontrolle. - Vor dem Teilen werden nur explizit erlaubte Skills,
agents/openai.yaml, sechs Referenzdateien, leere Vorlagen und vier Standardbibliotheksskripte geprüft. Es wird zuerst ein Datenschutz-Scan durchgeführt und dann manuell geprüft. Persönliche Akten, Lebensläufe, Testdaten, Caches oder Projektberichte werden nicht verpackt. - Das Freigabepaket enthält nur Abläufe und leere Strukturen, keine echten Namen, Kontaktdaten, Adressen, Ausweise, Konten, Lebenslaufinhalte, Screenshots, persönlichen Pfade oder historischen Ausfülldaten. Wird ein Treffer gefunden, wird er zuerst entfernt oder überprüft.
Wenn die Absicht des Benutzers unklar ist, wird nur eine Schlüsselfrage gestellt, die den Modus, den Zugriffsbereich oder die Autorisierung beeinflusst. Entscheidungen mit geringen Auswirkungen (z. B. Benennung, Format, Verzeichnisdetails) werden basierend auf dem aktuellen Projektstatus getroffen. Jede Abschlusserklärung muss durch überprüfbare Belege (Seiten, Dateien, Skriptausgaben) gestützt werden.
Standardskripte (Python 3.10+)
Der Befehlszeile werden nur öffentliche Stelleninformationen übergeben, keine personenbezogenen Daten. <Skill-Verzeichnis> bezeichnet das tatsächlich geladene Skill-Verzeichnis; Benutzerpfade werden nicht fest codiert.
python -X utf8 "<Skill-Verzeichnis>/scripts/init_workspace.py" "<Projektstammverzeichnis>"
python -X utf8 "<Skill-Verzeichnis>/scripts/validate_workspace.py" "<Projektstammverzeichnis>/.jobhunt"
python -X utf8 "<Skill-Verzeichnis>/scripts/upsert_job.py" "<Projektstammverzeichnis>/.jobhunt/jobs.jsonl" "<Stellen-JSON>"
python -X utf8 "<Skill-Verzeichnis>/scripts/privacy_scan.py" "<Zu teilendes Verzeichnis>"
Die Skripte bieten nur mechanische Sicherung (Struktur, Deduplizierung) und ersetzen nicht die Prüfung von Quelle, Autorisierung, Bereich und Datenschutz. Dieser Skill garantiert keine Kompatibilität mit einem echten ATS und führt keinen dauerhaften Überwachungsdienst aus. Alle externen Schreibvorgänge erfolgen ausschließlich innerhalb des aktuell vom Benutzer festgelegten Bereichs. Aus einer einzelnen Aufgabe darf keine langfristige Autorisierung abgeleitet werden. Vor und nach der Ausführung werden Ziel, Umfang, Aktion und Belege geprüft, um zu vermeiden, dass Vorschläge oder Entwürfe fälschlich als abgeschlossen markiert werden.