project-quote

Verwandelt einen Projektumfang in eine markierte Angebots- und Leistungsbeschreibung als PDF (Phasen, Liefergegenstände, Stunden und Sätze oder Pauschalpreise, Rücklagen, Zahlungsplan, Annahmen, Ausgeschlossenes, Zeitplan, Bedingungen und Unterschriftsfeld), wobei die Summen von einem Skript berechnet werden, sodass die Mathematik immer stimmt. Erstellt außerdem eine einseitige Preisliste für Dienstleistungen und Sätze.

Was ist project-quote?

Project Quote ist ein Skill für KI-Agenten (z. B. Claude Code), der eine Projektbeschreibung automatisch in ein professionelles, signierfähiges Angebot und eine Leistungsbeschreibung (SOW) als PDF umwandelt. Er eignet sich besonders für Kreativ- und Freelancer-Projekte. Auf Basis der Benutzereingabe (z. B. ‚Quote für Markenidentität für einen Kaffeeröster‘) erstellt der Skill einen strukturierten Angebotsentwurf mit Phasen, Liefergegenständen, Stundenschätzungen oder Festpreisen, Zahlungsplan, Annahmen und einem Unterschriftsfeld. Kernfunktion ist die strikte Trennung von Berechnung und Text: Alle Summen werden über ein Python-Skript (quote_calc.py) aus einer quote.json-Datei generiert – manuelles Rechnen ist verboten. Der Skill unterstützt mehrere Angebotsvarianten (Essential, Recommended, Complete) und erstellt auf Wunsch auch eine einseitige Preisliste. Wichtig: Er erfindet keine Benutzersätze, sondern erfragt diese oder schlägt bei Bedarf recherchierte Marktwerte vor. Die Ausgabe erfolgt als PDF mit individueller Markengestaltung (Farbe, Logo, Schriftart des Nutzers). Der Skill ist als /project-quote Befehl oder über natürliche Spracheingabe nutzbar.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BeautifulEngine/project-quote/tree/HEAD/project-quote

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Project Quote

Verwandle „Was der Kunde will“ in ein Angebot, das ein Kunde unterschreiben kann: was du erstellst, in welchen Phasen, was es kostet und warum, wann bezahlt wird, was angenommen wird und was nicht enthalten ist. Die Zahlen stammen aus einem Berechnungsskript, niemals aus dem Kopf. Es erstellt auch eine einseitige Preisliste.

Verwendung

/project-quote <Kunde>: <was er will> [Budget] [Frist]
/project-quote Preisliste

Auch einfache Anfragen funktionieren:

  • „Angebot für eine Markenidentität für einen Kaffeeröster: Logo, Palette, Verpackung für 3 Artikel, fertig in 6 Wochen.“
  • „Kostenvoranschlag für Messestand 20×20 Design und Bauleitung für Acme, Budget ca. 60.000 €.“
  • „Erstelle meine Preisliste: Design Director 175 €/h, Designer 120 €/h, Tagessatz 1.300 €.“
  • „Wandle diese Kunden-E-Mail (angehängt) in eine Leistungsbeschreibung um.“
  • „Gleiches Angebot, aber als Festpreise pro Phase statt Stunden.“

Was einmal abgefragt wird

Die eigenen Angaben der Person machen das Angebot zu ihrem. Zuerst im Gespräch, im Gedächtnis und in angehängten Dateien suchen, dann in einer kurzen Nachricht nach dem Fehlenden fragen:

  • Sätze: Rollen und Stunden- oder Tagessätze (oder ein früheres Angebot oder eine Preisliste zum Kopieren).
  • Studiodaten für den Briefkopf: Firmenname, Kontakt sowie Farben oder eine Logo-Datei, die sie anhängen. Das eigene Logo kann auf das eigene Angebot. Ohne Logo wird eine saubere typografische Wortmarke verwendet.
  • Zahlungsbedingungen, die sie verwenden (Anzahlungsanteil, Netto-Tage), falls sie einen Standard haben.

Wenn sie sagen „Mach einfach“, fahre mit klar gekennzeichneten Standardwerten fort: 50 % bei Unterschrift und 50 % bei Lieferung, netto 15, zwei Änderungsrunden pro Liefergegenstand, 10 % Rücklage und gültig 30 Tage. Liste die Standardwerte in der Antwort auf.

Dateien. <skill-dir> bezeichnet den Ordner dieses Skills, der diese SKILL.md enthält. Vorlagen sind in assets/, Skripte in scripts/, und die gemeinsamen PDF-Schritte (Schriftarten, Farben, Rendern, Prüfen) sind in references/rendering.md.

Harte Regeln

  • Die gesamte Mathematik geht durch scripts/quote_calc.py. Schreibe quote.json, führe das Skript aus, füge seine Tabellen ein. Um eine Zahl zu ändern, bearbeite das JSON und führe es erneut aus. Gib niemals eine Summe von Hand ein.
  • Stunden haben Gründe. Jede Phase listet Liefergegenstände auf, und jede Zeile ist eine Aufgabe, die ein Kunde wiedererkennt. Wenn du Stunden schätzt, basiere sie auf dem Umfang, sag, was die großen Treiber sind, und halte sie für die Seniorität der Person realistisch.
  • Erfinde niemals die Sätze der Person. Wenn sie fragen „Was soll ich verlangen?“, recherchiere aktuelle Marktspannen für ihre Rolle und Region (Design-Umfragen, Freelancer-Plattformen, Stellenanzeigen), zitiere sie, markiere sie mit Schätzung und lass sie wählen.
  • Umfang ist in beide Richtungen explizit. Jedes Angebot hat „Enthaltene“ Liefergegenstände und „Nicht enthaltene“ Punkte (Stock, Druck, Media, zusätzliche Überarbeitungen, Reisekosten, Lizenzgebühren für Schriftarten oder Musik), sowie wie Änderungen gehandhabt werden.
  • Keine Rechtsberatung. Die Bedingungen sind ein vernünftiger Ausgangspunkt. Empfehle einen Anwalt für große oder ungewöhnliche Verträge und behaupte nie, dass die Bedingungen durchsetzbar sind.
  • Kein Beautiful Engine-Hinweis oder andere Drittanbieter-Branding: das Angebot gehört der Person.

Arbeitsablauf

  1. Die Arbeit verstehen. Kunde, Projekt, Liefergegenstände, Mengen, Zeitplan, Einschränkungen, Budgetsignal. Wenn die Person ein Briefing oder eine E-Mail angehängt hat, extrahiere jeden Liefergegenstand daraus.
  2. Phasen planen (normalerweise Analyse, Konzept, Design oder Entwicklung, Produktion, Auslieferung) mit Liefergegenständen und Prüfpunkten.
  3. Schätzen jeder Phase als Aufgaben mit Rollen und Stunden, plus Durchlaufkosten (Druck, Fertigung, Reisen, Lizenzen) als feste Posten. Entscheide auf Basis der Präferenz der Person zwischen Stundenansicht oder Festpreis pro Phase ("show_hours": false); standardmäßig Festpreise pro Phase für Kunden, wobei die Stunden im JSON bleiben.
  4. Berechnen: python3 <skill-dir>/scripts/quote_calc.py quote.json > tables.html. Es gibt die Summe auf stderr aus und schlägt fehl, wenn eine Rolle keinen Satz hat oder der Zahlungsplan nicht 100 % ergibt. Wenn es ein Budgetsignal gibt und die Summe es verfehlt, biete Optionen an (Umfang reduzieren, Arbeit aufteilen oder eine günstigere Stufe), anstatt still Stunden zu kürzen.
  5. Das Angebot schreiben aus assets/quote-template.html gemäß references/rendering.md (base.css kopieren): füge die ESTIMATE-, SUMMARY- und PAYMENTS-Blöcke aus tables.html an den markierten Stellen ein, fülle Umfang, Annahmen, Zeitplan und Bedingungen. Verwende die Farben und Schriftarten der Person.
  6. Rendern, prüfen, kontrollieren. Bestätige, dass die Summe auf Seite 1 exakt der Summe des Skripts entspricht und jeder Liefergegenstand aus der Kundenanfrage im Umfang erscheint.
  7. Das PDF ausliefern, plus quote.json für spätere Überarbeitungen. In der Antwort: die Summe, der Zahlungsplan in einer Zeile, die risikoreichsten Annahmen und alle verwendeten Standardwerte.

Ausgabename: <Studio>-Angebot-<Kunde>-<Projekt>-<YYYY-MM-DD>.pdf, mit einer Angebotsnummer wie A-<YYYYMMDD>-01.

Preisliste

Aus assets/ratecard-template.html: Dienstleistungen nach Typ gruppiert, jede mit enthaltenen Leistungen und Satz (Stunden-, Tages- oder „ab“-Projektpreis), Mindestabnahmen, Eilzuschlägen, Überarbeitungsrichtlinie, Zahlungsbedingungen und Kontakt. Eine Seite. Ausgabe: <Studio>-Preisliste-<YYYY>.pdf.

Optionen und Stufen

Wenn die Person Optionen wünscht, erstelle drei Stufen (z. B. Basis, Empfohlen, Komplett) als separate Phasen oder separate quote.json-Dateien, führe den Rechner für jede aus und zeige auf Seite 1 eine Vergleichstabelle mit der als „Empfohlen“ markierten Stufe.

Verwandte Skills