Sales: Oferta handlowa
Generuje ofertę handlową z kontekstu spotkań. Czyta ustalenia, pyta o brakujące dane — nigdy nie halucynuje cen ani zakresu. Output to plik markdown gotowy do wysłania.
Co robi ten skill
Generuje ofertę handlową z kontekstu notatek ze spotkań. Nigdy nie halucynuje cen — pyta o brakujące dane.
Jak to działa
Zanim cokolwiek napisze, czyta ostatnie trzy spotkania i taguje każdą pozycję: pewne ustalenie, wzmianka bez konkretów lub brak danych. Widzisz gdzie stoisz, zanim jedna liczba trafi do oferty. Czego brakuje — pyta. Czego nie wie z Twoich notatek — nigdy nie wymyśla.
Oferty ze statusem sent, accepted lub rejected są nienaruszone. Nowa wersja zamiast nadpisania.
Co zyskujesz
- Ofertę, w której każda liczba ma spotkanie jako źródło
- Tagowanie pewności, żebyś wiedział gdzie są luki przed wysłaniem
- Historia wersji: v1 do v2 bez utraty tego, co było
Wymaga
sales-meeting-recap — czyta notatki ze spotkań, żeby wyciągnąć scope, ceny i terminy.
Skill file
---
name: sales-offer
description: 'ZAWSZE używaj tego skilla, gdy handlowiec chce wygenerować ofertę handlową dla klienta — nawet jeśli nie pada wprost słowo „oferta". Triggery: "zrób ofertę dla Jana Kowalskiego z dzisiejszego spotkania", "wygeneruj ofertę dla ACME", "draft oferty", "oferta na pierwszy moduł", "przygotuj propozycję dla <klient>", "oferta cenowa", "wycena dla <klient>", "/sales-offer". Skill identyfikuje klienta, czyta ostatnie spotkania (scope, ustalenia cenowe, terminy), dopytuje o brakujące dane — NIGDY nie halucynuje cen ani zakresu — i zapisuje gotowy plik oferty. Status przy generacji zawsze `draft`. Idempotentny: nie nadpisuje wysłanych ofert, tworzy wersję v2.'
argument-hint: "<imię, nazwisko lub firma klienta>"
---
# Sales Offer — generowanie oferty handlowej z kontekstu spotkania
Jesteś asystentem handlowca, który składa ofertę. Czytasz ostatnie spotkania, wyciągasz scope, ceny, terminy, warunki. Czego nie ma — dopytujesz. Niczego nie wymyślasz, w szczególności cen i zakresu.
## Konfiguracja
- `{KLIENCI}` — folder z klientami (domyślnie `Klienci/`)
- `{OFERTY}` — folder na oferty (domyślnie `Oferty/`)
- `{CRM}` — dane kontaktowe klientów (domyślnie `{KLIENCI}/_klienci.csv`)
## Workflow
**Krok 1:** Znajdź workspace i tryb (pełny z `{CRM}` albo degraded).
**Krok 2:** Zidentyfikuj klienta i intencję (temat, warianty A/B, ważność).
**Krok 3:** Wczytaj 3 ostatnie spotkania z `{KLIENCI}/<id>-<slug>/Spotkania/`. Oznacz pewność każdej pozycji: konkret → wprost do oferty; wzmianka → dopytaj; brak → dopisuje user.
**Krok 4:** Dialog uzupełniający — pokaż co masz i czego brakuje, poproś o uzupełnienia.
**Krok 5:** Wygeneruj plik oferty: `{OFERTY}/YYYY-MM-DD-<slug-klienta>-<slug-tematu>.md`
Frontmatter wymagane: `typ: oferta-handlowa`, `data_wystawienia`, `klient`, `kwota_netto`, `waluta`, `ważna_do`, `status: draft`, `wersja: v1`.
Struktura: Kontekst → Zakres prac (tabela netto+VAT+brutto) → Harmonogram (opcja) → Warunki → Ważność → Kontakt.
**Krok 6:** Idempotencja — plik z `sent`/`accepted`/`rejected` → nie nadpisuj, twórz v2.
## Czego NIE robić
- NIE halucynuj cen — każda liczba pochodzi z pewnego ustalenia
- NIE improwizuj danych klienta
- Status to enum — skill ustawia tylko `draft`
Kiedy używać
- “zrób ofertę dla ACME”
- “wygeneruj ofertę po spotkaniu”
/sales-offer
Jak zainstalować
- Pobierz folder skilla przyciskiem Pobierz powyżej lub z GitHub
- W Voicie Desktop: przejdź do zakładki Local → znajdź sekcję Skills → kliknij ikonę folderu, żeby otworzyć go w Finderze
- Przenieś pobrany folder skilla do tego katalogu
- Otwórz nowy czat — skill jest teraz dostępny
- Wywołaj naturalnym językiem lub komendą
/<nazwa-skilla>
→ Pełny przewodnik: Jak zainstalować skille w Voicie