---
title: "Lær agenten din én gang: Skills i Elyra v0.7.1"
url: https://kwhorne.com/blog/laer-agenten-din-en-gang-skills-i-elyra-v071
author: "Knut W. Horne"
published: 2026-05-21T20:02:02+02:00
updated: 2026-05-21T20:02:58+02:00
category: "Elyra"
tags: ["AI", "Tech Insights", "Noteworthy News"]
language: nb-NO
---

# Lær agenten din én gang: Skills i Elyra v0.7.1

> Det er et øyeblikk i ethvert langvarig prosjekt der du innser at du har forklart det samme til AI-agenten fire ganger denne uka. "Vi bruker repository-mønsteret." "Tester ligger i tests/Feature/." "Kjør alltid Pint før du committer." "API-et returnerer paginerte svar med en meta-nøkkel."

<p>Hver gang følger agenten instruksen perfekt. Og hver gang er det glemt til neste økt.</p><p>Skills løser dette. Du skriver instruksen én gang, som en markdown-fil, og agenten laster den automatisk når oppgaven matcher.</p><h2>Hva er en skill</h2><p>En skill er en mappe med en <code>SKILL.md</code>-fil inni. Fila har YAML-frontmatter som forteller agenten når den skal brukes, og en markdown-body som forteller hva den skal gjøre.</p><pre><code>.elyra/skills/api-conventions/SKILL.md
</code></pre><pre><code class="language-markdown">---
name: api-conventions
description: API response formatting and error handling conventions. Use when building or modifying API endpoints, writing controllers, or handling API errors.
---

# API Conventions

## Response Format

All API responses use this structure:

```json
{
  "data": { ... },
  "meta": { "current_page": 1, "last_page": 5, "total": 47 }
}
```

## Error Responses

Use standard HTTP status codes. Always return:

```json
{
  "message": "Human-readable error",
  "errors": { "field": ["Validation message"] }
}
```

## Rules

- Always validate requests with Form Requests
- Always return JSON, never views
- Use API Resources for response transformation
- Paginate collections by default (15 per page)
</code></pre><p>Når noen ber agenten om å bygge et API-endepunkt, ser den beskrivelsen til denne skillen, kjenner igjen at oppgaven matcher, laster inn de fulle instruksene, og følger dem. Hvert endepunkt kommer ut konsistent. Ingen reforklaring.</p><h2>Hva som er nytt i v0.7.1</h2><h3>Anthropic-kompatibilitet</h3><p>Skill-formatet i Elyra er nå fullt kompatibelt med Anthropics Agent Skills-spesifikasjon. Hvis du har bygget skills for Claude.ai, fungerer de i Elyra uten endring. Og skills du bygger i Elyra fungerer i Claude.ai.</p><p>Frontmatteren støtter alle standardfeltene:</p><pre><code class="language-yaml">---
name: my-skill
description: What it does. Use when user asks to...
license: MIT
compatibility: Requires Node.js 20+
allowed-tools: "Bash(python:*) WebFetch"
metadata:
  author: Your Name
  version: 1.0.0
  category: workflow
---
</code></pre><p><code>allowed-tools</code> begrenser hvilke verktøy agenten kan bruke når skillen er aktiv. <code>compatibility</code> dokumenterer krav. <code>metadata</code> holder vilkårlige nøkkel-verdi-par for organisering og oppdagelse.</p><h3>Scripts og references</h3><p>Skills kan nå inneholde kjørbare skript og referansedokumenter:</p><pre><code>my-skill/
├── SKILL.md
├── scripts/
│   ├── validate.py
│   └── generate-report.sh
└── references/
    ├── api-guide.md
    └── style-guide.md
</code></pre><p><code>scripts/</code>-mappa inneholder kode agenten kan kjøre. <code>references/</code>-mappa inneholder dokumentasjon agenten kan lese når den trenger dypere kontekst.</p><p>Begge oppdages automatisk og eksponeres for agenten i systemprompten. Når en skill har skript, vet agenten at de finnes og kan kalle dem:</p><pre><code class="language-markdown"># In your SKILL.md:

Before submitting, run the validation script:

```bash
python scripts/validate.py --input {filename}
```

If validation fails, check `references/api-guide.md` for the correct format.
</code></pre><p>Dette er kraftig for skills som koder komplekse arbeidsflyter. I stedet for å beskrive en valideringsalgoritme i naturlig språk (der agenten kan tolke den løst), skriver du selve valideringen i Python (der den er deterministisk) og lar agenten kjøre den.</p><h3>/skills-kommandoen</h3><pre><code>/skills
</code></pre><p>Lister opp hver lastet skill med navn, beskrivelse, antall skript og referanser, og hvor den kommer fra (hvilken extension eller lokal mappe). Nyttig for å forstå hvilken kunnskap agenten har tilgang til akkurat nå.</p><h2>Tre nivåer av åpenbaring</h2><p>Skills bruker progressive disclosure for å minimere token-bruk:</p><p><strong>Nivå 1: Frontmatter.</strong> Alltid i systemprompten. Bare navn og beskrivelse — nok til at agenten vet når skillen er relevant. Dette koster noen få tokens per skill.</p><p><strong>Nivå 2: SKILL.md-body.</strong> Lastes inn bare når agenten avgjør at skillen matcher den aktuelle oppgaven. Inneholder de fulle instruksene. Koster bare tokens når den faktisk brukes.</p><p><strong>Nivå 3: References.</strong> Leses på forespørsel. Agenten navigerer til <code>references/</code>-filer bare når den trenger spesifikke detaljer. Holder hovedinstruksene slanke.</p><p>Et prosjekt med 20 lastede skills brenner ikke 20 ganger så mange tokens. Frontmatteren for alle 20 er kanskje 500 tokens totalt. Body-en til den ene som er relevant er kanskje 1000. Og referanser lastes bare hvis det trengs.</p><h2>Praktiske skill-eksempler</h2><h3>Kodegjennomgang-sjekkliste</h3><pre><code>.elyra/skills/code-review/SKILL.md
</code></pre><pre><code class="language-markdown">---
name: code-review
description: Code review checklist and standards. Use when reviewing code, pull requests, or when asked to check code quality.
---

# Code Review Standards

Check in this order:

1. **Security**: SQL injection, XSS, auth bypasses, data exposure
2. **Correctness**: Logic errors, edge cases, null handling
3. **Tests**: Coverage, meaningful assertions, edge case tests
4. **Performance**: N+1 queries, missing indexes, expensive loops
5. **Conventions**: Naming, structure, patterns per project rules

Flag issues as:
- CRITICAL: Must fix before merge
- WARNING: Should fix, but not blocking
- SUGGESTION: Nice to have
</code></pre><h3>Migrasjons-arbeidsflyt</h3><pre><code>.elyra/skills/migration-workflow/SKILL.md
</code></pre><pre><code class="language-markdown">---
name: migration-workflow
description: Database migration creation and safety checks. Use when creating migrations, modifying schema, or adding database columns.
---

# Migration Workflow

## Before Creating

1. Check existing schema with `get_database_schema`
2. Verify the table exists (or doesn't, for new tables)
3. Check for existing indexes that might conflict

## Rules

- Never modify existing migration files
- Always add `-&gt;after('column_name')` for column ordering
- Foreign keys need explicit index names
- Add `-&gt;index()` on all foreign key columns
- Use `nullOnDelete()` for optional relationships
- Large tables: use `--step` flag for reversible migrations

## After Creating

1. Run `php artisan migrate` to verify
2. Run `php artisan migrate:rollback` to verify reversibility
3. Check that seeders still work
</code></pre><h3>Deploy-sjekkliste</h3><pre><code>.elyra/skills/deploy/SKILL.md
</code></pre><pre><code class="language-markdown">---
name: deploy
description: Pre-deployment verification checklist. Use when preparing to deploy, release, or push to production.
---

# Pre-Deploy Checklist

1. All tests pass (`npm run test` or `php artisan test`)
2. No uncommitted changes (`git status` is clean)
3. Changelog updated with new entries
4. Version bumped in package.json
5. Documentation reflects recent changes
6. No TODO/FIXME in changed files
7. Environment variables documented if new ones added
8. Migration tested (up and rollback)

Do NOT proceed with deploy if any check fails.
Report which checks passed and which failed.
</code></pre><h2>Hvor skills bor</h2><p><strong>Prosjekt-lokalt</strong> (<code>.elyra/skills/</code>): Delt med teamet via git. Alle får de samme konvensjonene.</p><p><strong>Globalt</strong> (<code>~/.elyra/agent/skills/</code>): Personlig for deg. Arbeidsflyter og preferanser som følger deg på tvers av prosjekter.</p><p><strong>Extensions</strong>: Hver installerte extension kan ha skills med seg. <code>@elyracode/swarm</code> kommer med en skill som lærer agenten når den skal bruke multi-agent-pipelines. <code>@elyracode/docker</code> kommer med en skill for container-bevissthet.</p><p>Prosjekt-lokale skills har prioritet om navn kolliderer. Prosjektets konvensjoner overstyrer globale defaults.</p><h2>Bygg skills som varer</h2><p><strong>Skriv for den neste utvikleren.</strong> Skillen din vil bli lest av en AI, men målgruppa er mennesket som kommer etter deg. Hvis et nytt teammedlem leser <code>SKILL.md</code>-en din og forstår arbeidsflyten, vil AI-en også gjøre det.</p><p><strong>Vær spesifikk om triggere.</strong> Beskrivelsesfeltet avgjør når skillen lastes. "Hjelper med kode" trigger ikke. "Use when building API endpoints, creating controllers, or modifying route files" gjør det.</p><p><strong>Legg deterministisk logikk i skript.</strong> Hvis arbeidsflyten din har et valideringssteg, en utregning eller en formatsjekk, skriv det som kode i <code>scripts/</code> framfor å beskrive det i naturlig språk. Kode hallusinerer ikke.</p><p><strong>Hold SKILL.md fokusert.</strong> Flytt dyp dokumentasjon til <code>references/</code>. Hovedinstruksene skal være skannbare — nummererte steg, punktlister, klare regler. Spar forklaringene til referansefiler som agenten leser på forespørsel.</p>
