Claude-skill-registry join
JOIN.com Bewerbungsmanagement - neue Bewerbungen anzeigen, Gehaltsvorstellungen prüfen, PDFs automatisch zu Google Drive hochladen. Use when user asks about applications, candidates, job applications, Bewerbungen, or JOIN.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/join" ~/.claude/skills/majiayu000-claude-skill-registry-join && rm -rf "$T"
skills/data/join/SKILL.mdJOIN.com Bewerbungsmanagement
Skill für die Integration mit JOIN.com (Recruiting-Plattform).
Setup
- API Token holen: https://join.com/user/api
- Token speichern:
(in ~/.zshrc)export JOIN_API_TOKEN="dein-token"
Verfügbare Befehle
Bewerbungen auflisten
<skill>/scripts/join-cli.sh applications [DAYS]
Ausgabe: JSON mit Bewerbungen inkl. Name, E-Mail, Gehaltsvorstellung, Status
Bewerbungsdetails
<skill>/scripts/join-cli.sh application <APPLICATION_ID>
Ausgabe: Vollständige Details inkl. Anschreiben, Dateien, Custom Fields
Dateien herunterladen
<skill>/scripts/join-cli.sh download <APPLICATION_ID> [OUTPUT_DIR]
Default Output:
/tmp/join-files
Jobs auflisten
<skill>/scripts/join-cli.sh jobs
Workflow: Neue Bewerbungen verarbeiten
Bei Anfrage "Zeig mir neue Bewerbungen"
-
Bewerbungen abrufen:
<skill>/scripts/join-cli.sh applications 7 -
Für jede interessante Bewerbung:
- Details mit Gehaltsvorstellung anzeigen
- Bei Bedarf PDFs herunterladen
Bei Anfrage "Lade Bewerbungsunterlagen zu Drive"
-
Dateien herunterladen:
<skill>/scripts/join-cli.sh download <APP_ID> /tmp/join-files -
Zu Google Drive hochladen:
gog drive upload /tmp/join-files/*.pdf --parent <BEWERBUNGEN_FOLDER_ID> --account thomas@rockstardevelopers.de -
Lokale Dateien aufräumen:
rm -rf /tmp/join-files
Google Drive Ordner
Bewerbungsunterlagen werden standardmäßig hier abgelegt:
- Ordner:
Bewerbungen/[Jahr]/[Monat]/[Kandidatenname]/
Falls der Ordner noch nicht existiert, frage den Meister nach der gewünschten Struktur.
Formatierung für Slack
Wenn du Bewerbungen im Chat präsentierst:
👤 *Max Mustermann* — Senior Developer 📧 max@example.com 💰 Gehaltsvorstellung: 75.000 € 📅 Eingegangen: 27.01.2026 📎 3 Dateien (Lebenslauf, Anschreiben, Zeugnisse)
Keine Tabellen in Slack! Bullet-Listen verwenden.
Automatische Verarbeitung neuer Bewerbungen
Trigger: Neue JOIN-E-Mail (via Heartbeat)
Suchmuster:
from:join subject:"Neue Bewerbung" is:unread
Workflow pro E-Mail
-
Bewerbername aus E-Mail extrahieren:
- Format in E-Mail:
MT\n\nMuhammadali Turgunov\n\nGermany - Oder aus Kandidaten-URL:
https://join.com/candidates/41766224
- Format in E-Mail:
-
Passende Bewerbung in JOIN API finden:
<skill>/scripts/join-cli.sh applicationsMatche nach Vorname + Nachname
-
NUR diese Bewerbung verarbeiten:
- Ordner erstellen:
[Nachname]_[Vorname]_[Gehalt]EUR - PDFs herunterladen und hochladen
- CV analysieren (siehe unten)
- Slack-Benachrichtigung senden
- In Tracking eintragen
- Ordner erstellen:
-
E-Mail als gelesen markieren
CV-Analyse
Für jeden neuen Bewerber den CV analysieren und folgende Infos extrahieren:
- 🇩🇪 Deutscher Muttersprachler? (Ja/Nein)
- 🪪 Deutsche Staatsangehörigkeit? (Ja/Nein/unklar)
- 💼 Jahre Full-Stack-Erfahrung
- 🛠️ Top 5 Skills
- 🌐 Sprachen
- 📋 Anzahl Projekte
Methode: PDF zu PNG konvertieren, dann mit Image-Analyse auswerten:
sips -s format png <cv.pdf> --out /tmp/cv.png # Dann image tool mit Analyse-Prompt
Slack-Benachrichtigung Format
📥 *Neue Bewerbung: Max Mustermann* 💰 Gehaltsvorstellung: 60.000 € 📁 <folder_link|Bewerbungsordner> 📊 *CV-Analyse:* • 🇩🇪 Deutsch: Ja (Muttersprachler) • 🪪 Staatsangehörigkeit: Deutsch • 💼 Full-Stack: 5+ Jahre • 🛠️ Skills: React, Node.js, TypeScript, PostgreSQL, Docker • 🌐 Sprachen: Deutsch, Englisch • 📋 Projekte: 8 ✅ *Empfehlung: Interessant* / ⚠️ *Nicht passend*
Tracking
Nach dem Verarbeiten von Bewerbungen:
- Tracking in
aktualisieren<workspace>/memory/join-tracking.json - Verhindert doppelte Benachrichtigungen
{ "processed": { "app-id-123": { "name": "Max Mustermann", "processedAt": "2026-01-27T14:00:00Z" } } }