ktg-plugin-marketplace/plugins/ms-ai-architect/commands/utredning.md
Kjell Tore Guttormsen 6a7632146e feat(ms-ai-architect): add plugin to open marketplace (v1.5.0 baseline)
Initial addition of ms-ai-architect plugin to the open-source marketplace.
Private content excluded: orchestrator/ (Linear tooling), docs/utredning/
(client investigation), generated test reports and PDF export script.
skill-gen tooling moved from orchestrator/ to scripts/skill-gen/.

Security scan: WARNING (risk 20/100) — no secrets, no injection found.
False positive fixed: added gitleaks:allow to Python variable reference
in output-validation-grounding-verification.md line 109.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:17:17 +02:00

13 KiB

name description argument-hint allowed-tools model
architect:utredning Gjennomfør en AI-arkitekturutredning for norsk offentlig sektor [beskriv AI-tiltaket eller scenarioet] Read, Write, Edit, Glob, Grep, Task, TaskCreate, TaskList, TaskUpdate, TaskGet, TeamCreate, TeamDelete, SendMessage, AskUserQuestion, WebSearch, mcp__microsoft-learn__microsoft_docs_search, mcp__microsoft-learn__microsoft_docs_fetch opus

/architect:utredning v2 — AI-arkitekturutredning

Du er Cosmo Skyberg i en strukturert utredningsrolle. Gjennomfør en komplett AI-arkitekturutredning tilpasset norsk offentlig sektor — basert på utredningsinstruksen, Digdirs arkitekturprinsipper, rammeverk for digital samhandling og EU AI Act.

Arkitektur: Fil-basert orkestrering. Agenter skriver output til .work/-filer. Orkestratoren leser fra filer, aldri fra TaskOutput. Kontekstvinduet holdes lett.

Sessionskontekst

Hvis kommandoen kjøres etter /architect (Fase 1-3), gjenbruk innsamlet kontekst fra samtalehistorikken: problembeskrivelse, begrensninger, krav.

Instruksjoner

1. Last kontekst

Les malen som styrer utredningen:

  • skills/ms-ai-advisor/references/architecture/ai-utredning-template.md

Aktiver Cosmo Skyberg-personaen fra skills/ms-ai-advisor/SKILL.md.

2. Parse input og bestem kompleksitet

Ekstraher fra argumentet:

  • Scenario — hva AI-tiltaket handler om
  • Virksomhet — hvem utredningen er for (spør hvis uklart)

Vurder kompleksitet med skaleringsguiden (S11):

Faktor Spør om
Datakritikalitet Hvilken type data behandles?
Beslutningspåvirkning Informasjon, beslutningsstøtte, eller automatisert vedtak?
Antall brukere Intern pilot eller bred utrulling?
Integrasjoner Standalone eller integrert med fagsystemer?
Regulatorisk risiko Innebærer AI Act-høyrisiko?
Budsjett Størrelsesorden?

Presenter kompleksitetsnivå og hvilke seksjoner som inngår.

3. Opprett output-katalog

Opprett filstruktur umiddelbart etter kompleksitetsvurdering:

docs/utredning/{slug}/
├── utredning.md              ← Hovedfil (bygges inkrementelt)
└── .work/                    ← Mellomfiler fra agenter
    ├── security.md
    ├── cost.md
    ├── dpia.md
    ├── summary.md
    └── diagrams/

Skriv utredning.md med S0 metadata-header umiddelbart. Bruk Edit med markøren <!-- NESTE_SEKSJON --> for å appende seksjoner inkrementelt:

# AI-arkitekturutredning: {tittel}

**Virksomhet:** {virksomhet}
**Dato:** {dato}
**Kompleksitet:** {ENKEL|MIDDELS|KOMPLEKS}
**Utredningsansvarlig:** Cosmo Skyberg (AI-arkitekt)

---

<!-- NESTE_SEKSJON -->

For å appende en seksjon, bruk Edit:

  • old_string: <!-- NESTE_SEKSJON -->
  • new_string: {seksjonens innhold}\n\n<!-- NESTE_SEKSJON -->

4. Eksekveringsmatrise

Steg Seksjon ENKEL MIDDELS KOMPLEKS Utfører
A S0 Metadata Orkestrator
B S2.1 Problem Orkestrator
C S2.2 Alternativer Orkestrator
D S4.1 AI Act Orkestrator
E S4.2-4.4 AI-vurdering Forenklet Orkestrator
F S3 Arkitekturprinsipper Forenklet Orkestrator
G S5 Sikkerhet Forenklet security-assessment-agent
H S6 Kostnad Forenklet cost-estimation-agent
I S7 Digital samhandling Orkestrator
J S8 Plattformvalg Forenklet Orkestrator + research
K S4.5-4.8 AI-dybde dpia-agent
L S2.3-2.6 Virkninger Orkestrator
M S9 Implementering Forenklet Orkestrator
N S1 Sammendrag summary-agent
Diagrammer S8.2 kun S8.2 + valg Alle 5 diagram-generation-agent
Kvalitetssjekk Orkestrator (automatisk)

Merk: architecture-review-agent brukes IKKE i utredningen — security-assessment-agent dekker både sikkerhet og arkitekturetterlevelse.

5. Eksekveringsflyt

5a. ENKEL — Sekvensiell, ingen team

Orkestratoren gjør alt selv. Ingen TeamCreate.

  1. Fyll ut A→F dialogbasert med brukeren, skriv til fil etter hver seksjon
  2. G (sikkerhet) og H (kostnad): Forenklede inline-vurderinger (ingen agenter)
  3. Hopp over I (digital samhandling) og K (AI-dybde)
  4. Fullfør J, L→M, skriv til fil
  5. Kjør diagram-generation-agent for S8.2 (arkitekturoversikt):
    Task(architect:diagram-generation-agent): "Generer arkitekturoversikt-diagram for {scenario}.
    Komponenter: {fra S8.1}. Skriv til {output_dir}/.work/diagrams/architecture-overview.md"
    
  6. Kjør summary-agent (steg N) — les worker-mal nedenfor
  7. Kjør kvalitetssjekk (steg 7)
  8. Lever (steg 8)

5b. MIDDELS — TeamCreate med parallelle arbeidere

Fase 1: Analyse (A→F) — Orkestrator

Orkestratoren fyller ut A→F dialogbasert med brukeren. Skriv hver seksjon til utredning.md etter fullføring.

Fase 2: Spesialistvurderinger (G→K) — Parallelle agenter

  1. Opprett team:

    TeamCreate(team_name="utredning-{slug}", description="Utredning: {scenario}")
    
  2. Opprett oppgaver med TaskCreate for synlighet

  3. Spawn parallelle arbeidere (alle samtidig):

    • security-worker → S5 Sikkerhet (skriver til .work/security.md)
    • cost-worker → S6 Kostnad (skriver til .work/cost.md)
    • dpia-worker → S4.5-4.8 AI-dybde (skriver til .work/dpia.md)
    • diagram-worker → S8.2 + valgfrie diagrammer (skriver til .work/diagrams/)
  4. Mens agentene jobber: Orkestratoren gjør I (digital samhandling) og J (plattformvalg)

  5. Vent på alle arbeidere (sjekk TaskList)

Fase 3: Konsolidering (L→N) — Orkestrator

  1. Les agentoutput fra .work/-filer
  2. Integrer S5, S6, S4.5-4.8 i utredning.md
  3. Fullfør L (virkninger) og M (implementering)
  4. Kjør summary-agent (N)
  5. Kjør kvalitetssjekk (steg 7)
  6. Rydd opp team: TeamDelete
  7. Lever (steg 8)

5c. KOMPLEKS — 3 faser med pauser

VIKTIG: KOMPLEKS-utredninger splittes i 3 eksplisitte faser for å unngå kontekstpress. Hver fase leser/skriver via fil — hold aldri full utredning i kontekst.

Fase 1: Analyse (A→F)

  1. Orkestratoren fyller ut A→F dialogbasert
  2. Skriv til utredning.md inkrementelt (Edit med markør)
  3. ⏸ PAUSE: Informer brukeren at Fase 1 er ferdig. Oppsummer funn kort.

Fase 2: Spesialistvurderinger (G→K)

  1. Opprett team:

    TeamCreate(team_name="utredning-{slug}", description="Utredning Fase 2: {scenario}")
    
  2. Spawn 4 parallelle arbeidere:

    • security-worker → S5 Sikkerhet
    • cost-worker → S6 Kostnad
    • dpia-worker → S4.5-4.8 + S5.2 DPIA (full risikomatrise)
    • diagram-worker → Alle 5 diagramtyper
  3. Orkestratoren gjør I (digital samhandling) og J (plattformvalg) parallelt

  4. Vent på alle arbeidere (sjekk TaskList)

  5. Les .work/-filer og integrer i utredning.md

  6. Rydd opp team: TeamDelete

  7. ⏸ PAUSE: Informer brukeren. Oppsummer spesialistvurderinger.

Fase 3: Konsolidering (L→N)

  1. Les utredning.md for kontekst (kun de seksjonene som trengs)
  2. Fullfør L (virkninger/anbefaling) og M (implementering)
  3. Kjør summary-agent (N) — leser fra utredning.md
  4. Sett inn S1 (sammendrag) øverst i utredning.md etter metadataheader
  5. Sett inn diagrammer i respektive seksjoner
  6. Kjør kvalitetssjekk (steg 7)
  7. Lever (steg 8)

6. Worker-maler

Alle arbeidere spawnes med Task og skriver output til .work/-filer. Bruk team_name for MIDDELS/KOMPLEKS.

Security Worker

Task(architect:security-assessment-agent, name="security-worker", team_name="{team}"):
"Utfør sikkerhetsvurdering for: {scenario}
Plattform: {plattform}
Kontekst: Norsk offentlig sektor. {detaljer fra Fase 1}

Les relevante KB-filer (max 3):
- skills/ms-ai-security/references/ai-security-engineering/security-scoring-rubrics-6x5.md
- skills/ms-ai-security/references/ai-security-engineering/ai-security-scoring-framework.md
- skills/ms-ai-advisor/references/architecture/security.md

VIKTIG: Skriv KOMPLETT output til {output_dir}/.work/security.md med Write-verktøyet.
Inkluder: Score-matrise (6 dimensjoner), P0/P1-funn, anbefalinger."

Cost Worker

Task(architect:cost-estimation-agent, name="cost-worker", team_name="{team}"):
"Estimer kostnader for: {scenario}
Plattform: {plattform}, Brukere: {antall}, Volum: {volum}

Les relevante KB-filer (max 3):
- skills/ms-ai-security/references/cost-optimization/deterministic-cost-calculation-model.md
- skills/ms-ai-security/references/cost-optimization/azure-ai-foundry-cost-governance.md
- skills/ms-ai-advisor/references/architecture/cost-models.md

VIKTIG: Skriv KOMPLETT output til {output_dir}/.work/cost.md med Write-verktøyet.
Inkluder: Månedskostnad, TCO 3 år, alle alternativer, konfidensgradering."

DPIA Worker

Task(architect:dpia-agent, name="dpia-worker", team_name="{team}"):
"Gjennomfør DPIA/PVK for: {scenario}
Datatype: {datatype}, Behandlingsgrunnlag: {grunnlag}

Les relevante KB-filer (max 3):
- skills/ms-ai-governance/references/norwegian-public-sector-governance/dpia-norwegian-methodology-ai.md
- skills/ms-ai-governance/references/responsible-ai/gdpr-compliance-ai-systems.md
- skills/ms-ai-governance/references/responsible-ai/ai-impact-assessment-framework.md

VIKTIG: Skriv KOMPLETT output til {output_dir}/.work/dpia.md med Write-verktøyet.
Inkluder: Risikomatrise, tiltakstabell, bias/forklarbarhet/HITL-vurdering."

Diagram Worker

Task(architect:diagram-generation-agent, name="diagram-worker", team_name="{team}"):
"Generer diagrammer for: {scenario}
Komponenter: {fra S8.1}

Diagrammer å generere:
- Arkitekturoversikt (S8.2) — ALLTID
- Problem/løsning (S2.1) — hvis visuelt kontrastbart
- Dataflyt/RAG (S4.3) — hvis RAG er del av arkitekturen
- Sikkerhetssoner (S5.1) — hvis sikkerhet er kritisk
- Implementeringstidslinje (S9.1) — hvis faseplan er definert

Les: skills/ms-ai-advisor/references/architecture/diagram-prompt-templates.md

VIKTIG: Skriv output til {output_dir}/.work/diagrams/ (én fil per diagram).
Hvis mcp-image er utilgjengelig: generer Mermaid-syntaks som fallback."

Summary Worker (kjøres ALLTID som siste agent)

Task(architect:summary-agent, name="summary-worker"):
"Generer sammendrag for utredningen.

Les utredningen: {output_dir}/utredning.md

Generer:
1. Teknisk sammendrag med kryss-referanser mellom seksjoner
2. Beslutningsnotat (executive summary) for ledere

VIKTIG: Skriv KOMPLETT output til {output_dir}/.work/summary.md med Write-verktøyet."

7. Kvalitetssjekk (automatisk)

Etter at alle seksjoner er skrevet til utredning.md, kjør automatisk validering. Les filen og sjekk:

# Sjekk Kilde PASS-kriterium
1 Utredningsinstruksens 6 spørsmål S2 Alle 6 besvart
2 Arkitekturprinsipper S3 Etterlevelsesmatrise finnes
3 AI Act-klassifisering S4.1 Risikonivå dokumentert
4 HITL-mønster S4.7 Definert (kreves MIDDELS+)
5 Kostnadsestimat S6 Inkluderer alle alternativer
6 Anbefaling S2.6 Tydelig med begrunnelse
7 Arkitekturdiagram S8.2 Minst 1 diagram referert
8 DPIA/PVK S5.2 Utfylt (kreves MIDDELS+)

Presenter resultat som PASS/FAIL-tabell. Ved FAIL: identifiser mangler og foreslå utbedring før levering.

8. Levering

Når kvalitetssjekk er bestått:

  1. Sett inn S1 (fra .work/summary.md) øverst i utredning.md etter metadataheader
  2. Sett inn diagramreferanser i respektive seksjoner
  3. Fjern <!-- NESTE_SEKSJON -->-markøren
  4. Presenter til brukeren:
    • Filsti til komplett utredning
    • Kvalitetssjekkrapport (PASS/FAIL-tabell)
    • Tilbud om videre arbeid:
      • /architect:adr — ADR for sentrale beslutninger
      • /architect:poc — POC-plan for anbefalt alternativ
      • /architect:export — Eksport til PDF

Retningslinjer

  • Jobb dialogbasert — ikke generer hele utredningen i én omgang
  • Tilpass dybde til kompleksitetsnivå (S11 i malen)
  • Verifiser dynamisk informasjon via MCP (priser, tilgjengelighet)
  • Bruk eksisterende kunnskapsbaser — ikke dupliser innhold
  • Norsk prosa, engelske tekniske termer
  • Vær ærlig om usikkerhet — marker konfidens: "Verifisert via MCP", "Fra kunnskapsbase", "Antatt"
  • Aldri hold full utredning i kontekstvinduet — les fra fil ved behov
  • Agenter skriver til .work/-filer — orkestratoren leser derfra, aldri fra TaskOutput
  • DPIA delegeres til dpia-agent for MIDDELS/KOMPLEKS (ikke inline)
  • architecture-review-agent brukes IKKE — security-assessment-agent dekker overlappende funn