PROMPT — construiește-ți un skill AI de hartă natală, cu calcul astronomic real Sursă: simpluspv.eu/[slug-articol]/ Cum îl folosești: îl copiezi într-un agent AI care scrie și rulează cod pe calculatorul tău (ex. Claude Code). Îți trebuie Python instalat. Prima rulare descarcă un fișier de ~17 MB cu efemeride NASA (valabile 1900-2050) — se întâmplă o singură dată, apoi rămâne local. --- Construiește-mi un skill în două scripturi Python care calculează o hartă astrală REALĂ (nu simulată) dintr-o dată, oră, oraș și țară de naștere, apoi generează un raport HTML cu ea. Scriptul 1 — harta.py — calculul astronomic: Argumente: --nume (obligatoriu, folosit doar pentru numele fișierelor), --data (YYYY-MM-DD), --ora (HH:MM, 24h), --oras, --tara, --output (cale fișier JSON de ieșire). Pasul 1 — geocodare reală: interoghează API-ul public Nominatim (OpenStreetMap, nominatim.openstreetmap.org/search) ca să obții latitudine/longitudine din oraș+țară, cu un User-Agent identificabil. Dacă orașul nu e găsit, ridică o eroare clară. Pasul 2 — fus orar istoric real: folosește pachetul timezonefinder ca să afli fusul orar exact al locației (nu offset fix — fusul orar cu DST se aplică diferit în funcție de an), apoi convertește data+ora locală în UTC cu zoneinfo. Pasul 3 — poziții planetare: folosește skyfield cu efemeridele JPL DE421 (se descarcă automat la prima rulare, valabile 1900-2050) ca să calculezi longitudinea ecliptică reală a Soarelui, Lunii, Mercur, Venus, Marte, Jupiter, Saturn, Uranus, Neptun, Pluto la momentul UTC calculat. Planetele de la Jupiter în sus se calculează ca baricentru planetă+luni ("jupiter barycenter" etc. în skyfield), nu ca planeta individuală — diferența e nesemnificativă pentru interpretare. Determină și dacă fiecare planetă e retrogradă (compară longitudinea cu o zi înainte). Pasul 4 — Ascendent și Mijlocul Cerului: calculează-le cu formulele standard din astronomia de poziție (GMST → RAMC → Ascendent/MC, folosind obliquitatea eclipticii la data respectivă), nu aproximări. Ascendentul se mișcă aproximativ 1° la fiecare 4 minute — de-asta ora exactă de naștere contează. Pasul 5 — case: sistemul caselor egale (fiecare casă = 30° pornind de la Ascendent) — mai simplu și mai robust decât Placidus, fără aproximări false. Pasul 6 — Nodul Nord: formula Meeus pentru Nodul Nord mediu (nu Nodul Adevărat — diferă cu până la 1.5°, rar schimbă semnul, dar spune-o ca limitare). Pasul 7 — aspectele natale: pentru fiecare pereche de planete, calculează unghiul dintre ele și verifică dacă se încadrează într-un orb (marjă de eroare) pentru conjuncție (0°, orb 8°), sextil (60°, orb 4°), pătrat (90°, orb 7°), trigon (120°, orb 7°) sau opoziție (180°, orb 8°). Păstrează unghiul real și orbul exact — un aspect cu orb mic e mult mai activ decât unul cu orb mare, iar interpretarea trebuie să poată face diferența. Pasul 8 — tranzitele de azi: recalculează pozițiile planetare pentru momentul curent (UTC acum) și găsește aspectele lor către harta natală, la fel ca la pasul 7. Pasul 9 — evenimentele anului: scanează următoarele 366 de zile (cu pași de o zi, vectorizat cu numpy ca să fie rapid) pentru perioadele în care Marte sau o planetă lentă (Jupiter până la Pluto) formează un aspect real cu un punct natal (planetă, Ascendent sau Mijlocul Cerului). Exclude Soare/Mercur/Venus/Lună din scanare — se mișcă prea repede și ar genera zeci de evenimente nesemnificative pe an. Pentru fiecare perioadă continuă găsită, salvează data de început, data de vârf (orbul cel mai mic) și data de sfârșit. Ieșire: un singur JSON cu toate datele de mai sus — planete natale, Ascendent, MC, case, aspecte natale, echilibrul de elemente și calități, tranzitele de azi și evenimentele anului. NU scrie nicio interpretare în text aici — asta se face separat, de un agent AI, pornind strict de la acest JSON, ca fiecare afirmație din interpretare să poată fi verificată într-un rând concret de date (o poziție, o casă, un aspect) — nu într-un șablon generic pe semn zodiacal. Scriptul 2 — raport.py — raportul HTML: Argumente: --chart (JSON-ul de la scriptul 1), --text (JSON cu interpretarea în proză, scrisă separat), --output (calea fișierului HTML final). text.json are cheile: nume (opțional), misiune_viata, lume_emotionala, lectie_karmica, zona_abundenta, relatii_actiune_gandire, predictie_azi, predictie_an — fiecare valoare e proză în limba română, cu paragrafele separate prin linie goală. Raportul combină cele două JSON-uri într-o pagină HTML cu: - o roată astrologică desenată ca SVG inline (nu canvas, nu librărie externă): inelul zodiacal cu cele 12 semne, liniile celor 12 case (cu unghiurile ASC/IC/DSC/MC mai groase), liniile de aspect între planete (colorate și cu grosime proporțională cu strânsoarea orbului — cu cât orbul e mai mic, cu atât linia e mai groasă și mai opacă), simbolurile planetelor cu glife departate automat unele de altele ca să nu se suprapună vizual quand sunt apropiate unghiular; - carduri cu profilul (Soare, Lună, Ascendent, Mijlocul Cerului, element dominant, calitate dominantă); - secțiunile de interpretare din text.json, ca proză simplă; - tabele complete (în elemente
, plesate) cu toate planetele, toate aspectele natale, toate cele 12 case, tranzitele active de azi și toate evenimentele anului — ca oricine să poată verifica orice afirmație din proză. Design: fond alb, indigo închis + auriu ca accente, font serif pentru titluri, dark mode automat din prefers-color-scheme. Fără librării externe de grafice — totul e SVG generat direct în Python. Reconfigurează ieșirea consolei pe UTF-8 la începutul ambelor scripturi, altfel consola Windows strică diacriticele. --- PAYCODE SRL · simpluspv.eu · automatizări cu AI și cursuri pentru firme