name: skrive-krav description: > This skill should be used when the user asks to "skrive krav", "lag feature-fil", "skriv BDD-scenario", "definer krav", "lag Gherkin", "skriv en feature", "nytt scenario", or wants to create BDD requirements in Gherkin format. Guides the user through defining requirements, finding reusable steps, and generating feature files.
Skrive Krav
Skill for å skrive BDD-krav i Gherkin-format.
Arbeidsflyt
1. Forstå behovet
Start med å spørre brukeren:
- Hva skal funksjonaliteten gjøre?
- Hvem er aktørene? (administrator, søker, student, saksbehandler)
- Hvilke ord/uttrykk brukes i domenet?
2. Les konvensjoner
Les .claude/rules/gherkin-conventions.md for:
- Mappestruktur (Domene → Sub-domene → Kapabilitet)
- Feature-ID format (
@DOM-SUB-KAP-NNN) - Tags (prioritet, status, type)
3. Finn eksisterende steps
Søk etter gjenbrukbare steps:
Søk i:
krav/**/*.feature- eksisterende scenariostester/steps/**/*.ts- implementerte step-definisjoner
Presenter funn gruppert:
## Gitt-steps (forutsetninger)
- `at jeg er logget inn som {word}` - bruker-kontekst.steps.ts
## Når-steps (handlinger)
- `jeg oppretter et nytt opptak` - opptak.steps.ts
## Så-steps (forventninger)
- `skal jeg se {string} på siden` - bruker-kontekst.steps.ts
4. Definer scenarios
For hvert scenario, avklar:
- Gitt - Forutsetning/kontekst
- Når - Handling som utføres
- Så - Forventet resultat
VIKTIG: ALDRI anta feilmeldinger, valideringsregler eller forretningslogikk - spør!
5. Les BDD beste praksis
Før generering av feature-filen, les relevante referansefiler i references/bddpanda/:
writing-good-gherkin.md- Hovedregler: Golden Rule, deklarativ vs imperativ, gyldig syntaksanti-patterns.md- Vanlige feil: punktlister, kondisjonell logikk, implementasjonsdetaljerfeatures-and-scenarios.md- Feature-struktur, one scenario one behavior, scenariomalscenario-titles.md- Retningslinjer for gode scenariotitlerstep-phrasing.md- Person, tempus og formulering av stepstest-data.md- Håndtering av testdata i BDD
6. Generer feature-fil
Plassering:
krav/[NN] [Domene]/[NN] [Sub-domene]/[NN] [Kapabilitet]/feature-navn.feature
Format:
# language: no
@[Feature-ID] @[prioritet]
Egenskap: [Navn]
Som en [aktør]
ønsker jeg å [handling]
slik at [verdi].
# ÅPNE SPØRSMÅL:
# - [Dokumenter uklarheter her]
Bakgrunn:
Gitt [felles forutsetning]
Regel: [Forretningsregel]
@[status]
Scenario: [Beskrivende navn]
Gitt [forutsetning]
Når [handling]
Så [forventet resultat]
7. Oppdater oversikt
Etter at feature-filen er lagret:
cd krav-parser && npm run generate-overview
Gherkin Nøkkelord
| Engelsk | Norsk | Formål |
|---|---|---|
| Feature | Egenskap | Overordnet funksjonalitet |
| Rule | Regel | Forretningsregel |
| Background | Bakgrunn | Felles forutsetninger |
| Scenario | Scenario | Konkret testcase |
| Scenario Outline | Scenariomal | Parametrisert testcase |
| Examples | Eksempler | Data for Scenariomal |
| Given | Gitt | Forutsetning |
| When | Når | Handling |
| Then | Så | Forventet resultat |
| And/But | Og/Men | Fortsettelse |
Tags
Feature-ID (påkrevd)
Format: @DOM-SUB-KAP-NNN
- Eksempel:
@OPT-REG-GRU-001
Prioritet (MoSCoW)
@must / @should / @could / @wont
Status
@implemented / @in-progress / @planned
Type
@e2e / @integration / @demo
Automatisk kjøring
@smoke / @nightly
Eksempel
Se examples/gherkin-eksempel.feature for et komplett eksempel som demonstrerer alle beste praksis.

