skills/ls-pub/SKILL.md
Logius publicatieworkflow voor standaardenrepos: ReSpec, GitHub Actions, markdownlint, WCAG/a11y, Muffet linkvalidatie, tech radar. Niet voor API of code linting.
npx skillsauth add minbzk/logius-standaarden-plugin ls-pubInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CONCEPT — Let op: Deze skill is geen officieel product van Logius. De beschrijvingen zijn informatieve samenvattingen — niet de officiële standaarden zelf. De definities op forumstandaardisatie.nl en Logius zijn altijd leidend. Overheidsorganisaties die generatieve AI inzetten dienen te voldoen aan het Overheidsbreed standpunt voor de inzet van generatieve AI. Zie DISCLAIMER.md en onze verantwoording.
Agent-instructie: Deze skill is de centrale plek voor publicatie-tooling en kwaliteitschecks van alle Logius standaarden. Gebruik deze skill wanneer de gebruiker een document wil bouwen, valideren (WCAG, markdown lint, link check), publiceren, of een nieuw ReSpec-document wil opzetten. Dit is de ENIGE skill met markdownlint, axe-core en muffet tools.
De publicatie-tooling ondersteunt het versiemodel van Logius-standaarden via de specStatus configuratiewaarde in ReSpec:
| specStatus | Betekenis | Publicatiekanaal |
|-----------|-----------|-----------------|
| WV | Werkversie (draft) | logius-standaarden.github.io |
| CV | Consultatieversie | logius-standaarden.github.io/Openbare-Consultaties/ (automatisch op consultatie/* branches) |
| VV | Versie ter vaststelling | gitdocumentatie.logius.nl |
| DEF | Vastgestelde versie | gitdocumentatie.logius.nl |
| Repository | Beschrijving | Licentie | Publicatie | |-----------|-------------|--------|-----------| | publicatie | Centrale publicatie-repo: alle vastgestelde standaarden | CC-BY-4.0 | gitdocumentatie.logius.nl (geen directory listing) | | Publicatie-Preview | Preview-omgeving voor documenten in ontwikkeling | CC-BY-4.0 | Lees online | | respec | Logius fork van W3C ReSpec documentatie-tool | W3C Software License | - | | ReSpec-template | Basis template voor nieuwe ReSpec documenten | CC-BY-4.0 | Lees online | | ReSpec-template-Logius | Logius-specifiek ReSpec template met huisstijl | CC0-1.0 | Lees online | | Openbare-Consultaties | Gepubliceerde consultatieversies (CV) | CC-BY-4.0 | Lees online | | Automatisering | Herbruikbare GitHub Actions workflows | Niet gespecificeerd | - | | automatisering-test | Testomgeving voor de automatiseringsworkflows | W3C Software License | - | | tech-radar | Technologie radar voor Logius standaarden | MIT | Lees online |
ReSpec genereert technische specificaties als HTML en PDF vanuit Markdown. Logius gebruikt een eigen fork met aangepaste huisstijl.
Het hoofdbestand index.html laadt de ReSpec-engine en verwijst via data-include naar losse Markdown-bestanden per hoofdstuk:
<section data-include-format="markdown" data-include="ch01.md"></section>
<section data-include-format="markdown" data-include="ch02.md"></section>
js/config.mjs)Nieuwe documenten gebruiken ES-module formaat (config.mjs); oudere repos kunnen nog config.js bevatten.
// js/config.mjs (nieuw, aanbevolen formaat)
import { loadRespecWithConfiguration } from
"https://logius-standaarden.github.io/publicatie/respec/organisation-config.mjs";
loadRespecWithConfiguration({
useLogo: true,
useLabel: true,
license: "cc-by",
specStatus: "WV", // WV=Werkversie, CV=Consultatieversie, VV=Versie ter vaststelling, DEF=Vastgestelde versie
specType: "HR", // HR=Handreiking, ST=Standaard, PR=Praktijkrichtlijn, IM=Informatiemodel
pubDomain: "dk", // Toegestane waarden: api, bomos, dk, fsc, ftv, logboek, notificatieservices
shortName: "template", // Moet kebab-case zijn: alleen kleine letters, gescheiden door streepjes
publishDate: "2023-06-21",
publishVersion: "0.0.3",
editors: [{ name: "Logius Standaarden", company: "Logius", companyURL: "https://logius.nl" }],
authors: [{ name: "Logius Standaarden", company: "Logius", companyURL: "https://logius.nl" }],
github: "https://github.com/logius-standaarden/ReSpec-template",
});
Let op: Oudere repos gebruiken
config.jsmetvar respecConfig = { ... }syntax. Die bevat soms extra velden zoalscontent,alternateFormatsenpostProcessdie niet in deconfig.mjs-variant voorkomen.
.github/workflows/ # CI/CD workflows (verwijzen naar Automatisering repo)
js/config.mjs # ReSpec configuratie (of config.js bij oudere repos)
media/ # Afbeeldingen, diagrammen
ch01.md, ch02.md # Hoofdstukken
abstract.md # Samenvatting
index.html # ReSpec entry point
Alle standaarden-repos roepen centrale workflows aan uit de Automatisering repo.
consultatie/* branches krijgen automatisch specStatus: "cv" (via sed op config.mjs)npx respec --localhost --src index.html --out ~/static/index.html --haltonwarnscripts/pdf.js)npx @axe-core/cli http://localhost:8080/index.html --tags wcag2aa (geautomatiseerde check; dekt ~30% van WCAG-criteria, handmatige toetsing blijft nodig). axe-core is een van meerdere tools die gestandaardiseerde W3C ACT Rules implementeren; alternatieven zijn o.a. Alfa (Siteimprove) en QualWeb.npx markdownlint-cli sections/Bevat meerdere jobs afhankelijk van de context:
main/master): publiceert naar de centrale publicatie repo (gitdocumentatie.logius.nl)develop): publiceert naar GitHub Pages van de standaarden-repo zelfPublicatie-Preview repoconsultatie/* branches): publiceert naar de Openbare-Consultaties repoControleert periodiek of de gepubliceerde versie op gitdocumentatie.logius.nl geen dode links bevat. Stuurt een e-mail bij gevonden fouten.
# .github/workflows/build.yml in een standaarden-repo
name: Build document
on:
push:
branches: [main, 'consultatie/*']
pull_request:
branches: [main]
jobs:
build:
uses: logius-standaarden/Automatisering/.github/workflows/build.yml@main
with:
workflow_input_file_names: '["index.html"]'
js/config.mjs: Pas specStatus, specType, pubDomain, shortName, title aan. pubDomain accepteert alleen api, bomos, dk, fsc, ftv, logboek of notificatieservices. shortName moet in kebab-case (alleen kleine letters, gescheiden door streepjes, bijv. rest-api)# ReSpec bouwen naar statische HTML
npx respec --src index.html --out output.html
# WCAG Accessibility check (wcag2aa niveau)
npx @axe-core/cli output.html --tags wcag2aa
# ⚠️ Let op: axe-core checkt automatisch ~30% van de WCAG-criteria.
# Een groene check betekent NIET dat je volledig voldoet aan EN 301 549 / WCAG 2.1 AA.
# Handmatige toetsing op alle 55 succescriteria in WCAG 2.1 AA blijft nodig.
# axe-core implementeert W3C ACT Rules (https://www.w3.org/WAI/standards-guidelines/act/rules/)
# Alternatieven: Alfa (Siteimprove), QualWeb
# Markdown linting
npx markdownlint-cli 'sections/**/*.md'
# Link validatie (start eerst een lokale server)
npx http-server -p 8080 . &
muffet http://localhost:8080/index.html
| Fout | Oorzaak | Oplossing |
|------|---------|----------|
| ReSpec error: data-include file not found | Markdown-bestand ontbreekt | Controleer data-include verwijzingen |
| WCAG violation: Images must have alternate text | Afbeelding zonder alt-tekst | Voeg alt-tekst toe:  |
| Geen WCAG violations gevonden | axe-core heeft geen fouten gedetecteerd | Let op: dit betekent niet dat het document volledig toegankelijk is. axe-core test ~30% van de WCAG 2.1 AA criteria. Toets handmatig op alle 55 succescriteria in WCAG 2.1 AA, waaronder toetsenbordnavigatie, leesbare kopstructuur en logische leesvolgorde. |
| markdownlint MD013: Line length | Regel te lang | Breek af op ~120 karakters |
| muffet: 404 Not Found | Dode link | Verwijder of update de link |
| PDF generation failed | Puppeteer crash | Controleer of document valid HTML genereert |
Op consultatie/* branches wordt specStatus automatisch overschreven naar "cv". Na merge naar main wordt specStatus uit js/config.mjs gebruikt.
Zie reference.md voor gedetailleerde info over tech radar, label-updates workflow, en workflow-configuratie. Zie conflicts.md voor bronconflicten en gemaakte keuzes.
development
Overzicht van Logius standaarden voor de Nederlandse overheid. Routeert naar sub-skills (Digikoppeling, API Design Rules, OAuth, FSC, BOMOS, etc.) of geeft hulp bij interoperabiliteitsvragen.
development
NL GOV CloudEvents profiel voor notificatieservices: abonnementen, webhooks, pub/sub tussen overheidsorganisaties.
data-ai
Logboek Dataverwerkingen voor AVG/GDPR-transparantie. NEN 7513, OpenTelemetry/OTLP, dpl.core, verwerkingenlogging in overheidssystemen.
development
OAuth, OpenID Connect, AuthZEN, SAML voor authenticatie en autorisatie bij de overheid. NL GOV profielen, JWT, PKCE, private_key_jwt, OIN authenticatie.