Was macht directory-launch-kit?
Ziel: Der Nutzer erhält eine kurze, ehrliche Liste der Verzeichnisse, die zu seinem Produkt passen, fertige Copy zum Einfügen für jedes Formular, korrekt skalierte Bilder und einen Tracker – und er führt jede Einreichung und Zahlung selbst durch. Diese Skill erstellt niemals Accounts, sendet Formulare ab, bezahlt, upvotet oder postet im Namen des Nutzers.
Schritt 1 – Produkt lesen, nicht erfinden
Sammle aus dem Repository und der Live-Seite (frage nur nach dem, was fehlt):
| Feld | Wo finden |
|---|---|
name, url (live https://, eigene Domain) | Site-Metadaten, package.json, README |
| tagline (≤ 60 Zeichen) und beschreibung (≤ 500) | Homepage-Hero und Meta-Beschreibung |
| preise | Die Preisseite, exakt wie geschrieben |
| ai / open_source / developer_tool / agent_skills | Was das Produkt tatsächlich ist |
| wettbewerber | Den Nutzer fragen (SaaSHub benötigt sie) |
| maker_comment | Die eigenen Worte des Nutzers: Skizziere sie mit ihm, poste sie niemals für ihn |
| logo + 2–5 echte screenshots | public/ oder erfasse die Live-Seite (Schritt 3) |
Schreibe es in product.json unter Verwendung der Vorlage assets/product.example.json. Die Copy-Regeln befinden sich in references/copy-guide.md. Füge niemals Zahlen, Testimonials, Benutzerzahlen oder „#1"-Behauptungen hinzu, die der Nutzer nicht belegen kann; Verzeichnisse lehnen diese ab und Leser vertrauen der Seite dann nicht mehr.
Schritt 2 – Verzeichnisdaten erneut prüfen
python3 scripts/check_directories.py # OK / CHANGED / BLOCKED / DOWN pro Verzeichnis
references/directories.json speichert die Einreichungs-URL jedes Verzeichnisses, die beobachteten Kosten, Regeln und das Datum der Erfassung. Bevor du einen Preis nennst, öffne die Seite dieses Verzeichnisses (Browser, wenn BLOCKED oder CHANGED) und nenne das Datum, an dem du sie gelesen hast. Aktualisiere das JSON, wenn sich etwas geändert hat.
Schritt 3 – Echte Screenshots
Verwende Screenshots des echten Produkts, keine Mockups. Wenn die Site live ist, erfasse sie:
npx playwright screenshot --viewport-size=1440,900 https://example.com shot-1.png
npx playwright screenshot --viewport-size=1440,900 https://example.com/preise shot-2.png
(oder einen anderen Browser bei 1440×900). Zeige das Produkt bei seiner Arbeit: den Hauptbildschirm, ein Ergebnis, Preise. Größen pro Plattform: references/assets.md.
Schritt 4 – Das Kit erstellen
python3 scripts/make_kit.py --product product.json --out launch-kit
Schreibt:
launch-kit/copy.md: Ein Abschnitt pro Verzeichnis: Einreichungs-URL, beobachtete Kosten und Datum, Regeln, jedes Formularfeld mitn/limit, der Maker-Kommentar. Felder, die über dem Limit liegen, werden mitOVER LIMITmarkiert und das Skript beendet mit Exit-1: Kürze den Text inproduct.jsonzusammen mit dem Nutzer und führe es erneut aus. Es kürzt nie automatisch.launch-kit/tracker.csv: id, verzeichnis, submit_url, cost_observed, checked, backlink_required, status, submitted_on, listing_url, link_rel, notes. Erneutes Ausführen behält bereits aufgezeichnete Status bei.launch-kit/images/:ph-thumbnail-240.png,logo-512.png,og-1200x630.png,gallery-N-1270x760.png,screenshot-N-1920x1080.png, letterboxed (niemals beschnitten), jeweils < 3 MB.
Verzeichnisse, zu denen das Produkt nicht passt, werden mit Grund übersprungen (Nur-AI-Verzeichnisse für Nicht-AI-Produkte, OpenAlternative für Closed Source, DevHunt für Nicht-Entwickler-Tools, Agent-Skill-Marktplätze, es sei denn agent_skills: true). Show HN erhält eine Warnung, wenn die Nutzung des Produkts eine Anmeldung erfordert.
Schritt 5 – Reihenfolge der Einreichungen (keine Daten, nur Reihenfolge)
- Kostenlose Verzeichnisse mit langen Warteschlangen zuerst (Fazier kostenlos, Dang.ai kostenlos, SaaSHub, Launching Next, Uneed kostenlos): Ihre Warteschlangen laufen, während du den Rest erledigst.
- Communities, in denen der Nutzer anwesend sein muss, um zu antworten (Show HN, Indie Hackers, Reddit, V2EX): Eines nach dem anderen, nur wenn der Nutzer in den nächsten Stunden auf Kommentare antworten kann.
- Product Hunt: Zuerst ein Entwurf, Launch, wenn der Nutzer den ganzen Tag dafür Zeit hat.
- Kostenpflichtige Upgrades nur, wenn der Nutzer den Preis für angemessen hält; liste sie mit dem beobachteten Preis und Datum auf und lass den Nutzer wählen. Zahle niemals oder gib eine Karte ein.
Verzeichnisse, die einen Backlink erfordern (markiert in copy.md): Sage dem Nutzer genau, welches Badge/ welchen Link das Verzeichnis möchte und wo es auf seiner Website erscheinen wird, und füge es nur hinzu, wenn er zustimmt.
Schritt 6 – Verfolgen, was live gegangen ist
Nachdem der Nutzer eingereicht hat, fügt er jede Listing-URL in tracker.csv ein. Dann:
python3 scripts/check_listing.py --tracker launch-kit/tracker.csv --domain example.com --write
markiert Zeilen als live (mit follow / nofollow), no-link oder error.
Regeln
- Niemals einreichen, anmelden, bezahlen, upvoten, kommentieren oder für den Nutzer posten. Entwerfen; er handelt.
- BetaList bietet eine offizielle Agenten-API, die nur Entwürfe erstellt (betalist.com/agent): Du darfst den Entwurf nur erstellen, wenn der Nutzer darum bittet, und ihm dann den Claim-Link aushändigen; er überprüft, bezahlt und veröffentlicht.
- SaaSHub bittet KI-Agenten explizit, den Menschen einreichen zu lassen: Automatisiere es nicht.
- Keine Vote-Ringe, keine „Bitte upvoten"-Nachrichten, keine Fake-Accounts. Product Hunt und HN bestrafen diese.
- Preise nur als „beobachtet am unter " angeben.
Dateien
scripts/make_kit.py: product.json → copy.md, tracker.csv, images/scripts/check_directories.py: Live-Überprüfung jeder Verzeichnisseite und des aufgezeichneten Preisesscripts/check_listing.py: Bestätigt, dass Listings auf dich verlinken, Follow vs. Nofollowscripts/test_kit.py: Selbsttest (offline)references/directories.json: Die Daten (26 Verzeichnisse, geprüft am 2026-11-03)references/directories.md: Dasselbe als lesbare Tabellereferences/copy-guide.md: Taglines, Beschreibungen, Show HN-Titel, der Maker-Kommentarreferences/assets.md: Bildgrößen pro Plattform und wie man sie erfasst
Erledigt, wenn
-
product.jsonenthält nur Fakten aus dem Produkt und den eigenen Worten des Nutzers -
check_directories.pywurde ausgeführt und CHANGED/BLOCKED-Zeilen wurden manuell gelesen -
make_kit.pybeendet mit Exit-0 (keine OVER LIMIT-Felder) und die Bilder wurden geöffnet und sehen gut aus - Der Nutzer hat
copy.md,tracker.csvundimages/und kennt die Reihenfolge der Einreichungen