CommunitySchreiben & Editierengithub.com

atokin4/cover-letter-lint

Erstellen oder prüfen Sie einen freiberuflichen Anschreiben, Vorschlag oder eine Kunden-Nachricht, sodass sie wie von einem Menschen geschrieben klingt und nur behauptet, was der Autor belegen kann.

Was ist cover-letter-lint?

Diese Fähigkeit hilft KI-Agenten wie Claude Code, freiberufliche Anschreiben, Angebote oder Kundennachrichten zu schreiben oder zu überprüfen, die natürlich klingen und nur durch die Fakten des Nutzers belegte Behauptungen aufstellen. Sie bietet einen Node.js-Linter (Node 20+, keine Abhängigkeiten), der typische KI-Satzbausteine, Gedankenstriche, Platzhalter, Off-Platform-Kontaktaufnahmen und unbelegte Behauptungen erkennt. Der Linter unterstützt sowohl vollständige Angebote (50–90 Wörter) als auch Nachrichtenmodi und kann projektbezogen über eine `.cover-lint.json`-Datei konfiguriert werden. Die Fähigkeit ist für Claude Code optimiert, kann aber in jedem Agenten-Ordnungssystem mit Node-Zugriff verwendet werden, und sie integriert sich mit einer `facts.md`-Datei, um sicherzustellen, dass jede Behauptung durch die tatsächliche Erfahrung des Nutzers gestützt wird.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/atokim4/cover-letter-lint/tree/HEAD/skills/cover-letter-lint

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Cover Letter Lint

Ziel: Ein Anschreiben von 50–90 Wörtern, das ein vielbeschäftigter Kunde bis zum Ende liest und beantwortet, wobei jede Behauptung durch die eigene Fakten-Datei des Nutzers gestützt wird.

Der Linter ist scripts/lint-cover.mjs in diesem Fähigkeiten-Ordner (Node 20+, keine Abhängigkeiten). Rufen Sie ihn mit dem vollständigen Pfad auf: node ${CLAUDE_SKILL_DIR}/scripts/lint-cover.mjs in Claude Code (auch für eine Plugin-Installation). Andere Agenten füllen diese Variable nicht, also verwenden Sie den Ordner, z. B. node .claude/skills/cover-letter-lint/scripts/lint-cover.mjs für eine Projektinstallation oder node ~/.claude/skills/cover-letter-lint/scripts/lint-cover.mjs für eine globale.

1. Die Fakten-Datei finden

Suchen Sie nach facts.md, me/facts.md oder einer .cover-lint.json mit einem "facts"-Pfad im aktuellen Projekt.

  • Gefunden: Lesen Sie sie. Behauptungen kommen nur von dort.
  • Nicht gefunden: Bieten Sie an, facts.md aus templates/facts.md in diesem Fähigkeiten-Ordner zu erstellen, und füllen Sie sie mit dem Nutzer aus (Fähigkeiten, Rollen, Erfolgsbilanz, Beleglinks, Dinge, die nie gesagt werden sollen). Erfinden Sie nichts davon. Wenn der Nutzer ablehnt, linten Sie ohne --facts und teilen Sie mit, dass Behauptungen nicht geprüft wurden.

2. Schreiben (überspringen, wenn der Nutzer einen eigenen Entwurf mitgebracht hat)

Speichern Sie den Auftragspost in einer Datei, wenn der Nutzer einen eingefügt hat (z. B. job.md). Schreiben Sie dann als einfache Sätze ohne Aufzählungspunkte oder Überschriften:

  1. Eine Begrüßung im Stil des Kunden, dann ein konkretes Detail SEINES Beitrags (der Fehler, der Stack, die Frist) und was es wahrscheinlich verursacht oder wie Sie es angehen würden. Wiederholen Sie niemals den Beitrag.
  2. Eine Belegzeile aus der Fakten-Datei, die wirklich passt (ein ähnlicher Auftrag, eine Rolle, ein Demolink). Ein persönliches Projekt wird als persönliches Projekt bezeichnet. Kein ehrlicher Treffer: Lassen Sie den Beleg weg.
  3. Den Plan in ein oder zwei Sätzen, mit Stunden und einem Preis, wenn der Nutzer Ihnen Tarife genannt hat.
  4. Eine Frage, diejenige, deren Antwort den Umfang oder den Preis ändert.
  5. Den Vornamen des Nutzers in einer eigenen Zeile.

Spiegeln Sie den Beitrag wider: Drei lockere Zeilen bekommen drei lockere Zeilen zurück, eine andere Sprache bekommt diese Sprache.

3. Linten und korrigieren

node ${CLAUDE_SKILL_DIR}/scripts/lint-cover.mjs --facts facts.md --job job.md proposal.md

(- liest von stdin; --mode message für Kundenantworten, die keinen Wortbereich haben; --json für Maschinenausgabe.) Korrigieren Sie jeden Fehler und führen Sie es erneut aus, bis es mit Exit-Code 0 beendet wird. Warnungen: Beheben Sie sie, es sei denn, es gibt einen Grund, und nennen Sie den Grund. Bei unlisted-skill entfernen Sie entweder die Behauptung oder fragen Sie den Nutzer, ob die Fähigkeit zur Fakten-Datei hinzugefügt werden soll. Bearbeiten Sie niemals die Fakten-Datei, um eine Behauptung bestehen zu lassen, ohne dass der Nutzer sagt, dass sie wahr ist.

RegelStufeWas sie erfasst
ai-phraseFehler~75 Vorlagenphrasen: "Ich hoffe, es geht Ihnen gut", "nahtlos", "Ich freue mich darauf", "Der Schlüssel ist"…
not-x-but-yFehlerKontraste im Stil "Das ist nicht nur X, sondern Y"
dashFehlerGedankenstriche und Bindestriche, die als solche verwendet werden
placeholderFehler[Ihr Name], {{name}}, <client>, TODO, lorem ipsum
off-platformFehlerE-Mails, Telefonnummern, "Schreiben Sie mir auf WhatsApp", Zahlungen außerhalb des Marktplatzes
unbacked-claimFehlerLinks und "N Jahre", die nicht in der Fakten-Datei stehen
never-sayFehlerSätze, die unter "Nie sagen" in der Fakten-Datei aufgeführt sind
word-countFehler / Warnungüber 90 Wörter (Fehler), unter 50 (Warnung) im Anschreiben-Modus
unlisted-skillWarnungEin Framework oder Dienst, den der Brief nennt, der weder in der Fakten-Datei noch im Auftragspost steht
questionWarnungKeine Frage oder mehr als eine
list, greeting, exclamation, emoji, long-sentence, i-startWarnungListen, "Sehr geehrter Herr", "!!", Emoji, Sätze mit 35+ Wörtern, zu viele Sätze, die mit "Ich" beginnen

Projektbezogene Anpassungen erfolgen in .cover-lint.json (alle Schlüssel optional): {"facts": "facts.md", "maxWords": 90, "minWords": 50, "extraPhrases": [], "allowPhrases": [], "disable": []}.

4. Übergeben

Zeigen Sie den Brief und die letzte Zeile des Linters. Nennen Sie den Preis und die Frage, die Sie gewählt haben, damit der Nutzer sie ändern kann. Lesen Sie ihn dann selbst noch einmal gegen die Fakten-Datei: Der Linter prüft Links, Jahre und Technologienamen, nicht jeden Satz. Der Nutzer sendet ihn ab; reichen Sie niemals etwas für ihn ein.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills