Jak działa /monolynx:ticket-create: ticket, który agent zrealizuje bez pytań

Jak skill /monolynx:ticket-create zamienia jedno zdanie w ticket dla agenta AI: cztery źródła kontekstu, osiem sekcji opisu, blokery i obowiązkowa akceptacja.

Zespół Monolynx Zaktualizowano 2026-10-07 Zweryfikowano 2026-10-07 9 min czytania
Spis treści

Po co osobny skill do pisania ticketów?

Ticket napisany dla człowieka zwykle nie wystarcza agentowi AI. Człowiek dopyta kolegę, w którym pliku jest logika i czego lepiej nie dotykać. Agent tego nie zrobi: weźmie to, co jest w opisie, i resztę zgadnie.

Skill ticket-create z pluginu Monolynx dla Claude Code pisze ticket tak, żeby agent mógł go podjąć i zrealizować bez dodatkowych pytań. Argumentem jest krótki opis zadania, jedno albo dwa zdania.

Nowy ticket z jednego zdania
$ claude
> /monolynx:ticket-create Wiki: eksport strony do PDF

Bez argumentu skill prosi o opis i czeka. Nie zaczyna zbierać kontekstu, dopóki nie wie, czego dotyczy zadanie.

4źródła kontekstu odpytywane równolegle
8sekcji w opisie każdego ticketu
3-10kryteriów akceptacji, każde weryfikowalne
80znaków to górna granica długości tytułu

Ticket musi być zrozumiały dla agenta AI: agent musi móc go podjąć i zrealizować bez dodatkowych pytań.

skill ticket-create, ważne zasady

Osiem kroków od zdania do ticketu

Przebieg ma stałą kolejność, a dwa kroki są obowiązkowe bez wyjątku: zebranie kontekstu i akceptacja użytkownika.

  1. Narzędzia

    Skill ustala projekt i kanał rozmowy z platformą: CLI albo MCP.

  2. Opis zadania

    Argument wywołania jest punktem wyjścia. Gdy go brakuje, skill pyta o jedno lub dwa zdania.

  3. Kontekst

    Cztery źródła naraz: wiki, graf zależności, kod oraz istniejące tickety, sprinty i etykiety.

  4. Duplikaty i zależności

    Podobne tickety są dzielone na duplikaty, blokery i powiązane.

  5. Propozycja

    Skill wyświetla gotowy ticket: tytuł, priorytet, story points, sprint, etykiety i opis w ośmiu sekcjach.

  6. Akceptacja

    Trzy opcje: utwórz, zmień albo podziel na mniejsze. Opcjonalnie powstaje strona specyfikacji w wiki.

  7. Zapis

    Jedno wywołanie tworzy ticket razem z kryteriami akceptacji i blokerami.

  8. Seria

    Przy dużym zakresie skill proponuje serię ticketów w kolejności realizacji.

Przebieg skilla ticket-create

Opis zadania trafia równolegle do czterech źródeł kontekstu: wiki, grafu zależności, kodu i listy istniejących ticketów. Wyniki przechodzą przez kontrolę duplikatów, a potem skill pokazuje propozycję ticketu. Użytkownik akceptuje ją, prosi o zmianę albo o podział. Dopiero po akceptacji ticket jest zapisywany.

flowchart TD
  A[Opis zadania] --> B[Wiki]
  A --> C[Graf zależności]
  A --> D[Kod]
  A --> E[Tickety, sprinty, etykiety]
  B --> F[Duplikaty i zależności]
  C --> F
  D --> F
  E --> F
  F --> G[Propozycja ticketu]
  G -->|zmień| G
  G -->|podziel| G
  G -->|akceptuj| H[Zapis ticketu]

Skąd skill bierze kontekst?

Kontekst pochodzi z czterech źródeł, które skill odpytuje równolegle. Każde odpowiada na inne pytanie, więc żadne nie zastępuje pozostałych.

Źródło Na co odpowiada Trafia do sekcji
Wiki co już ustalono i opisano Kontekst, strona specyfikacji
Graf zależności co jest powiązane z tym kodem Zakres, Zależności, Nie ruszać
Kod co istnieje, a czego brakuje Zakres, Pliki dotykane
Tickety, sprinty, etykiety czy ktoś już to robi Zależności, sprint, etykiety

Kod czyta osobny agent, który ma tylko odczyt. Jego raport ma stały układ: istniejący kod ze ścieżką i linią, brakujące elementy, zależności, pliki do zmiany i szacowany zakres. Z tego zakresu powstają potem story points.

Co zawiera opis ticketu?

Opis ma osiem sekcji w stałej kolejności. Pierwsze trzy znasz z każdego dobrego ticketu, pięć kolejnych jest napisanych z myślą o agencie.

Sekcja Co zawiera Kto z niej korzysta
Cel co ma być zrobione, w 1-3 zdaniach każdy czytelnik
Kontekst dlaczego zadanie istnieje każdy czytelnik
Zakres obszary zmian z nazwami plików i endpointów agent realizujący
Pliki dotykane ścieżki zmienianych i nowych plików przegląd sprintu
Nie ruszać pliki i zachowania poza zakresem, z powodem agent realizujący
Odwracalność operacje, których nie cofnie revert kontrakt autonomii
Zależności blokery i tickety powiązane dyspozytor sprintu
Kryteria akceptacji weryfikowalne warunki ukończenia krytyk i człowiek

Przykład pokazuje, jak wygląda fragment gotowego opisu:

Fragment opisu ticketu (przykład)
## Pliki dotykane

- `src/monolynx/services/wiki.py`
- `src/monolynx/dashboard/wiki.py`
- `tests/integration/test_wiki_export.py`

## Nie ruszać

- `services/reports.py` - eksport raportów ma własny szablon PDF
- format odpowiedzi `/api/v2/.../wiki/pages` - konsumuje go CLI

## Odwracalność

- Odwracalne: cały kod
- Nieodwracalne / wymaga zgody przed wykonaniem: brak
Pełny szkielet opisu ticketu
## Cel
[1-3 zdania: co ma być zrobione]

## Kontekst
[1-3 zdania: dlaczego to zadanie istnieje]

## Zakres
### 1. [Pierwszy obszar zmian]
- [konkretna zmiana, z plikiem lub modułem]

## Pliki dotykane
- `[ścieżka/względem/repo/plik.py]`

## Nie ruszać
- [plik, moduł albo zachowanie, z powodem]

## Odwracalność
- Odwracalne: [co cofnie zwykły revert]
- Nieodwracalne / wymaga zgody przed wykonaniem: [albo brak]

## Zależności
- Bloker: [KEY] [tytuł] (status) - [dlaczego blokuje start]

## Kryteria akceptacji
- [ ] [warunek konkretny i weryfikowalny]

Trzy sekcje, których nie ma w zwykłym tickecie

Sekcje "Pliki dotykane", "Nie ruszać" i "Odwracalność" czytają inne skille pluginu, więc mają sztywne zasady.

Pliki dotykane

Lista ścieżek ma format, który czyta skrypt: jedna ścieżka względem repozytorium na linię, w odwrotnych apostrofach, bez opisu i bez wzorców z gwiazdką. Nowe pliki i testy też się liczą. Na tej liście przegląd sprintu wykrywa tickety, które zmieniają te same pliki i nie powinny iść równolegle.

Nie ruszać

Granica zadania jest częścią zadania, a nie domysłem. Skill wpisuje tu sąsiedztwo z grafu, które kusi, ale nie jest potrzebne, pliki z ticketów będących w toku oraz publiczne kontrakty, takie jak format odpowiedzi API. Każda pozycja ma powód.

Odwracalność

Sekcja wymienia operacje, których nie cofnie git revert: migrację z danymi, wysyłkę maila albo webhooka, publikację pakietu, zmianę publicznego API i kasowanie danych. Z tej listy skill work buduje kontrakt autonomii, czyli spis rzeczy, przed którymi agent ma się zatrzymać i zapytać. Zadanie bez takich operacji dostaje wpis "brak", napisany wprost.

Ile story points dostaje ticket?

Story points wynikają z liczby plików, którą oszacował agent czytający kod. Skill nie zgaduje ich z tytułu.

Story points według zakresu zmian
Story points według zakresu zmianWykres słupkowy. Mały (1-2 pliki): Najmniej 1, Najwięcej 2; Średni (3-5 plików): Najmniej 3, Najwięcej 5; Duży (6+ plików): Najmniej 8, Najwięcej 13.NajmniejNajwięcej03.256.59.7513Mały (1-2 pliki)Średni (3-5 plików)Duży (6+ plików)
Dane wykresu
Zakres Najmniej Najwięcej
Mały (1-2 pliki) 1 2
Średni (3-5 plików) 3 5
Duży (6+ plików) 8 13

Wynik ma znaczenie dla dalszej pracy. Tickety do 3 story points nadają się do skilla work-simple, większe prowadzi pełny work, opisany we wpisie jak działa /monolynx:work.

Duplikaty, blokery i tickety powiązane

Podobne tickety, które skill znalazł w projekcie, trafiają do jednej z trzech grup. Od grupy zależy, co skill z nimi zrobi.

Grupa Znaczenie Co robi skill
Duplikat ticket o tym samym celu zatrzymuje się i pyta, czy mimo to tworzyć nowy
Bloker musi być zakończony przed startem zapisuje relację blokady
Powiązany ten sam moduł albo temat wymienia tylko w opisie

Bloker jest zapisywany strukturalnie, jako relacja między ticketami, a nie w komentarzu1. Ma to skutek praktyczny: skille work i work-simple oraz dyspozytor sprintu nie zaczną ticketu, dopóki jego bloker nie ma statusu done.

Akceptacja i zapis

Skill nigdy nie tworzy ticketu bez akceptacji. Po wyświetleniu propozycji masz trzy opcje: zaakceptować, wskazać zmiany albo poprosić o podział. Po zmianach skill pokazuje ticket ponownie i pyta jeszcze raz.

Po akceptacji pada jedno opcjonalne pytanie: czy utworzyć w wiki stronę specyfikacji powiązaną z ticketem. Domyślna odpowiedź to "nie".

Ticket powstaje jednym wywołaniem, razem z kryteriami akceptacji jako osobnymi polami do odhaczenia. Na końcu skill podaje oba identyfikatory:

Potwierdzenie utworzenia ticketu
Utworzono ticket MON-273 - Wiki: eksport strony do PDF
ID: 5d0c2f7e-1a34-4b8e-9c61-2f7a8e0b4d19
Blokowany przez: MON-268

Najczęstsze pytania

Pytania poniżej dotyczą sytuacji, które zdarzają się przy pierwszych ticketach pisanych skillem.

Czy skill utworzy ticket bez mojej zgody?

Nie. Akceptacja jest obowiązkowym krokiem. Skill wyświetla propozycję i czeka na odpowiedź.

Co, jeśli projekt nie ma grafu zależności ani wiki?

Skill pomija niedostępny graf i opiera się na analizie kodu. Pusta wiki nie przeszkadza: wyszukiwanie zwraca po prostu brak wyników, a kontekst pochodzi z kodu i ticketów.

Czy mogę poprawić propozycję przed zapisem?

Tak. Wskazujesz, co zmienić, a skill poprawia ticket, pokazuje go ponownie i pyta jeszcze raz.

Czy kryteria akceptacji trzeba dodawać osobno?

Nie. Kryteria z opisu są tworzone razem z ticketem jako osobne pola do odhaczenia, w jednym wywołaniu.

Po co lista plików, skoro agent i tak czyta kod?

Lista nie jest dla agenta, który realizuje ticket, tylko dla przeglądu sprintu. Porównanie list z kilku ticketów pokazuje, które zmieniają te same pliki i wymagają ustalenia kolejności.

Słownik i następny krok

Pojęcia z tego wpisu, w jednym miejscu:

Story points
umowna miara wielkości zadania, tu liczona z liczby zmienianych plików
Kryterium akceptacji
warunek, o którym da się jednoznacznie powiedzieć, czy jest spełniony
Bloker
ticket, który musi mieć status done, zanim zacznie się praca nad innym ticketem
Strona specyfikacji
strona wiki z decyzjami projektowymi powiązana z ticketem
Graf zależności
mapa plików, klas i funkcji projektu oraz powiązań między nimi
Kontrakt autonomii
spis tego, co agent robi sam, i tego, przed czym się zatrzymuje

Gotowy ticket warto sprawdzić skillem /monolynx:ticket-review, a potem podjąć skillem /monolynx:work.

Tickety utworzone skillem trafiają do backlogu i sprintów w module Scrum. Zobacz tablicę, na której lądują.

Poznaj moduł Scrum w Monolynx
  1. Relację blokady zapisuje parametr blocked_by_ids, który przyjmuje identyfikatory UUID ticketów z tego samego projektu. ↩