Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

geoget-audit

Skill pro Claude Code, který odsouhlasí počet nalezených geokeší mezi databází GeoGet (tedy tím, co ukazuje statistika ze Statoru) a oficiálními čísly z geocaching.com. Když čísla nesouhlasí, dohledá každý jednotlivý rozdíl a zařadí ho do třídy, která má jasnou nápravu.

Vzniklo z reálného případu, kdy statistika hlásila 5 335 nálezů, ale profil 5 299. Rozdíl 36 záznamů se podařilo vysvětlit do posledního kusu — a nešlo o jednu příčinu, ale o tři různé.

Co to najde

třída co to je náprava
[A] lab keš naimportovaná v DB dvakrát (starý import bez GUID), takže se počítá dvakrát smazat — vygeneruje se .ggt list pro GeoGet
[B] lab nález v DB, který na serveru neexistuje (předčasně odkliknuté, nebo pozůstatek po přeobsazeném slotu série) odznačit nález, záznam nechat
[C] nelabová keš označená jako nalezená, ale log se nikdy nenahrál na server zalogovat na geocaching.com
chybějící nález log na serveru je, v GeoGetu nález chybí doimportovat MyFinds
duplicitní logy tentýž vlastní log v DB dvakrát nemá vliv na počet nálezů, ale kazí statistiky z logů

Adventure Lab keše se párují přes GUID, ne podle jména — proto to zvládne i série, kde má víc labek stejné jméno, i labky, které owner přejmenoval. (Právě na tomhle Diff.html pluginu LabForGg produkuje falešné poplachy.)

Požadavky

  • Windows — GeoGet je windowsová aplikace, cesty jsou %APPDATA% / c:\
  • GeoGet s pluginem LabForGg — kvůli lab nálezům z API
  • Python 3 v PATH
  • volitelně plugin Logator — jeho Missing.ggt slouží jako levná předběžná kontrola

Instalace

/plugin marketplace add rimuln/claude-plugins
/plugin install geoget-audit@rimuln-plugins

Pak stačí v Claude Code napsat třeba „nesouhlasí mi počet nálezů“ nebo „zkontroluj nálezy“.

Alternativně bez pluginu: nakopíruj skills/kontrola-nalezu/ do .claude/skills/ ve svém projektu, nebo do ~/.claude/skills/.

Ruční spuštění skriptu

Skill si všechno dohledá sám, ale skript jde pustit i samostatně:

python skills/kontrola-nalezu/scripts/audit_nalezu.py
python skills/kontrola-nalezu/scripts/audit_nalezu.py --db kopie.db3 --user mujnick

Cesty a nick se jinak detekují automaticky — nick i oficiální serverová čísla se berou z Account.json, který si LabForGg ukládá vedle LabFinds.json. Čísla z webu tedy nikam opisovat nemusíš.

Ukázka výstupu

SOUCTY                        GeoGet     server    rozdil
  celkem (dtfound>0)           5335       5299       +36   <<< NESOUHLASI
  z toho labky                  906        873       +33   <<< NESOUHLASI
  z toho nelabove              4429       4426        +3   <<< NESOUHLASI

LABKY vs server (225 serii)
  sparovano se serverem     : 873 / 873   {'guid': 615, 'name': 258}
  [!] v GG nalez, na serveru log neni               : 33
        [A] legacy duplikat (bez guid i LABid)      : 31   -> SMAZAT
        [B] ostatni                                 : 2   -> proverit smart-link

NELABOVE
  [!] [C] nalez v DB, ale zadny muj log             : 3

VERDIKT: 36 polozek k reseni, detaily nize.

Databáze se nemění

Skript otevírá SQLite read-only a nic nezapisuje. I tak doporučuju pracovat na kopii — GeoGet umí mít soubor zamčený a živá databáze se mění pod rukama. Nápravu je pak lepší provést v GeoGetu než přímo v SQLite, aby se aktualizovaly i indexy a statistika.

Soukromí

Skript nečte AccesToken.json (přístupový token ke geocaching.com API) a čtení Account.json omezuje na nick a dvě čísla.

Když budeš hlásit chybu nebo posílat ukázkový výstup, projdi si ho: výstup obsahuje seznam tvých nálezů a .ggt list taky. A hlavně — nikdy nikam nepřikládej svoji cachedb.db3, jsou v ní domácí souřadnice, PM listingy a logy tisíců cizích lidí.

Licence

MIT — viz LICENSE.