skills: 9 skill-uri de agent ROA (COMUN\skills) + legare si rutare
- leaga_skills.ps1: expune skill-urile in ~/.claude/skills prin symlink (citit si de Claude Code, si de opencode), fara copiere - rutare zona->skill in reguli_lucru pct. 7, README, AGENTS.md; skill-ul devine proprietarul procedurii, docurile raman referinta conditionata - rec_skills.md: decizia, inventarul si cum se adauga un skill nou
This commit is contained in:
59
docs/cercetare/rec_skills.md
Normal file
59
docs/cercetare/rec_skills.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# rec_skills - skill-uri de agent pentru suita ROA
|
||||
|
||||
Data: 2026-09-16. Status: aplicat (9 skill-uri create, rutare + backstop puse in docs).
|
||||
|
||||
## Decizie
|
||||
|
||||
- Skill-ul este **proprietarul procedurii**; docurile din `COMUN\docs` raman **referinta
|
||||
conditionata**, deschisa doar cand o ramura cere detaliu. Motiv: sa nu se incarce contextul de
|
||||
doua ori si sa nu existe doi proprietari pentru aceeasi regula. (Suprapunerea masurata inainte
|
||||
de unificare: 18-42% din liniile corpului unui skill erau identice cu linii din docuri.)
|
||||
- Fiecare SKILL.md: frontmatter doar `name` + `description` (comun ambelor host-uri), corp
|
||||
auto-suficient cu secventele `Cand se foloseste / Pasi (sau Regula) / Capcane / Criterii de
|
||||
acceptare si dovada / Scripturi / Referinta (doar la nevoie)`, cel mult 1 pointer conditio nat la
|
||||
un doc.
|
||||
- Skill-urile traiesc in `COMUN\skills\<nume>\SKILL.md`, versionate in `comun.git`.
|
||||
- Sunt expuse host-urilor prin symlink in `%USERPROFILE%\.claude\skills\` - director citit si de
|
||||
Claude Code, si de opencode - fara copiere: `COMUN\utile\leaga_skills.ps1` (idempotent, `-DryRun`).
|
||||
- Declansarea automata vine din `description` (ambele host-uri); "de fiecare data" vine din
|
||||
**backstop-ul always-on**: `reguli_lucru.md` pct. 7 (citit la fiecare sesiune) + `AGENTS.md`
|
||||
(pentru opencode, care nu citeste `CLAUDE.md`) + ancora in `CLAUDE.md`.
|
||||
|
||||
## Inventar
|
||||
|
||||
| Skill | Deschide cand (zonele) |
|
||||
|---|---|
|
||||
| `roa-vfp-text-edit` | editare `.vcx/.scx` pe text (`.vc2/.sc2`), cautare in binare, encoding cp1250, write-back |
|
||||
| `roa-vfp-headless-test` | rulare/depanare teste VFP headless, harness UI + screenshots |
|
||||
| `roa-git-svn-commit` | commit / `svn update` / `roa_sync` in COMUN |
|
||||
| `roa-oracle-migration` | scriere + publicare scripturi de migrare, re-export pachet PL/SQL |
|
||||
| `roa-oracle-diagnostic` | update ROA blocat la client, tablespace/disc plin |
|
||||
| `roa-oracle-production-access` | acces Oracle de productie (tunel SSH + TNS + DSN ODBC) |
|
||||
| `roa-vfp-null-guards` | garzi pe valori NULL din Oracle in VFP |
|
||||
| `roa-vfp-go-recno` | `GO` pe un `Recno()` capturat sau primit ca parametru |
|
||||
| `roa-oracle-sqlexec-no-data` | procedura PL/SQL cu `SELECT ... INTO` apelata din VFP (randuri pierdute tacut) |
|
||||
|
||||
## Cum se adauga un skill nou
|
||||
|
||||
1. Creezi `COMUN\skills\<nume>\SKILL.md` (contractul de mai sus; `name` = numele folderului,
|
||||
lowercase-cu-cratima).
|
||||
2. Rulezi `COMUN\utile\leaga_skills.ps1` (creeaza symlink-ul in `%USERPROFILE%\.claude\skills\`).
|
||||
3. Adaugi o linie de rutare in `reguli_lucru.md` pct. 7 si in `AGENTS.md` (`README.md` pentru
|
||||
index). Nu duplici regula din docs: skill-ul o detine.
|
||||
4. Verifici cu cele doua asertiuni: (a) nicio linie din `CLAUDE.md`/`AGENTS.md`/`reguli_lucru.md`/
|
||||
`README.md` nu ruteaza o zona acoperita catre un doc; (b) fiecare skill are cel mult 1 pointer
|
||||
conditio nat la un doc.
|
||||
|
||||
## Verificari la data aplicarii
|
||||
|
||||
- 9/9 skill-uri: ASCII pur, fara BOM, `name` = folder, descriere <= 1024, exact 1 bullet sub
|
||||
`## Referinta (doar la nevoie)`.
|
||||
- 0 rute reziduale zona -> doc in `CLAUDE.md`, `AGENTS.md`, `reguli_lucru.md`, `README.md`.
|
||||
- `leaga_skills.ps1`: 4 create apoi idempotent (0 create, 9 ok); director real cu acelasi nume
|
||||
niciodata sters (nici cu `-Force`).
|
||||
|
||||
## Neaplicat / de facut manual
|
||||
|
||||
- Commit: git pe branch (`claude/...`), fara push; `svn commit` + `roa_sync` + merge raman la
|
||||
Marius (fluxul SVN+git din `fluxul_svn_git.md`).
|
||||
- Pe celelalte calculatoare: `git pull` in `COMUN\` + `leaga_skills.ps1` (o data).
|
||||
Reference in New Issue
Block a user