Autorenprofile verbessern
Diese Fertigkeit füllt fehlende Autorenprofilfelder (Bio, Avatar, Website, soziale Netzwerke) durch Websuche aus.
Arbeitsablauf Übersicht
Phase 1: Autorenidentifikation
└─ Autorendatei finden und validieren
Phase 2: Parallele Recherche (nur für fehlende Felder)
├─ WebSearch Agent 1: Bio/Hintergrund
├─ WebSearch Agent 2: Avatar-URL
└─ WebSearch Agent 3: Website + Soziale Netzwerke
Phase 3: Benutzerüberprüfung (BLOCKIERENDE HÜRDE)
└─ Ergebnisse präsentieren, auf Genehmigung warten
Phase 4: Verbesserten Autor speichern
└─ Frontmatter-Felder aktualisieren
Phase 5: Qualitätsprüfung
└─ pnpm lint:fix && pnpm typecheck ausführen
Phase 1: Autorenidentifikation
1.1 Die Autorendatei finden
Akzeptiere einen Autoren-Slug, Namen oder Teilnamen als Argument:
- Zuerst exakten Slug-Match versuchen: Prüfe, ob
content/authors/{slug}.mdexistiert (Leerzeichen in Bindestriche umwandeln, Kleinbuchstaben) - Wenn kein exakter Match: Grep verwenden, um den Namen in Autorendateien zu suchen:
Grep-Muster: "name:.*{Suchbegriff}" mit Glob: "content/authors/*.md"
Ergebnisse:
- Ein Treffer → mit dieser Datei fortfahren
- Mehrere Treffer → Optionen zur Auswahl auflisten
- Kein Treffer → verfügbare Autoren auflisten
1.2 Fehlende Felder identifizieren
Lese die Autorendatei und prüfe, welche Felder fehlen oder leer sind:
Erforderliche Felder (immer vorhanden):
nameslug
Optionale Felder zum Verbessern:
bio- Beruflicher Hintergrund und Fachwissenavatar- URL zum Profilbildwebsite- Persönliche Website-URLsocials.twitter- Twitter/X-Handlesocials.github- GitHub-Benutzernamesocials.linkedin- LinkedIn-Benutzernamesocials.youtube- YouTube-Kanal
Ein Feld ist „fehlend", wenn:
- Es im Frontmatter nicht existiert
- Es existiert, aber leer ist (
""odernull)
Wenn alle Felder bereits ausgefüllt sind, informiere den Benutzer und biete an, bestimmte Felder zu aktualisieren.
Phase 2: Parallele Recherche
Starte bis zu 3 WebSearch-Agenten parallel, basierend darauf, welche Felder fehlen:
**Agent 1 - Bio/Hintergrund:**
Task-Tool mit subagent_type: "general-purpose"
prompt: "Verwende WebSearch, um berufliche Hintergrundinformationen zu [Autorenname] zu finden.
Abfrage: '[Autorenname]' bio background expertise
Extrahiere: Berufsbezeichnung, Unternehmen, Fachgebiete, bemerkenswerte Projekte.
Rückgabe: Eine professionelle Bio mit 1-2 Sätzen."
**Agent 2 - Avatar-URL:**
Task-Tool mit subagent_type: "general-purpose"
prompt: "Verwende WebSearch, um eine Profilbild-URL für [Autorenname] zu finden.
Abfrage: '[Autorenname]' site:github.com OR site:twitter.com
Extrahiere: GitHub-Benutzername oder Twitter-Handle, um die Avatar-URL zu konstruieren.
Rückgabe: Avatar-URL (bevorzugt GitHub-Format: https://github.com/{username}.png)"
**Agent 3 - Website & Soziale Netzwerke:**
Task-Tool mit subagent_type: "general-purpose"
prompt: "Verwende WebSearch, um Social-Media-Profile für [Autorenname] zu finden.
Abfrage: '[Autorenname]' twitter github linkedin youtube
Extrahiere: Persönliche Website, Twitter-Handle, GitHub-Benutzername, LinkedIn-Profil, YouTube-Kanal.
Rückgabe: Liste der gefundenen Profile mit URLs/Handles."
Starte nur Agenten für fehlende Felder. Wenn die Bio bereits existiert, überspringe Agent 1.
Sammle alle Ergebnisse über TaskOutput (blockierend).
Phase 3: Benutzerüberprüfung (BLOCKIERENDE HÜRDE)
Dies ist ein obligatorischer Genehmigungsschritt. Präsentiere die vorgeschlagenen Änderungen vor dem Speichern.
3.1 Änderungen präsentieren
Zeige vorgeschlagene Aktualisierungen als Vergleichstabelle an:
## Vorgeschlagene Aktualisierungen für [Autorenname]
| Feld | Aktuell | Vorgeschlagen |
|-------|---------|----------|
| bio | (leer) | "Gründer von X, Ersteller von Y..." |
| avatar | (leer) | "https://github.com/username.png" |
| website | (leer) | "https://example.com" |
| socials.twitter | (leer) | "username" |
| socials.github | (leer) | "username" |
| socials.linkedin | (leer) | "username" |
| socials.youtube | (leer) | (nicht gefunden) |
3.2 Genehmigung anfordern
Verwende das AskUserQuestion-Tool:
question: "Diese Änderungen am Autorenprofil speichern?"
header: "Überprüfung"
multiSelect: false
options:
- label: "Speichern"
description: "Die Autorendatei mit diesen Werten aktualisieren"
- label: "Bearbeiten"
description: "Mir sagen, was geändert werden soll"
- label: "Abbrechen"
description: "Die Datei nicht ändern"
3.3 Antwort verarbeiten
- Speichern: Fahre mit Phase 4 fort
- Bearbeiten: Benutzerfeedback anwenden, aktualisierte Vorschau anzeigen
- Abbrechen: Ohne Änderungen beenden
Fahre NICHT mit Phase 4 fort ohne explizite Benutzergenehmigung.
Phase 4: Verbesserten Autor speichern
4.1 Frontmatter aktualisieren
Verwende das Bearbeitungswerkzeug, um nur die genehmigten Felder zu aktualisieren:
Vorher:
---
name: "John Doe"
slug: "john-doe"
bio: ""
avatar: ""
website: ""
socials:
twitter: ""
github: ""
linkedin: ""
youtube: ""
---
Nachher:
---
name: "John Doe"
slug: "john-doe"
bio: "Softwareentwickler mit Schwerpunkt auf verteilten Systemen..."
avatar: "https://github.com/johndoe.png"
website: "https://johndoe.dev"
socials:
twitter: "johndoe"
github: "johndoe"
linkedin: "johndoe"
youtube: ""
---
4.2 Vorhandene Werte beibehalten
Wichtig: Überschreibe niemals vorhandene, nicht-leere Werte, es sei denn, es wird ausdrücklich darum gebeten:
- Behalte vorhandene
nameundslugunverändert - Aktualisiere nur Felder, die leer/fehlend waren
- Behalte alle zusätzlichen benutzerdefinierten Felder bei
4.3 Bestätigung
Melde dem Benutzer:
Aktualisiert: content/authors/{slug}.md
- bio: hinzugefügt
- avatar: hinzugefügt
- website: hinzugefügt
- socials.twitter: hinzugefügt
- socials.github: hinzugefügt
Phase 5: Qualitätsprüfung
Führe Linter und Typprüfung aus, um Probleme zu erkennen:
pnpm lint:fix && pnpm typecheck
Wenn Fehler gefunden werden, behebe sie, bevor du die Aufgabe abschließt.
Fehlerbehebung
| Fehler | Behebung |
|---|---|
| Autor nicht gefunden | Verfügbare Autoren in content/authors/ auflisten |
| Keine fehlenden Felder | Benutzer informieren, anbieten, bestimmte Felder zu aktualisieren |
| WebSearch schlägt fehl | Alternative Abfragemuster versuchen |
| Benutzer lehnt Änderungen ab | Bearbeitung ermöglichen oder abbrechen |
| Informationen nicht gefunden | Feld als "(nicht gefunden)" markieren, mit anderen fortfahren |
Qualitäts-Checkliste
Überprüfe vor dem Speichern:
- Autorendatei existiert in
content/authors/ - Nur leere/fehlende Felder aktualisieren
- Bio ist 1-2 Sätze, professioneller Ton
- Avatar-URL ist gültig (bevorzuge GitHub-Format)
- Soziale Handles sind nur Benutzernamen (keine URLs)
- Vorhandene nicht-leere Werte bleiben erhalten
- Benutzer hat Änderungen ausdrücklich genehmigt