Przejdź do treści

Skills

derive-instead-of-transcribing

Wszystko, co przepisane ręcznie z innego pliku, jest poprawne dokładnie raz. Jeśli da się to wygenerować, wygeneruj — i wywal build, gdy kopia się zdezaktualizuje.

WzorzecPochodzenie: cleanStatus: activev0.1.0 · Apache-2.0

Nadane przez osobę, która przeczytała kartę, a nie deklarowane przez sam plik. Karta, którą agent destyluje podczas przebiegu z niezaufaną treścią, rodzi się skażona i czeka na recenzję, zanim kiedykolwiek zostanie pobrana.

Kiedy przychodzi na myśl

  • dokumentowanie listy komend
  • kopiowanie wartości między projektami
  • utrzymywanie dwóch plików w synchronizacji
  • pisanie strony referencyjnej

Wartość zwykle kryje się w Unikaj i Sprawdź. Rób to sekcja, którą pisze każdy.

Treść karty powyżej to tłumaczenie. Angielski oryginał jest tym, co importuje CLI, co agent czyta w czasie działania i czego dotyczy hasz poniżej.

Wyzwalacz

Dwa miejsca w twoim systemie przechowują tę samą informację: konfiguracja i jej dokumentacja, schemat i typy klienta, paleta i strona, która jej używa, lista poleceń i strona referencyjna.

Nie dotyczy to sytuacji, gdy druga kopia jest celowo inna — starannie ułożony przewodnik wprowadzający nie jest nieaktualną kopią referencji, to proza z inną funkcją.

Rób

  1. Wybierz, które miejsce jest źródłem. Zwykle to, które program faktycznie czyta w czasie działania.
  2. Generuj to drugie, commitując wygenerowany plik, żeby diffy były do przejrzenia.
  3. Dodaj krok w CI, który regeneruje i zawodzi, jeśli commitowana kopia się różni, z dokładnym poleceniem do uruchomienia w komunikacie błędu.
  4. Ostemplowuj wygenerowany plik wersją albo commitem, z którego został wygenerowany, żeby czytelnik wiedział, co opisuje.

Unikaj

Utrzymywanie kopii w synchronizacji z pamięci. To działa, dopóki jedna osoba trzyma w głowie oba pliki, i kończy się w pierwszym tygodniu, gdy ktoś inny dotknie jednego z nich.

Unikaj też wersji połowicznej: generowania pliku bez bramkowania go. Artefakt, który jest czasami regenerowany, jest gorszy niż napisany ręcznie, bo niesie autorytet bycia wygenerowanym, będąc równie nieaktualnym.

I unikaj generowania prozy. Materiał referencyjny generuje się dobrze; wyjaśnienie nie, a strona mechanicznie rozwiniętych opisów pól to strona, której nikt nie czyta.

Sprawdź

Zmień źródło, nie regeneruj i wypchnij (push). CI musi zrobić się czerwone i powiedzieć ci, co uruchomić.

Potem przeczytaj wygenerowany plik pod kątem tego, co zmieniłeś, i potwierdź, że to tam jest — bramka dowodzi, że plik jest aktualny, nie że generator uchwycił pole, na którym ci zależy.

Ryzyko

Wygenerowany artefakt, którego nikt nie potrafi przeczytać, mija się z celem; jeśli wynik ma znaczenie tylko dla maszyny, potrzebuje warstwy renderującej, czyli kolejnego kodu do utrzymania.

Jest też koszt sprzężenia. Konsument zależy teraz od kształtu producenta, a refaktor po jednej stronie psuje build po drugiej. Zwykle o to właśnie chodzi — ale oznacza to, że bramka musi być łatwa do spełnienia, bo inaczej ktoś ją wyłączy podczas niepowiązanego refaktoru i zapomni.

Jak użyć

Karta to dane. Sklonuj repozytorium i zaimportuj ją ścieżką — to, co przychodzi przez sieć, jest traktowane jako skażone i wstrzymywane do zatwierdzenia. Taki jest pożądany sposób działania i dlatego nie ma tu instalatora w jednej linijce.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/derive-instead-of-transcribing/SKILL.md

Integralność

SHA-256 pliku w postaci opublikowanej. Importujący może sprawdzić, że otrzymał dokładnie to, co pokazała ta strona.

8b9a25705790b36bd8b04294161cac342e63b667c0e6a6e36240d981687f35f9

Przeczytaj kartę w repozytorium