Top 25 skills — Claude Code · Codex · Kimi · Vibe coding
Compilație de skills reutilizabile pentru agenți de coding (Claude Code, Codex, Kimi, Vibe coding). Un skill = un trigger + o regulă imperativă + motivul, încărcat doar când e relevant. Structura de mai jos e portabilă între tool-uri: ce diferă e doar mecanismul de încărcare, nu conținutul.
Nucleu portabil (meta-skill)
Cum scrii un skill care chiar se folosește:
- Trigger în primele 57 de caractere. „Use when . " — ca agentul să știe când să-l încarce.
- O lecție pe rând, la imperativ. „Fă X" nu „Ar trebui să faci X". Regula + motivul, fără narativ de incident.
- Referințe pe subiect, nu loguri. Extinde o referință înainte să adaugi alta. Fără PR numbers, date, povestiri.
- Proceduri în skills, nu în memorie. Memory e pentru fapte care se aplică la fiecare sesiune; skills se încarcă doar când contează.
A. Planificare și spec (1–5)
- Spec înainte de cod — scrie ce livrezi și criteriile de acceptare înainte de prima linie. Forțează deciziile ambigue la suprafață.
- Decomposition playbook — împarte task-ul în pași verificabili; nu începe partea „interesantă" înainte de a valida structura.
- Deliverable numit — orice tool/model nou intră doar cu un deliverable și un proiect activ numit.
- Pushback pe scope — dacă cererea se umflă, spune ce e extra și de ce nu-l faci acum.
- Plan în fișier, nu în chat — un plan scris într-un fișier e revizuibil; unul ținut în conversație dispare.
B. Cod și review (6–10)
- LLM extrage, codul decide — LLM-ul umple sloturi tipizate; logica (calcul, validare, determinism) stă în cod.
- Review pe diff, nu pe intenție — verifică ce s-a schimbat efectiv, nu ce s-a intenționat.
- Single responsibility — o funcție/modul = un motiv să se schimbe.
- Fără rescrieri de sport — nu rescrie ce funcționează doar pentru „curățenie".
- Numele sunt documentație — un nume bun înlocuiește un comentariu; comentariul explică „de ce", nu „ce".
C. Debug și diagnoză (11–15)
- Reprodu înainte să repar — un bug pe care nu-l poți reproduce nu e reparat, e mascat.
- Întrebarea corectă înaintea soluției — izolează frontiera (input/model/transformare) înainte să schimbi ceva.
- Verifică, nu presupune — un „funcționează" nesusținut de output real e o minciună plauzibilă.
- Log-uri înainte de breakpoints — adaugă observabilitate la frontiera suspectă, nu ghicește în oarbă.
- Schimbă un singur lucru pe rând — dacă schimbi 3 variabile și merge, nu știi care a reparat.
D. Testare și calitate (16–20)
- Testează determinismul, nu frumusețea — testul prinde un bug real, nu validează un output frumos.
- Edge cases în test, nu în cleanup — input gol, duplicat, timeout, conflict sunt cazuri de test din prima zi.
- Fiecare bug primește un test de regresie — altfel îl repari de două ori.
- CI onest — raportează starea reală a CI, nu „verde cu avertismente ascunse".
- Verifică efectul extern — un upload „reușit" se confirmă citind înapoi handle-ul (URL/ID/path), nu din self-report.
E. Operare și livrare (21–25)
- Persistența e singurul lucru care contează la recreate — volumul salvează datele; imaginea nu.
- Un scriitor, un DB — SQLite/DuckDB = un singur proces, un volum montat, niciodată replici.
- Rollback = tag anterior — nu „fix rapid în producție".
- Nimic nu se scalează fără măsură — o metrică reală înainte de orice optimizare.
- Deliverable-ul e un artefact care rulează — nu o descriere a ce urma să faci.
Skills custom (specifice stackului local)
- Self-hosting pe Contabo — Docker + Coolify/Traefik, wildcard DNS, certresolver
letsencrypt, entrypoint https (nu websecure).
- OpenWebUI — DB-ul (
webui.db) e autoritar peste env vars; /api/version e singura sursă de versiune.
- ELenor OCR — pipeline într-un API call, determinism în cod, edge case ilegibil = rezultat valid.
- LiteLLM —
store_model_in_db: true, model list din /v1/models, free-tier unreliable.
Legături: Claude & Anthropic · Codex & OpenAI Coding · Developer Tools · Skill vs Wiki — principiu de design agent · De-la-cod-la-produs_Ghid-invatare