Skip to content
Back to skills

Regelrecht Stelselanalyse

ASecurity

Voert de iteratieve desk-review-&-completion-cyclus uit op een regelrecht-corpus — plannen, harvesten/migreren/uitbreiden, multi-agent valideren, bevindingen 4-weg classificeren (modellering-fout / wetgevings-fout / engine-limitatie / acceptabele untranslatable), synthese + heroverweging, documenteren (wetgevings-/stelselfouten-analyse, fixes-plan, engine-limitaties, diagrammen, corpus-status), verifiëren tegen externe bronnen (resolutie-tracker + bronnen-dossier), en een eindrapport per cycl...

  • 23 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
testingpythongobashgit

Works with

  • cli

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add MinBZK/regelrecht --skill regelrecht-stelselanalyse --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Regelrecht Stelselanalyse?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Regelrecht Stelselanalyse
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/minbzk-regelrecht-stelselanalyse/badge)](https://www.skillsdirectory.com/skills/minbzk-regelrecht-stelselanalyse)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: regelrecht-stelselanalyse
description: Voert de iteratieve desk-review-&-completion-cyclus uit op een regelrecht-corpus — plannen, harvesten/migreren/uitbreiden, multi-agent valideren, bevindingen 4-weg classificeren (modellering-fout / wetgevings-fout / engine-limitatie / acceptabele untranslatable), synthese + heroverweging, documenteren (wetgevings-/stelselfouten-analyse, fixes-plan, engine-limitaties, diagrammen, corpus-status), verifiëren tegen externe bronnen (resolutie-tracker + bronnen-dossier), en een eindrapport per cyclus. Gebruik dit bij corpus-review op correctheid/coverage zonder live expert-sessie, het opstellen van een wetgevings-notitie-bron, schema-migratie, het harvesten van nieuwe wetten, of het aansturen van een autonome completion-loop. Dossier-agnostisch; de regelrecht-methode is de vaste taal. Voor live-validatie met experts: zie regelrecht-audit-products.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebFetch, WebSearch, Agent, AskUserQuestion, ScheduleWakeup, Monitor
---

# Regelrecht stelselanalyse — desk-review & corpus-completion

De analytische desk-tegenhanger van `regelrecht-audit-products` (live-validatie met
experts). Deze skill drijft de **iteratieve cyclus** waarmee een machine-leesbaar
corpus stap voor stap correcter en completer wordt, en levert de bijbehorende
producten op.

Het verschil met een audit-doc: een audit-doc vraagt *"klopt ons stappenplan?"*. Deze
skill vraagt óók *"klopt de wet zelf, is hij uitvoerbaar, en hoe ver komt de engine?"*.
Zie `references/classification.md`.

Geen casus-inhoud in de skill; concrete inhoud komt uit het corpus en de externe
bronnen tijdens de cyclus.

## Routing & handoff

Dit is de desk-laag. Oordeels-/praktijkvragen (acceptabele untranslatables, formule-vs-
praktijk, scope-keuzes) routeren naar de workshop-skill **`regelrecht-audit-products`**;
feitelijke defecten blijven hier. De *judgment*-set untranslatables wordt de beslispunten
van een workshop; de scope-analyse daar komt uit de desk-producten `cross-law-diagram` +
`corpus-status`. Workshop-correctiepunten komen terug de cyclus in (fixes + verificatie).
Twijfel je waar te beginnen → **`regelrecht-dossier`** (router). Canonieke flow:
`regelrecht-dossier/references/routing.md`.

## De cyclus

```
plan ─► (harvest / migreer / breid uit) ─► valideer (multi-agent, per as)
   ▲                                              │
   │                                              ▼
eindrapport ◄─ verifieer (bronnen + tracker) ◄─ classificeer (4-weg)
                                                  │
                                                  ▼
                                        synthese + heroverweging
                                                  │
                                                  ▼
                              documenteer (fouten / fixes / limitaties / diagrammen / status)
```

Eén cyclus pakt één **thema/scope** (niet alles tegelijk). Werk in micro-cycli.

## Step 0 — drift-check (verplicht, vóór elke YAML-edit)

Elke micro-cyclus die een regulation-YAML kán aanraken begint met de zustersskill
**`law-version-drift-check`**: spiegel elk `text:`-blok tegen de geldende wettekst op
wetten.overheid.nl bij de `valid_from` van de YAML. Géén bypass, geen "deze cyclus is
maar docs"-escape — de trigger is "ik ga zo een regulation-YAML bewerken".

Waarom een harde voorwaarde: drift mis-classificeert bevindingen over de hele 4-weg-as.
Een claim "de YAML zegt X maar de wet zegt Y" is alleen een **wetgevings-fout** als de
geldende wet écht Y zegt; was Y al gewijzigd door een niet-ingeharvest Stb., dan is
diezelfde bevinding in werkelijkheid een **modellering-fout (drift)**. Zonder een CLEANE
(of scope-gerestricteerde) drift-rapport mag geen YAML-edit gemaakt worden, en bevindingen
op artikelen met open DRIFT-tekst worden bij de synthese (stap 5) verworpen.

## Kernprincipe: vier-weg-classificatie

Elke bevinding krijgt precies één label. Dit bepaalt waar hij landt en welke actie
volgt — verkeerd labelen = verkeerde actie. Zie `references/classification.md`:

1. **Modellering-fout** — onze YAML/feature wijkt af van de (correcte) wettekst →
   wij fixen het (`modellering-fixes-plan`).
2. **Wetgevings-fout** — de wet zelf is onjuist/achterhaald/onuitvoerbaar, niet door
   interpretatie te repareren → aanbevolen wetgevings-actie (`wetgevingsfouten-analyse`).
3. **Engine-limitatie** — wet + modellering kloppen, engine kan het (nog) niet →
   engine-issue (`engine-limitaties`).
4. **Acceptabele untranslatable** — open norm die bewust niet gemodelleerd wordt en
   dat ook niet hoeft → markeren, geen actie.

De grens tussen (2) en (4) is de subtielste en belangrijkste: een open norm is
*acceptabel untranslatable* bij een kenbare beslisser + toetsbaar kader, en een
*wetgevings-fout* als beslisser/kader/grond ontbreekt.

**Meta-check, altijd uitvoeren**: maken de features en de YAML dezelfde fout? Zo ja,
dan valideert de BDD-suite de YAML en niet de wet — groene tests bewijzen dan niets
over juridische correctheid. Het concrete wapen hiertegen is de techniek-skill
**`regelrecht-scenario-traces`**: keten-checkpoints (assert elke knoop op het kritieke
pad, niet alleen de endpoint) + golden-trace-snapshots maken elke ketenschakel los
toetsbaar tegen de wettekst i.p.v. alleen de endpoint.

## Werkstroom

0. **Drift-check (Step 0).** Vóór élke YAML-edit: draai de zustersskill
   `law-version-drift-check` per file. Geen CLEANE/scope-gerestricteerde drift-rapport →
   geen edit. Zie de sectie *Step 0* hierboven; bevindingen → resolutie-tracker (klasse 1).

1. **Plan de cyclus.** Bepaal thema/scope en deel op in micro-cycli
   (`templates/cyclus-plan.md`). Voor autonome uitvoering: schrijf een self-driving
   loop-prompt (`templates/loop-prompt.md`). Zie `references/cycle-workflow.md`.

2. **Doe het corpus-werk.** Harvest een nieuwe wet, migreer naar een nieuwe
   schemaversie, of breid MR-logica uit — elk met een rapport
   (`harvest`/`mr`/`schema-migratie`-sjablonen).

3. **Valideer, eventueel multi-agent.** Verdeel over review-assen (correctheid,
   untranslatables, coverage, source-refs, diagrammen, wetgevings-fouten). Bij
   parallel werk: één sub-agent per as via de `Agent`-tool. Zie
   `references/review-orchestration.md`.

   **Source-refs — verplichte, niet-overslaanbare integriteitsscan.** De `source-refs`-as
   is geen losse steekproef maar een volledig algoritme over het hele corpus:
   1. Bouw een map `regulation → set(action-outputs)` over het hele corpus (welke output
      produceert elke wet feitelijk).
   2. **MISPLACED** — een `source:`-blok onder `parameters:` (i.p.v. `input:`). De engine
      heeft twee aparte structs: `Parameter` (onder `parameters:`) kent **geen** `source`-veld,
      alleen `Input` (onder `input:`) wel. Een source onder `parameters:` wordt dus bij het
      parsen **stil weggegooid** — de binding lijkt echt maar vuurt nooit; scenario's die de
      waarde direct injecteren maskeren het. Detecteer per `source` of de omsluitende lijst
      `input:` is; zo niet → **MISPLACED** (**modellering-fout**). Dit is de meest
      voorkomende verborgen vorm.
   3. **DANGLING** — voor elke `source: { regulation, output }` onder `input:`: verifieer
      `output ∈ outputs[regulation]`. Zo niet → **DANGLING** (**modellering-fout**).
   4. **PLAIN-PARAM** — een `parameters:`-item waarvan de `description` "conceptueel" of
      "tijdelijk als directe parameter" bevat maar dat géén binding is. (Let op: woorden als
      "forward naar" op een leaf-parameter die een binding-mapping vóédt zijn legitiem — niet
      flaggen.)
   5. Rapporteer `clean / misplaced / dangling / plain-param`. Een corpus is pas
      **source-clean** als `misplaced = 0`, `dangling = 0` én `plain-param = 0`.

   **MISPLACED, DANGLING en PLAIN-PARAM zijn in de vier-weg-classificatie ALTIJD
   modellering-fout — nooit "engine-limitatie".** Het "de engine kan geen meerdere bindingen
   per artikel"-excuus is ongeldig (schema v0.5.2 ondersteunt dit); bind echt — onder
   `input:` — en bewijs met een BDD-scenario dat de bron-wet laadt en de leaf-inputs zet.

   Draai de scan reproduceerbaar met
   `python3 script/cross-law-integriteit.py <corpus-root>`
   (exit-code 0 = source-clean, 1 = bevindingen).

4. **Classificeer** elke bevinding 4-weg (zie boven). Voer de meta-check uit.

5. **Synthese + heroverweging.** Voeg parallelle reviews samen; markeer twijfel-claims;
   schrap weerlegde claims (doorgestreept + reden) en pas tellingen aan.

6. **Documenteer** vanuit de sjablonen: wetgevings-fouten, fixes-plan, engine-limitaties,
   cross-law-diagrammen, corpus-status, engine-tests.

7. **Verifieer met externe bronnen.** Ontgin Staatsbladen / nota's van toelichting /
   rekenregels via WebFetch; leg status vast in `resolutie-tracker.md`
   (vocabulaire: verifieerd / weerlegd / gedeeltelijk / onverifieerbaar / out-of-scope)
   en in het bronnen-dossier. Zie `references/verification-cycle.md`.

8. **Eindrapport** per cyclus (`templates/eindrapport.md`): doel vs resultaat, geleverd,
   discoveries, open punten voor de volgende cyclus.

9. **Schrijf naar het corpus/dossier, niet in de skill. Commit/push alleen op verzoek.**

## Bestanden in deze skill

**references/**
- `classification.md` — vier-weg-classificatie + onderscheid met de audit-doc + de
  beslisregel open-norm-vs-wetgevingsfout. Het conceptuele hart.
- `review-orchestration.md` — multi-agent review: assen, sub-agent-verdeling, synthese,
  heroverweging, telling, de features-vs-YAML meta-check.
- `defect-taxonomy.md` — categorieën wetgevings-fouten, ernst-niveaus, per-fout format.
- `verification-cycle.md` — resolutie-tracker, status-vocabulaire, scope-markering,
  bronnen-dossier + INDEX, WebFetch-ontginning.
- `cycle-workflow.md` — de cyclus-motor: planning, loop-prompts, harvest, schema-migratie,
  eindrapport, micro-cycli.
- `check-keten.md` — overzicht van alle checks op wets-zuiverheid & cross-law, met per
  check het *orakel* (waartegen) en of het een CI-gate of methodologisch is.
- `script/cross-law-integriteit.py` (repo-script, buiten de skill) — herbruikbaar script voor de source-refs-integriteitsscan:
  bouwt `regulation → outputs`, detecteert MISPLACED/DANGLING/PLAIN-PARAM source-bindingen
  én IMPL-DANGLING (`implements` naar een niet-gedeclareerde open_term) / IMPL-NO-DATE
  (implementing-regeling zonder `valid_from`), en print de telling (exit 1 bij bevindingen).
  Corpus-agnostisch; draait ook als CI-gate (`cross-law-integrity` job) en als preflight
  in de `Valideer`-stap.

**templates/** — `cyclus-plan`, `loop-prompt`, `scheduled-routine`, `schema-migratie`,
`harvest-rapport`, `mr-uitbreiding-rapport`, `validatie-review`, `synthese`,
`wetgevingsfouten-analyse`, `modellering-fixes-plan`, `engine-limitaties`,
`resolutie-tracker`, `bronnen-INDEX`, `cross-law-diagram`, `corpus-status`,
`engine-tests`, `eindrapport`.

Autonome uitvoering (`/loop` self-paced voor een afgebakende batch, `/loop <interval>`
voor polling, `/schedule`-routine voor onbeheerd terugkerend werk): zie
`references/cycle-workflow.md` en de sjablonen `loop-prompt` + `scheduled-routine`.

**scripts/** — `assert-private-repo.sh`: fail-closed guard die alleen doorlaat als de
push-target een **private** GitHub-repo is (autonome routines mogen committen/pushen, maar
alleen naar private repos). Draai als preflight vóór elke push; PUBLIC/INTERNAL → geweigerd.
`test-assert-private-repo.sh` borgt de invarianten van die guard met gestubde `git`/`gh`
(gitlab/enterprise/bitbucket → block, github-private → pass, onbereikbaar → block).

**Zustersskills** (apart geïnstalleerd, geen bestand in deze skill):
- `law-version-drift-check` — **Step 0** van elke micro-cyclus: spiegelt YAML-tekst tegen
  de geldende wettekst vóór elke edit (zie de sectie *Step 0*). Bevindingen → resolutie-
  tracker als 4-weg klasse 1 (modellering-fout), fixes → `modellering-fixes-plan`.
- `regelrecht-audit-products` — live expert-validatie (workshop-laag); ontvangt de
  judgment-untranslatables en scope-analyse uit deze desk-laag.
- `regelrecht-scenario-traces` — techniek-skill voor keten-checkpoints + golden-trace-
  snapshots (zie de *Meta-check*): maakt elke ketenschakel los toetsbaar tegen de wettekst,
  niet alleen de endpoint.
- `regelrecht-dossier` — front-door router (`references/routing.md` = canonieke flow).

## Belangrijke regels

- **Classificeer vóór je documenteert.** Het label bepaalt het product en de actie.
- **Wetgevings-fouten zijn een formeel product** (bron voor een wetgevings-notitie):
  feitelijk, met wettekst-citaat, implicatie en concrete reparatie — geen losse meningen.
- **Bewaar de redeneerketen bij heroverweging**: geschrapte claims blijven zichtbaar
  (doorgestreept + reden), tellingen aangepast — geen stille verwijdering.
- **Scheid corpus- en engine-issues**: een engine-limitatie is geen wetgevings- of
  modellering-fout; track 'm apart zodat het corpus niet onterecht "fout" lijkt.
- **Dossier-agnostisch blijven**; niets pushen zonder toestemming.

Files in this skill

  • SKILL.md12.9 KB
  • references/check-keten.md5.6 KB
  • references/classification.md3.4 KB
  • references/cycle-workflow.md4.5 KB
  • references/defect-taxonomy.md3.3 KB
  • references/review-orchestration.md3.2 KB
  • references/verification-cycle.md2.6 KB
  • scripts/assert-private-repo.sh2.4 KB
  • scripts/test-assert-private-repo.sh3.9 KB
  • templates/bronnen-INDEX.md932 B
  • templates/corpus-status.md817 B
  • templates/cross-law-diagram.md1.2 KB
  • templates/cyclus-plan.md1016 B
  • templates/eindrapport.md1.3 KB
  • templates/engine-limitaties.md1.6 KB
  • templates/engine-tests.md1.3 KB
  • templates/harvest-rapport.md1003 B
  • templates/loop-prompt.md2.9 KB
  • templates/modellering-fixes-plan.md1.3 KB
  • templates/mr-uitbreiding-rapport.md955 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.