Så skriver du en kravspec (PRD) som ditt AI-verktyg faktiskt följer (gratis mall)
AI-verktyg som Lovable, Bolt, Cursor och Claude Code är snabba, men de bygger det du beskriver, och bara det. När beskrivningen är vag finns en ganska stor risk att verktyget fyller luckorna med gissningar, vilket kan få just de där konsekvenserna som många råkar ut för när resultatet inte blir det som de har förväntat sig. Här får du en gratis mall för produktspecifikation och tips på hur du fyller i den, så att ditt AI-verktyg bygger det du menade med färre vändor av rättningar.
Därför går vaga promptar sönder
En prompt som "bygg en bokningsapp för min salong" lämnar hundratals beslut öppna. Vem bokar? Kan kunden avboka? Vad händer när två personer bokar samma tid? AI:n svarar på alla de frågorna åt dig, utan att säga det, och varje gissning styr nästa.
Det fungerar för en demo. Men när appen växer glömmer verktyget tidigare beslut, motsäger sig självt och lagar en sak genom att förstöra en annan. En spec ger verktyget en fast referens att gå tillbaka till, så att varje nytt steg utgår från samma beslut.
Det här innehåller en byggklar spec
Produktfolk kallar det en kravspec eller PRD (product requirements document). För AI-verktyg behövs några delar som en klassisk kravspec ofta hoppar över, som datamodellen och byggordningen.
- Problem och första användare. En tydlig grupp människor, vad de gör i dag och vad de ska kunna göra i stället.
- Omfång. Vad som ingår i version 1, vad som kommer senare och vad som uttryckligen inte ingår. Listan över vad som inte ingår sparar mer tid än någon annan del.
- Användarflöden. Steg för steg vad användaren gör och ser, inklusive tomma lägen och fel.
- Datamodell. Det appen sparar, vilka fält som finns och vem som får läsa eller ändra.
- Arkitektur. Vad som körs var: frontend, backend, databas, externa tjänster och var datan lagras.
- Bygginstruktioner. Ordningen att bygga i, tekniska krav och vad AI:n inte får röra.
Mallen
Kopiera den till en fil som heter SPEC.md, eller ladda ner den, och byt ut allt inom hakparentes.
# [Produktnamn] – Produktspecifikation
Version: 0.1 · Datum: [ÅÅÅÅ-MM-DD] · Ansvarig: [namn]
## 1. Problem och första användare
- Vem har problemet? [en tydlig grupp, t.ex. "små kafferosterier som säljer prenumerationer"]
- Vad gör de i dag, och varför räcker det inte?
- Vad ska de kunna göra med den här produkten?
## 2. Omfång
### Version 1 (måste finnas)
- [Funktion]: [vad användaren kan göra]. Klar när: [ett resultat som går att testa]
- [Funktion]: [vad användaren kan göra]. Klar när: [ett resultat som går att testa]
### Senare
- [Funktion]
### Ingår inte
- [Sådant AI:n inte ska bygga, även om det verkar hjälpsamt]
## 3. Användarflöden
### Flöde: [namn, t.ex. "Kunden startar en prenumeration"]
1. [Användaren öppnar ...]
2. [Användaren väljer ...]
3. [Appen visar ...]
Resultat: [vad som har ändrats när flödet är klart]
Kantfall: [tomt läge, fel, ingen behörighet, långsamt nät]
## 4. Datamodell
| Entitet | Fält | Tillhör |
|----------|-------------------------------|------------|
| Användare| id, e-post, namn, skapad | – |
| [Entitet]| [fält] | [Användare]|
Behörighet: [vem som får läsa och ändra vad]
## 5. Arkitektur
- Frontend: [webbapp / mobilapp]
- Backend och databas: [t.ex. Supabase, eller eget API + Postgres]
- Inloggning: [e-post och lösenord / Google / magisk länk]
- Externa tjänster: [betalning, e-post, AI-modell]
- Var datan lagras: [region, t.ex. EU]
## 6. Bygginstruktioner till AI-verktyget
- Bygg i den här ordningen: 1) datamodell och inloggning, 2) [första flödet], 3) [nästa flöde]
- Använd: [ramverk, bibliotek]. Undvik: [bibliotek eller mönster]
- Gör inte: [ändra datamodellen utan att fråga / lägga till funktioner utanför omfånget]
- Efter varje steg: kör appen, kontrollera mot "Klar när" och fortsätt sedan
Så fyller du i den
- Skriv för en nykomling. Utgå från att läsaren inte vet något om din verksamhet. Det gör inte AI:n heller.
- Välj en första användare. "Alla som bokar saker" ger en vag app. "Frisörsalonger med 2–5 stolar" ger beslut.
- Gör varje funktion testbar. "Klar när: kunden får en bekräftelse på mejl inom en minut" är bättre än "bokningsbekräftelse".
- Beskriv det som kan gå fel. Tomma listor, misslyckade betalningar och saknad behörighet är där AI-byggda appar går sönder först.
- Var ärlig i listan "Ingår inte". Allt som inte sägs är något AI:n kan bestämma sig för att lägga till.
Så använder du den i ditt AI-verktyg
- Lovable, Bolt, Replit och andra chattbaserade verktyg: klistra in specen i ditt första meddelande och be verktyget bygga avsnitt 6 ett steg i taget. När det glider iväg, hänvisa tillbaka till specen.
- Cursor: spara specen som
SPEC.mdi projektets rot och lägg till en projektregel i.cursor/rulessom säger åt agenten att följa den. - Claude Code: spara den som
SPEC.mdoch hänvisa till den frånCLAUDE.md, som Claude Code läser automatiskt i början av varje session.
Uppdatera specen när du ändrar dig, inte bara koden. Då utgår nästa steg fortfarande från rätt beslut.
Jämför du verktyg som skriver specen åt dig? Läs AI-verktyg för kravspec jämförda.