96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
---
|
|
name: kandidatprofil
|
|
description: "Leser, validerer og redigerer kandidatprofilen i arbeidsmappa, og eier den mekaniske sjekken mot build-brief 5.1. Utloeses av vis kandidatprofilen, vis profilen min, valider kandidatprofilen, oppdater lønnsgulvet, oppdater lonnsgulvet, sett opp arbeidsmappa, hvilken versjon kjører jobbsok og hvilken versjon kjorer jobbsok."
|
|
triggers:
|
|
- vis kandidatprofilen
|
|
- vis profilen min
|
|
- valider kandidatprofilen
|
|
- oppdater lønnsgulvet
|
|
- oppdater lonnsgulvet
|
|
- sett opp arbeidsmappa
|
|
- hvilken versjon kjører jobbsok
|
|
- hvilken versjon kjorer jobbsok
|
|
---
|
|
|
|
# kandidatprofil
|
|
|
|
Eier `profil/kandidat.md` i arbeidsmappa. Frontmatter er absolutt og leses
|
|
mekanisk; kroppen er prosa og leses med skjønn. Denne skillen validerer og
|
|
foreslår — den skriver aldri i profilen uten at operatøren har sagt ja til
|
|
akkurat den endringen.
|
|
|
|
All operatørrettet tekst er norsk bokmål.
|
|
|
|
## Løs opp arbeidsmappa først
|
|
|
|
Arbeidsmappa gjettes aldri. Løsningsrekkefølgen er `--workspace`, deretter
|
|
miljøvariabelen `JOBBSOK_WORKSPACE`, deretter en `workspace:`-linje i
|
|
`jobbsok.conf` under plugin-datamappa. Svarer ingen av de tre, si det og be om
|
|
stien. Ikke anta en hjemmekatalog.
|
|
|
|
Finnes ikke mappa ennå, kall `scaffold(root)` fra
|
|
`${CLAUDE_PLUGIN_ROOT}/scripts/jobbsok_lib/paths.py` og rapporter nøyaktig
|
|
hvilke kataloger og filer kallet opprettet. Kallet er idempotent, så en tom
|
|
liste betyr at alt allerede var på plass — si det, ikke påstå at noe ble laget.
|
|
`beslutninger.jsonl` blir aldri tømt av et scaffold.
|
|
|
|
## Valider
|
|
|
|
Kjør den mekaniske sjekken:
|
|
|
|
```
|
|
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/kandidat_schema.py
|
|
```
|
|
|
|
Bruk `validate_file(root, "profil", "kandidat.md")` når du kaller den som
|
|
modul. Rapporten er JSON med feltene `gyldig`, `feil`, `advarsler`,
|
|
`seksjoner`, `senioritet`, `ansettelsesform`, `absolutte_nei`,
|
|
`arbeidssteder`, `vekter_kilde` og `vekter`.
|
|
|
|
Les rapporten slik:
|
|
|
|
- **`feil`** er brudd på build-brief 5.1. Hvert element navngir nøkkelstien.
|
|
Gjengi stien ordrett til operatøren; ikke omskriv den til prosa.
|
|
- **`advarsler`** er ikke feil. En nøkkel utenfor 5.1 er operatørens egen, og
|
|
profilen er fortsatt gyldig. Advarselen for `arbeidssteder` sier at
|
|
vurderingen faktisk leser nøkkelen — skill den fra en advarsel om en nøkkel
|
|
ingenting leser.
|
|
- **`vekter_kilde`** er `default` når profilen ikke oppgir `vekter`. Det er en
|
|
normal tilstand, ikke et avvik.
|
|
- Malformert frontmatter er ingen rapport i det hele tatt: sjekken hever
|
|
`FrontmatterError` med linjenummeret. Gjengi linjenummeret.
|
|
|
|
Hele nøkkellista, seksjonsrekkefølgen, skilletegnkontrakten og standardvektene
|
|
står i `${CLAUDE_PLUGIN_ROOT}/skills/kandidatprofil/references/schema.md`. Les
|
|
den før du uttaler deg om hva som er påkrevd.
|
|
|
|
## Der fila og 5.1 er uenige, vinner fila
|
|
|
|
Operatøren eier denne fila. Foreslå aldri å skrive den om for å passe
|
|
kontrakten. Er strukturen ny og fornuftig, er det skjemaet som skal utvides —
|
|
si fra om det, ikke rett i fila.
|
|
|
|
Kroppen er skjønn. Et signaturprosjekt som sier *ikke målt* er en ærlig
|
|
tilstand, ikke et hull som skal fylles med et estimat. Et breddepunkt kan være
|
|
en disposisjon og ikke et fagfelt.
|
|
|
|
## Rediger bare som forslag
|
|
|
|
Ved endringsønske:
|
|
|
|
1. Les fila og valider den først.
|
|
2. Vis diffen — gammel linje, ny linje, og hvorfor.
|
|
3. Vent på et eksplisitt ja.
|
|
4. Skriv, valider på nytt, og vis den nye rapporten.
|
|
|
|
Hardfiltrene (`lonn.gulv_nok`, `geografi`, `absolutte_nei`) strammes aldri på
|
|
eget initiativ. En serie avslag på lønn er like gjerne et tegn på markedet som
|
|
på et feil gulv.
|
|
|
|
## Versjonsekko
|
|
|
|
Ber operatøren om versjon, skriv ut begge deler: innholdet i
|
|
`${CLAUDE_PLUGIN_ROOT}/BUILD_STAMP` og `version` fra plugin-manifestet
|
|
`.claude-plugin/plugin.json`. Mangler stempelfila, si det rett ut i stedet for
|
|
å oppgi bare manifestversjonen som om den var hele svaret. Fra M2 er det samme
|
|
ekkoet også tilgjengelig fra `dagens`.
|