Skill mining: Fra 3500 kandidater til 466 evner
> Vi siktet gjennom 3500 skill-kandidater og tok i bruk 466. En systematisk mining- og innlemmingsløkke for å bygge et sammenhengende skill-bibliotek for AI-agenter i stor skala.
Tallene i dette innlegget gjenspeiler systemet ved publisering (januar 2026). Se teamsiden for gjeldende tall.
3500-skill-problemet
Da vi begynte å bygge et orkestreringssystem for agenter, sto vi overfor en interessant utfordring: det finnes tusenvis av potensielle skills spredt utover AI-økosystemet. GitHub-repositorier, leverandørdokumentasjon, community-prosjekter, interne mønstre — skills finnes overalt. Men hvilke betyr noe? Hvilke fungerer? Og hvordan vedlikeholder man et sammenhengende skill-bibliotek som agenter faktisk kan bruke?
Svaret vårt: en systematisk mining- og innlemmingsløkke.
Tallene i dag
Bare litt over tre måneder etter at Anthropic lanserte Agent Skills 16. oktober 2025, var dette stillingen da dette innlegget ble publisert 27. januar 2026:
| Metrikk | Antall |
|---|---|
| Identifiserte kandidater | 3500+ |
| Adopterte skills | 466 |
| Leverandørskills (vendor) | 373 |
| Interne skills | 93 |
| Aktive leverandører | 25+ |
| Gjennomsnittlige tokens per skill | 2834 |
| Refererte verktøy | 89 |
| Unike tagger | 635 |
Vi har gjennomgått over 3500 skill-kandidater. Vi har adoptert 466. Det er en adopsjonsrate på 13 % — og den selektiviteten er bevisst.
Kunnskapsnivåsystemet
Ikke alle skills er skapt like. Vi organiserer dem i fem kunnskapslag (K0–K4), hvert med et forskjellig anvendelsesomfang:
K0: Foundations (universelt)
Skills alle agenter bør ha. Disse representerer «god tenker»-kapabiliteter som fungerer overalt.
foundations/
├── test-first-discipline # TDD: Red-Green-Refactor
├── evidence-based-completion # Verify before claiming done
├── systematic-debugging # Root cause methodology
├── structured-planning # Break work into tasks
└── context-budget-awareness # Manage token consumption
K0-skills er portable til ethvert prosjekt, ethvert domene, enhver stack. De koder for universelle kognitive mønstre.
K1: Identities (disiplin)
«God ingeniør»- eller «god forsker»-skills som gjelder på tvers av prosjekter innenfor en disiplin.
identities/
├── research-workflows # Multi-source research
├── web-extraction-playbook # Content extraction
├── code-review # PR review patterns
└── cli-interface-standards # CLI design patterns
K2: Domains (fagekspertise)
«God databaseekspert»- eller «god sikkerhetsingeniør»-skills, portable innenfor et felt.
domains/
├── schema-migration-workflow # Safe migration patterns
├── rpc-validation-checklist # RPC health checks
├── auth-validation-checklist # JWT/OAuth patterns
└── secrets-audit-checklist # Credential scanning
K3: Stacks (teknologi)
«God Supabase-bruker»- eller «god Cloudflare-utvikler»-skills for spesifikke teknologistacker.
stacks/
├── maguyva-quickstart # Our semantic search patterns
├── cloudflare-deployment # Workers/Pages deployment
└── mcp-tool-best-practices # MCP tool selection
K4: Project (organisasjon)
Skills spesifikke for vår organisasjon og våre arbeidsflyter.
project/
├── agent-creation-workflow # How we build agents
├── skill-authoring-workflow # How we write skills
├── mining-session-workflow # This very process
└── vendor-skill-evaluation # Evaluation rubrics
Mining-løkken
Fase 1: Oppdagelse
Skills kommer fra overalt:
Leverandørrepositorier: AWS, Anthropic, Cloudflare, Supabase, og community-bidragsytere publiserer skill-samlinger. Vi følger 25+ leverandørrøtter.
Community-prosjekter: GitHub er fullt av Claude Code-maler, agentmønstre og arbeidsflytdefinisjoner.
Interne mønstre: Etter hvert som teamet vårt løser problemer, oppstår mønstre. Disse formaliseres til skills.
Dokumentasjonsmining: Teknisk dokumentasjon inneholder ofte implisitte skills — prosedyrer, sjekklister, beslutningstrær.
Oppdagelse er kontinuerlig. Vi bruker en skill-backlog for å spore kandidater før formell evaluering.
Fase 2: Evaluering
Hver kandidat går gjennom den samme rubrikken:
adoption_criteria:
- fills_real_gap: true # We lack this capability
- well_structured: true # Progressive disclosure
- actively_maintained: true # Commits in last 6 months
- portable: true # Not hyper-specific
- tested: true # Evidence of usage
Alle fem produktkriterier må bestå. Det er derfor 87 % av kandidatene avvises.
Deretter går hver kandidat gjennom en separat tillitsgjennomgang. Vi behandler ikke et offisielt leverandørrepositorium, en velkjent community-vedlikeholder, og et tilfeldig GitHub-repo som likeverdige sannhetskilder.
trust_review:
vendor_credibility:
- ownership_verified # Official vendor, known maintainer, or internal source
- maintenance_signal # Recent commits, issue response, release history
- adoption_signal # Evidence of real use, stars alone are not enough
- provenance_clear # We can trace where the skill came from
prompt_injection_scan:
- hidden_instruction_check # Buried "ignore previous instructions" patterns
- exfiltration_check # Prompts that try to leak files, secrets, or context
- authority_check # Claims of priority over system or developer rules
script_audit:
- inspect_scripts # Read shell/python/js helpers before adoption
- network_and_exec_review # curl|bash, remote downloads, subprocess execution
- file_and_secret_review # Env vars, credential access, broad file writes
- destructive_action_check # rm, reset, overwrite, or unsafe automation
Betrodde leverandører får en lettere herkomstgjennomgang, men ikke fribillett. Ikke-betrodde eller ukjente kilder får en dypere manuell revisjon, og vi kjører ikke medfølgende skript før de er lest, avgrenset, og klassifisert som trygge.
Gap-analyse: Før vi adopterer, søker vi i registeret vårt:
uv run orkestra skills search "<capability>"
Hvis vi allerede har det, trenger vi det ikke. Hvis vi har noe likt, kan vi heller slå sammen enn å adoptere.
Dybde- og standardscoring: Vi scorer også hvor fullt ut en kandidat bruker agent-skill-modellen. Et ensomt SKILL.md kan fortsatt være nyttig, men dypere skills er mer verdifulle når de skiller instruksjoner fra referanser, skript og ressurser på den måten agentskills.io oppmuntrer til.
skill_depth:
- level_1: SKILL.md only # Single instruction file
- level_2: SKILL.md + strong description # Clear triggers and scope
- level_3: adds references/ # Load docs only when needed
- level_4: adds atomic scripts/ # Small, reviewable helpers
- level_5: adds assets/examples/templates # Full progressive disclosure
depth_signals:
- standards_adherence # Structure aligns with agentskills.io conventions
- reference_quality # Curated references, not giant context dumps
- script_atomicity # Focused helpers, not opaque monoliths
- tool_boundary_clarity # Clear limits on what the skill can execute
- community_signal # Stars/forks/users help, but only as a weak boost
GitHub-stjerner kan løfte en troverdighetsscore litt, men de redder aldri en overfladisk eller utrygg skill. Et repo med mange stjerner og én vag SKILL.md og uklare skript scorer under et mindre repo med en presis beskrivelse, kuraterte references/, og atomiske hjelpere som faktisk utnytter hele skill-kapabiliteten.
Strukturell analyse: Vi sjekker skill-kvalitet:
wc -l vendor/<repo>/<skill>/SKILL.md # Size check
ls vendor/<repo>/<skill>/scripts/ # Supporting files
ls vendor/<repo>/<skill>/references/ # Bundled docs
Hvis en kandidat inkluderer skript, blir den gjennomgangen strengere. En god skill er ikke bare nyttig; den må være lesbar, avgrenset, og trygg å overlate til en agent. Den sikkerhetsfilteret alene diskvalifiserer en betydelig andel av ellers interessante kandidater.
Fase 3: Innlemming
Når en skill består evalueringen, går den inn i registeret. Men skills adopteres aldri uendret. De modifiseres for å passe systemet vårt.
Modifikasjoner ved adopsjon:
- Metadatanormalisering: Hver skill får frontmatter-skjemaet vårt
- K-nivå-tildeling: Skills plasseres i riktig kunnskapslag
- Tag-berikelse: Tagger legges til for oppdagbarhet
- Verktøydeklarasjon: Tillatte verktøy deklareres eksplisitt
- Seksjonstilpasning: Innhold restruktureres til å matche malen vår
En typisk skill-YAML etter innlemming:
metadata:
identifier: vendor-skill-evaluation
name: vendor-skill-evaluation
description: Systematic evaluation of vendor skills for adoption.
type: workflow
layer: K4
semantic_folder: project
source: core
last_updated: '2026-01-17'
frontmatter:
tags:
- agents
- meta
- skill-adoption
- vendor
allowed_tools:
- Bash
- Read
- Write
- Edit
- Grep
- Glob
- Task
Fase 4: Omfangstildeling
Skills tildeles omfang (scopes) — kategorier som avgjør hvilke agenter som laster hvilke skills:
scopes:
database:
primary_skills:
- domains/schema-migration-workflow
- domains/rpc-validation-checklist
- vendor/supabase/supabase-database
- vendor/supabase/supabase-auth
research:
primary_skills:
- identities/research-workflows
- identities/web-extraction-playbook
- identities/dataset-discovery-quickstart
Agenter deklarerer sine omfang, og skills tildeles automatisk:
# Agent definition
scopes: [database, research]
# Gets: all database skills + all research skills + universal skills
Fase 5: Materialisering
Skills lever ikke som YAML i produksjon. De rendres til SKILL.md-filer som Claude Code kan laste:
uv run orkestra sync
Denne kommandoen:
- Leser alle skill-YAML-definisjoner
- Rendrer dem gjennom Jinja-maler
- Skriver SKILL.md-filer til
.claude/skills/ - Organiserer etter K-nivå (foundations/, identities/, domains/, stacks/, project/)
Den endelige resultatstrukturen:
.claude/skills/
├── foundations/ # K0: Universal
├── identities/ # K1: Discipline
├── domains/ # K2: Subject
├── stacks/ # K3: Technology
├── project/ # K4: Organization
└── vendor/ # External skills
Det sovende omfangs-mønsteret
Ett av våre kraftigste mønstre er «adoptert-men-ikke-lastet»-skills. Vi kaller disse sovende omfang (dormant scopes).
Ta for eksempel vitenskapelige databehandlings-skills fra k-dense-scientific-repositoriet. Vi har adoptert 120+ skills som dekker bioinformatikk, kjemi, kvantedatabehandling, og klinisk informatikk. Men de fleste av agentene våre trenger ikke molekylær docking eller genuttrykksanalyse.
I stedet for å laste alle 120 skillsene inn i hver agent (som blåser opp kontekstvinduene), gjør vi:
- Adopterer skillsene med et spesifikt omfang (f.eks.
bioinformatics) - Holder dem sovende — registrert, men ikke lastet
- Aktiverer dem bare når en agent deklarerer det omfanget
# In scopes.yaml - dormant scope
bioinformatics:
description: "Bioinformatics and genomics"
primary_skills: [] # Empty - skills exist but aren't loaded
# When an agent needs bioinformatics:
# Agent YAML
scopes: [research, bioinformatics] # Now loads bioinformatics skills
Dette mønsteret lar oss ha 466 skills i registeret mens typiske agenter bare laster 40–60 relevante.
Skill-typer
Skills kommer i tre kognitive mønstre:
Workflow
Ordnede prosedyrale steg: «1. Gjør X, 2. Deretter Y, 3. Til slutt Z»
type: workflow
# Examples: schema-migration-workflow, mining-session-workflow
Discipline
Atferdsvern: «Alltid X», «Aldri Y», «Foretrekk Z»
type: discipline
# Examples: test-first-discipline, evidence-based-completion
Checklist
Verifiseringskriterier: «Bekreft X», «Verifiser Y», «Sjekk Z»
type: checklist
# Examples: auth-validation-checklist, secrets-audit-checklist
Kvalitetsporter
Hver skill må bestå validering før den shippes:
validation:
file_exists: true # Skill file at declared path
frontmatter_valid: true # Frontmatter parses correctly
sections_complete: true # Expected sections present
tools_registered: true # Declared tools exist in registry
Beskrivelser må være 50–400 tegn med utløserfraser («Use when…», «When you need…») slik at Claude Code vet når den skal foreslå dem.
Vi validerer kontinuerlig:
uv run orkestra validate --show-warnings
Leverandørøkosystemet
Våre 373 leverandørskills kommer fra:
| Leverandør | Skills | Domene |
|---|---|---|
| AWS Agent | 19 | Skytjenester |
| Anthropic | 12 | Dokumentgenerering |
| Cloudflare | 8 | Edge computing |
| Supabase | 5 | Database |
| k-dense | 100+ | Vitenskapelig databehandling |
| silvainfm | 4 | Data science |
| Java Developer Kit | 45+ | Spring/Java |
| Vercel | 1 | Nettleserautomatisering |
Hver leverandørrot deklareres i metadata.yaml:
vendor_roots:
- path: vendor/aws-agent-skills
provider: aws
- path: vendor/k-dense-scientific/scientific-skills
provider: k-dense
- path: vendor/supabase-skills
provider: supabase
Når orkestra sync kjører, symlinkes leverandørskills inn i .claude/skills/vendor/ med sitt leverandørnavnerom.
Hva vi har lært
Selektivitet lønner seg. Det er fristende å adoptere alt som ser nyttig ut. Men hver skill koster tokens. Med 2834 tokens i gjennomsnitt per skill, skader oppblåsthet raskt. Vår adopsjonsrate på 13 % holder agenter slanke.
Struktur muliggjør oppdagelse. K-nivåsystemet handler ikke bare om organisering — det handler om portabilitet. K0-skills kan gjenbrukes hvor som helst. K4-skills er bevisst prosjektspesifikke. Denne klarheten hjelper både mennesker og agenter å finne det de trenger.
Sovende omfang skalerer. Du kan adoptere hundrevis av skills uten å laste dem alle. Omfang lar deg bygge et omfattende register samtidig som du holder den enkelte agents kontekstvindu håndterlig.
Modifikasjon ved adopsjon er essensielt. Rå leverandørskills passer sjelden systemet ditt. Innlemmingsprosessen — å legge til metadata, tildele nivåer, berike tagger — gjør at eksterne skills fungerer internt.
Mining er kontinuerlig. 3500-tallet fortsetter å vokse. Nye leverandørrepositorier dukker opp. Community-mønstre oppstår. Interne arbeidsflyter befestes. Løkken stopper aldri.
Hva som kommer
Vi jobber med flere forbedringer:
- Automatisert gap-deteksjon: Varsle når vanlige agentfeil kunne vært løst av en ikke-adoptert skill
- Arbeidsflyter for utfasing av skills: Formell prosess for å pensjonere skills som er erstattet eller ubrukt
- Avhengigheter på tvers av skills: Eksplisitt deklarering av skill-forutsetninger
- Bruksanalyse: Spor hvilke skills agenter faktisk påkaller versus bare laster
Mining-løkken for skills er infrastruktur. Den er ikke glamorøs. Men det er den som gjør at 41 agenter fungerer sammenhengende med 466 kapabiliteter, samtidig som de holder seg innenfor kontekstgrensene.
Det er historien om hvordan 3500 blir 466. Ikke ved å ignorere 3000 — men ved å evaluere dem systematisk og bare adoptere det som fungerer.
Vil du se skill-systemet i aksjon? Sjekk ut uv run orkestra skills list for å utforske det gjeldende registeret vårt.
Relatert lesning
Mer fra Maguyva-byggeloggen
Hvorfor vi oppgraderte kodesøk til voyage-4-large_
Vi flyttet kode-embeddingene våre til voyage-4-large — for tiden på topp på den offentlige RTEB-rangeringen for kode-retrieval. Den ærlige versjonen: kompromisset vi tar, hva vi faktisk indekserer, og hvorfor vi betaler for premium embeddings.
Rekursiv språkforbedring: Kverning av kodeintelligens på tvers av ~280 språk_
Vi støtter kodeintelligens for ~280 språk. Ingen mennesker kan manuelt revidere det. Så vi bygde en rekursiv selvforbedringsløkke for språk — stikkprøver, LLM som dommer, fiks én ting, valider på nytt — og kjører den med en flåte av isolerte agenter helt til ekstraheringen faktisk er riktig, ikke bare grønn.
Multimodalt fusjonssøk: Velge riktig retriever for hvert søk_
Et søk som «hvor er parseConfig definert» krever et annet søk enn «hvordan fungerer autentisering». Maguyva klassifiserer intensjonen, vekter fire retrieval-modaliteter deretter, og fusjonerer resultatene med vektet Reciprocal Rank Fusion.