# Codex Skills: Skapa en skill för återkommande uppgifter

> SKILL.md-struktur, laddningssökvägar, explicit och automatisk anropning, resultatkriterier och överföring av en skill till Claude Code.

Source: https://ailoot.ai/blog/sv/codex-skills/
Canonical: https://ailoot.ai/blog/sv/codex-skills/
Language: sv
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-084
Revision: sha256-a68990c679459ed411b70a8aaa6590a087f188bd53f11523d1d9e10baaddac39


Om du förklarar samma sak för Codex fem gånger i veckan – hur man formaterar en rapport, går igenom e-post eller förbereder text i din stil – kan du skriva ner instruktionerna en gång i en skill. Därefter kan agenten hitta den utifrån beskrivningen när den stämmer med uppgiften, eller så kan du anropa den uttryckligen. En skill är en vanlig mapp med en textfil som heter `SKILL.md`; det behövs ingen programmering för ett grundläggande användningsfall.

Nedan går vi igenom hur en skill är uppbyggd, var Codex letar efter den, hur du skapar en steg för steg och hur du väljer modell utifrån kostnad. Kommandon och priser bygger på OpenAI:s officiella dokumentation per den 20 september 2026. Vi upprepar inte installationsinstruktionerna för Codex här; de finns i guiden [Codex från OpenAI: vad det är, hur du installerar och kör det](https://ailoot.ai/blog/sv/openai-codex-install/).



[Praktisk information om att använda Ailoot finns i dokumentationen](https://ailoot.ai/docs/).

## Vad är en skill i Codex?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

En Codex-skill är en mapp med en `SKILL.md`-fil som beskriver en process: vad som ska göras, vad det ska baseras på och hur ett bra resultat ser ut. Codex behåller först bara namnen och beskrivningarna av skills i kontexten och läser in de fullständiga instruktionerna när det bestämmer sig för att använda en.

</div>

Formatet kallas Agent Skills. Det är en öppen standard som ursprungligen utvecklades av Anthropic och publicerades på agentskills.io. Den stöds av olika agenter, bland annat Codex, Claude Code och andra kompatibla klienter. En enkel skill som bara består av textinstruktioner kan överföras mellan dem genom att kopiera mappen. Om den innehåller skript, beroenden eller en `agents/openai.yaml`-fil bör du kontrollera skillen efter överföringen: vissa inställningar är specifika för en viss klient.

Den här inläsningsmetoden kallas successiv informationsvisning. Agenten använder skillens namn och beskrivning för att avgöra när den är relevant. När en uppgift matchar beskrivningen läser agenten hela `SKILL.md` och följer den. Det innebär att du kan ha dussintals skills i Codex utan att alla instruktioner läses in i kontexten: den inledande listan tar upp högst 2 % av kontextfönstret (eller 8 000 tecken om fönstrets storlek är okänd). Om det finns många skills förkortar Codex först deras beskrivningar; om mängden är mycket stor kan vissa utelämnas från listan, och du får ett meddelande om det.

Det är lätt att förväxla en skill med `AGENTS.md`. Codex läser den filen i varje projektsession. Den innehåller stående regler: teknikstack, konventioner och kodningsstil. En skill läses in vid behov när en uppgift matchar den. Lägg därför stående regler i `AGENTS.md` och en återkommande process med steg i en skill.

Hermes Agent-skills fungerar på liknande sätt, men lagras i andra mappar och installeras på ett annat sätt. De behandlas i en separat guide: [Hermes Agent Skills: installation och skapande](https://ailoot.ai/blog/sv/hermes-agent-skills/). Den här artikeln handlar bara om Codex.

## Vad består en skill av?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Som minst har en skill en `SKILL.md`-fil med två obligatoriska fält: `name` och `description`. Du kan också lägga till mapparna `scripts/`, `references/` och `assets/`, samt en `agents/openai.yaml`-fil med inställningar.

</div>

En skill-mapp har den här strukturen:

```
my-skill/
  SKILL.md        - required: metadata and instructions
  scripts/        - optional: executable code
  references/     - optional: documents to load as needed
  assets/         - optional: templates and resources
  agents/
    openai.yaml   - optional: appearance and dependencies
```

Själva `SKILL.md`-filen börjar med ett metadatablock mellan tre bindestreck, följt av instruktionstext i Markdown:

```markdown
---
name: weekly-sales-report
description: Compile a weekly sales report from a CSV export. Use when asked for a weekly sales report or a summary by manager.
---

1. Read the export file at the path provided by the user.
2. Group the rows by manager and calculate the total and number of deals.
3. Compare with the previous week if the file for the previous week is nearby. If it is not there, say so directly in the report.
4. Save the result to report.md: a table by manager, the total, and up to three key changes with figures, as many as the data supports.
```

Tre regler från OpenAI:s officiella rekommendationer:

- En skill, en uppgift. Välj en specifik uppgift i stället för ”Hantera all min marknadsföring”, till exempel ”sammanställ en försäljningsrapport från den här exporten”. Dela upp en större process i separata skills som kan anropas i följd.
- Skriv stegen direkt och ange indata och utdata tydligt: vad som ska användas, vad som ska göras och var resultatet ska placeras.
- Börja med textinstruktioner. Använd skript i `scripts/` när ett steg måste utföras på exakt samma sätt varje gång, till exempel för att konvertera en fil eller anropa ett externt system.

Codex väljer en skill för en uppgift utifrån fältet `description`, så börja beskrivningen med uppgiften och de ord du brukar använda för att beskriva den.

## Var letar Codex efter skills?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Codex letar efter skills på fyra nivåer: i projektets `.agents/skills`-mapp (den kontrollerar den aktuella mappen och varje överordnad mapp upp till repositoryts rot), i den personliga mappen `$HOME/.agents/skills`, i systemmappen `/etc/codex/skills` och bland OpenAI:s inbyggda skills.

</div>

| Nivå | Sökväg | Syfte |
|----|----|----|
| Projekt | `.agents/skills` i den aktuella mappen och dess överordnade mappar upp till repositoryts rot | Skills för ett visst projekt, som kan lagras i git tillsammans med koden |
| Användare | `$HOME/.agents/skills` | Dina personliga skills, tillgängliga i alla projekt på datorn |
| System | `/etc/codex/skills` | Skills som delas av alla användare på datorn eller i containern |
| Inbyggt | Ingår i Codex | Grundläggande skills från OpenAI, till exempel skill-skaparen |

Det är praktiskt att lagra projektskills i git tillsammans med koden, så att hela teamet får samma uppsättning. Personliga skills passar bra för dina egna processer, till exempel din e-poststil. Om två skills på olika nivåer har samma namn slår Codex inte ihop dem: båda visas i listan, vilket gör det svårare att välja. Se till att namnen är unika.

Som jämförelse lagras Claude Code-skills i `.claude/skills`, var och en med sin egen `SKILL.md`, och använder samma öppna standard. En enkel skill kan överföras dit genom att kopiera mappen. Kör den sedan och kontrollera att den anropas. En jämförelse av Claude Code-tillägg finns i [Skills, Subagents, MCP eller Plugins](https://ailoot.ai/blog/sv/skills-subagents-mcp-plugins-claude-code/).

## Hur avgör Codex vilken skill som ska anropas?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Du kan anropa en skill uttryckligen: i Codex CLI eller IDE-tillägget skriver du `$skill-name` i din begäran eller väljer den via `/skills`. Vid implicit anrop väljer Codex en skill automatiskt om din uppgift matchar beskrivningen. Skillen måste vara tillgänglig och automatiskt anrop måste vara tillåtet.

</div>

Uttryckligt anrop är mer tillförlitligt i början: i Codex CLI skriver du `$weekly-sales-report` för att välja just den processen. Implicit anrop är smidigare i det dagliga arbetet. När du har skrivit en skill testar du den med vanliga formuleringar: be Codex utföra uppgiften med dina egna ord, utan `$`, och se om den väljer skillen. Om den inte gör det kontrollerar du först om Codex kan se skillen i `/skills`, om den finns i någon av laddningsmapparna och om skillen eller dess automatiska anrop är inaktiverat. Om den är tillgänglig och inställningarna stämmer kan du finslipa `description`: ange uppgiften och typiska sätt att formulera begäran.

Om du bara vill att en skill ska vara tillgänglig via ett uttryckligt kommando kan du konfigurera det också: i `agents/openai.yaml` inaktiverar parametern `allow_implicit_invocation: false` automatiskt anrop, medan `$name` fortsätter att fungera. Du kan inaktivera en skill helt utan att radera den via `~/.codex/config.toml`:

```toml
[[skills.config]]
path = "/full/path/to/the/skill/SKILL.md"
enabled = false
```

Starta om Codex när du har redigerat `config.toml`. Codex hämtar ändringar i skill-mappar automatiskt, men om en ny skill inte visas startar du om Codex.



## Så skapar du en egen skill: steg för steg

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Välj en återkommande uppgift, skapa en skill med den inbyggda assistenten `$skill-creator` eller manuellt, skriv instruktioner med ett tydligt definierat resultat, testa anropet med vanliga formuleringar och förfina skillen efter varje körning.

</div>

1.  ### Välj en uppgift

    Välj en process du upprepar regelbundet och som har ett tydligt resultat: en rapport, tabell, ett brev eller en analys. Om du aldrig har fått den typen av resultat tidigare genomför du först uppgiften manuellt med en agent. Använd resultatet som riktmärke för instruktionerna.

2.  ### Skapa en skill

    Om du vill skapa en skill med den inbyggda assistenten skriver du `$skill-creator` i en Codex-session. Den frågar vad skillen gör, när den ska anropas och om skript behövs, och bygger sedan upp strukturen åt dig. Om du vill skapa en manuellt gör du en `.agents/skills`-mapp i projektet med en undermapp för skillen, till exempel `.agents/skills/weekly-sales-report`, och lägger en `SKILL.md`-fil i den med exemplet ovan som grund.

3.  ### Skriv instruktionerna

    Skriv stegen som en numrerad lista med tydliga indata och utdata. Om processen kräver precision (dataöverföring, namnbyte, beräkningar) beskriver du varje steg i detalj. För kreativa uppgifter (textförfattande, val av argument) anger du ramar och kriterier för ett bra resultat, samtidigt som modellen får utrymme att arbeta.

4.  ### Testa anropet

    Be Codex göra uppgiften med dina egna ord, utan att nämna skillen. Om rätt skill väljs fungerar beskrivningen för den formuleringen. Testa sedan uttryckligt anrop med `$name`. Om skillen inte anropas kontrollerar du mappen, om den visas i `/skills` och inställningarna för att inaktivera den som beskrivs ovan. Om en ny skill inte visas i listan startar du om Codex. Om uttryckligt anrop fungerar och automatiskt anrop är tillåtet, men Codex inte reagerar på en begäran formulerad med dina egna ord, förfinar du början av `description`: ange uppgiften först och sedan typiska sätt att formulera den. Testa igen.

5.  ### Förfina efter körningar

    Efter varje körning granskar du resultatet och berättar för agenten vad den ska ändra i skillen: ”Nästa gång, lägg till en kolumn som visar andelen i sammanfattningstabellen.” Förfina skillen för kreativt arbete utifrån återkoppling om den första versionen inte ger det resultat du behöver.

Färdiga skills från OpenAI och communityn installeras med `$skill-installer` och skillens namn. Om du vill dela dina egna skills med andra distribuerar du dem som plugins – en separat paketeringsmetod som inte behövs för personligt bruk.

## Så kontrollerar du agentens resultat

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Skriv in acceptanskriterierna direkt i skillen: vad resultatet måste innehålla och hur agenten ska kontrollera sitt arbete innan det lämnas över. Det garanterar inte att resultatet är korrekt; du måste fortfarande kontrollera det själv.

</div>

Kontrollerna kan vara objektiva eller subjektiva. Objektiva kontroller går att mäta: ”rapporten innehåller alla 12 chefer från exporten” eller ”tabellens summa stämmer med CSV-totalen”. Ange dem som fasta krav. Subjektiva kontroller handlar om kvalitet: ”texten låter som jag” eller ”slutsatserna är kortfattade”. Du kan även göra dem mer konkreta: ta med ett exempel på en bra formulering i skillen och be agenten jämföra sitt resultat med exemplet.

En användbar metod är en granskningscykel: efter att resultatet har förberetts går agenten igenom en lista med kriterier, rättar det den hittar och visar det sedan för dig. Anthropic har ett liknande mönster som kallas evaluator-optimizer: en agent utför arbetet, en separat utvärderare granskar det och lämnar återkoppling, och processen upprepas tills resultatet godkänns. I en enskild skill är det vanligtvis en förenklad variant – en slutlig självkontroll mot en lista. Tänk på begränsningen: den är svagare än en oberoende utvärderare, eftersom agenten som utför arbetet kanske inte upptäcker sina egna misstag.

Exempel på ett kontrollblock för vår rapport:

```markdown
## Innan du skickar in, kontrollera
- Alla chefer från exporten finns med i tabellen; ingen har utelämnats.
- Totalsumman stämmer med CSV-summan på öret.
- Varje viktig förändring styrks av en siffra; om jämförelsedata saknas står det tydligt i rapporten.
- Filen är sparad som report.md och sökvägen har delats med användaren.
```

## Vilken modell ska du välja för en skill?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Börja med modellen som skillen fungerade på och testa sedan billigare modeller: behåll den billigare om kvaliteten håller. API-priser och utgångspunkter för de första körningarna anges nedan – per den 20 september 2026.

</div>

| Modell | Indata, $/miljon tokens | Utdata, $/miljon tokens | Vad du kan testa den på först |
|----|----|----|----|
| GPT-6 Astra | 10 | 50 | Skills som omfattar längre resonemang, bilder och webbläsaranvändning |
| GPT-5.6 Sol | 4 | 20 | Textskills med medelhög komplexitet |
| GPT-5.6 Terra | 2.50 | 15 | Enkla processer med ett tydligt resultat |
| GPT-5.6 Luna | 0.20 | 1.20 | Mekaniska uppgifter: omformatering, beräkning, sammanställning av en lista |

Kolumnen längst till höger föreslår uppgifter för inledande kontroller. Den är varken en rangordning eller resultatet av en jämförelse: du kan välja rätt modell för din skill först efter att ha kört den och jämfört med riktmärkesresultatet.

Priserna i tabellen är API-priser från modellsidorna per den 20 september 2026, inte priser för ChatGPT-abonnemang. Vid användning av ett abonnemang dras användningen från dess gränser. Per detta datum har Sol ett kampanjpris på $4/$20 åtminstone till och med den 21 november 2026; standardpriset är $5/$30. Kontrollera prissidan innan en stor återkommande körning: OpenAI:s kampanjer ändras.

Kör samma skill med nästa billigare modell och jämför resultatet med riktmärket. Om kvaliteten håller testar du nästa ännu billigare modell. Om kvaliteten sjunker går du tillbaka till den föregående. Modeller har också olika insatsnivåer: Astra sträcker sig från low till max och 5.6-familjen från none till max. Testa även dessa mot samma riktmärke: välj först modell och sedan insatsnivå.

Regelbunden användning av en skill medför återkommande kostnader. Astras indatapris är 50 gånger Lunas, så olika modeller för samma återkommande skill kan ge märkbart olika kostnader. För en skill som analyserar skärmbilder och dokument kan en svagare modell kosta mer eftersom den kräver omarbete.

## Vanliga misstag när du skapar och använder en skill

- En skill ”för allt”. En process, en skill – det är också OpenAI:s rekommendation. Det är svårt att beskriva en universell skill på tio sidor precist, och Codex väljer en skill för en uppgift utifrån dess beskrivning.
- En vag beskrivning. ”Hjälper till med rapporter” gör det inte tydligt vilken typ av rapporter skillen är till för. Börja `description` med uppgiften och vanliga sätt att formulera den.
- Instruktioner utan ett definierat resultat. Om du inte anger vad som ska skapas och var det ska placeras kan resultaten variera från körning till körning.
- Inga kontroller alls. Utan ett sista steg med kriterier kan resultatet bli ett ofärdigt utkast som du själv måste granska i sin helhet.
- Den mest kapabla modellen som standard. Kontrollera först om en billigare modell klarar uppgiften: kör samma skill och jämför resultatet med riktmärket. Byt bara om kvaliteten håller.
- Samma namn i olika mappar. Codex slår inte ihop skills med samma namn, vilket gör det svårare att välja rätt.

## Så kommer du igång och överför en skill till Claude Code

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Viktigaste punkten">

Viktigaste punkten

Välj en återkommande process, skapa en skill med `$skill-creator`, testa anropet med dina egna formuleringar och lägg till ett sista steg med acceptanskriterier. Efter några körningar förfinar du beskrivningen och instruktionerna utifrån de fel du upptäcker.

</div>

Om du arbetar med flera agenter kan du överföra en mapp som bara innehåller textinstruktioner och en `SKILL.md`-fil till Claude Code. Där lagras skills i `.claude/skills` och anropas med `/name`. Kontrollera skillen efter överföringen om den innehåller skript, beroenden eller `agents/openai.yaml`. Läs [Claude Code Skills: så bygger du ditt eget bibliotek](https://ailoot.ai/blog/sv/claude-code-skills-library/) för en guide till Claude Codes skillbibliotek och [Codex jämfört med Claude Code](https://ailoot.ai/blog/sv/codex-vs-claude-code-choice/) för en jämförelse av Codex och Claude Code.

<div class="section" role="doc-bibliography" aria-label="Källor">

### Källor

- [OpenAI Developers: Bygg skills – Codex-dokumentation](https://developers.openai.com/codex/skills)
- [OpenAI Developers: Översikt över Codex](https://developers.openai.com/codex/)
- [OpenAI Platform: Modeller och API-priser](https://platform.openai.com/docs/models)
- [Agent Skills: Öppen standard och specifikation](https://agentskills.io)
- [Anthropic Docs: Utöka Claude med skills](https://docs.claude.com/en/docs/claude-code/skills)
- [Anthropic Engineering: Bygga effektiva agenter](https://www.anthropic.com/engineering/building-effective-agents)
- [OpenAI Developers: Bygg plugins](https://developers.openai.com/plugins/build/plugins)

</div>





[Öppna Ailoot](https://ailoot.ai/).

## Frågor om den här guiden: Codex Skills: Skapa en skill för återkommande uppgifter

### Varför fungerar uttryckligt anrop men inte automatiskt skill-val?

Kontrollera att skillen syns i /skills och att implicit anrop är aktiverat. Om båda stämmer förfinar du beskrivningen så att den börjar med uppgiften och innehåller orden du normalt använder. Testa sedan samma vanliga förfrågan igen.

### Vad verifierar jag i en försäljningsrapport-skills utdata?

Kontrollera att varje säljare i indataexporten finns med, att totalsumman stämmer med källdata, att varje påstådd förändring stöds av siffror och att begärd rapportfil har sparats. Om föregående period saknas ska rapporten säga det.


## Ailoot · Företaget och dess projektportfölj

Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
