跳到正文
cccskills
免费在 GitHub 公开

law-interpret

Orchestrates the full law interpretation pipeline: MvT research, machine_readable generation with validation/BDD testing, and reverse validation. Invokes /law-mvt-research, /law-generate, and /law-reverse-validate sequentially. Use this skill proactively when: user wants to make a law executable, add machine_readable sections, or mentions "interpret" in the context of a Dutch law YAML file. Activate automatically when user opens a corpus YAML file without machine_readable sections and wants to make it executable.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Law Interpret — Orchestrator

Orchestrates the full pipeline for making a Dutch law YAML file executable. Invokes three sub-skills sequentially, passing context between them.

Step 1: Identify Target

  1. Determine which law YAML file to interpret (from user input or context)
  2. Read the target file to confirm it exists and extract key metadata:
    • name (law title)
    • bwb_id (BWB identifier for MvT search, top-level field)
    • valid_from (effective date)
    • Count of articles
  3. Report to user: "Starting interpretation of {law_name} ({N} articles)"

Step 2: MvT Research

Invoke /law-mvt-research on the target law file.

This searches for Memorie van Toelichting documents and generates Gherkin test scenarios from legislature-intended examples.

Context passing: The MvT skill writes its output beside the law it tests, as {directory of the law YAML}/scenarios/{topic}.feature. The /law-generate skill in Step 3 picks this up automatically when running just bdd, which collects every *.feature under a scenarios/ directory in corpus/regulation/ plus the conformance suite in bdd/conformance/. No manual context transfer is needed — the file system is the interface.

A scenario written anywhere else is never run, and just bdd stays green while it sits there. If Step 2 reports a feature file outside a scenarios/ directory, that is a bug in the run and not something to work around.

After completion, note the results:

  • How many MvT documents were found
  • How many Gherkin scenarios were generated
  • Which articles lack MvT examples
  • Path to the generated feature file

If no MvT documents are found: This is common for many Dutch laws. Proceed to Step 3 anyway — /law-generate will fall back to ad-hoc testing via the evaluate binary. Not having MvT scenarios reduces confidence but does not block the pipeline.

Step 2.5: Schema Version Check

Before generating, verify the target file's $schema URL points to the current version. Read it from the schema/latest symlink rather than from this page, which goes stale on every bump:

readlink schema/latest        # e.g. v0.5.8

If the file points to an older version (e.g. v0.3.2, v0.4.0, or v0.5.0), update it to the tag form for that version:

https://raw.githubusercontent.com/NederlandseDigitaleDienst/regelrecht/refs/tags/schema-vX.Y.Z/schema/vX.Y.Z/schema.json

The tag form is required by RFC-013: a refs/heads/main URL points at a moving target, so the schema a law validates against could change underneath it.

This prevents generating logic against an old schema declaration. Never lower a file's version to match this page.

Step 3: Generate Machine-Readable Logic

Invoke /law-generate on the target law file.

This creates machine_readable sections, validates against the schema, runs BDD tests, and iterates until correct (up to 3 iterations).

After completion, note the results:

  • How many articles were made executable
  • Validation status
  • BDD test results
  • Any remaining issues

Step 4: Reverse Validation

Invoke /law-reverse-validate on the target law file.

This checks every element in machine_readable traces back to the original legal text, catching hallucinated logic.

Important: If reverse validation removes any elements from the YAML, re-run just validate <file> to ensure the file still passes schema validation. Element removal can break required field constraints or leave dangling references. If validation fails after removal, re-invoke /law-generate to regenerate the affected sections (this orchestrator does not have Edit access — delegate file modifications to the sub-skills).

Step 5: Dependency Check

Before the final report, scan the generated machine_readable sections for source.regulation references. For each referenced regulation:

  1. Check if it exists in corpus/regulation/nl/ using Glob
  2. If missing, add it to the TODOs list with a note to run /law-download for it
  3. If present but lacking machine_readable, note it needs /law-interpret

Additionally:

  • If the law declares hooks, verify that target laws with matching produces.legal_character exist in the corpus
  • If the law declares overrides, verify the target law/article/output exists
  • If produces has procedure_id, verify the corresponding procedure definition exists

This helps the user understand what additional work is needed for full execution.

Step 6: Final Report

Combine results from all phases into a single report:

Interpreted {LAW_NAME}

  MvT sources: {MvT_COUNT} documents found
  - {doc_id}: {title}

  Articles processed: {TOTAL}
  Made executable: {EXECUTABLE_COUNT}
  Validation: {PASSED/FAILED}

  BDD scenarios: {PASS}/{TOTAL} passing
  (from MvT feature file and/or ad-hoc evaluate tests)

  Iterations needed: {N}

  Reverse validation:
  - Fully grounded: {N} articles
  - Assumptions: {N} (see details above)
  - Elements removed: {N}

  Remaining issues:
  - {description of any unresolved failures}

  Dependencies:
  - {regulation_id}: {status: present/missing/needs machine_readable}
    → Run `/law-download` then `/law-interpret` if missing

  TODOs:
  - {external laws that need to be downloaded/implemented}

  Feature file: {law directory}/scenarios/{topic}.feature
  The law is now executable via the engine!

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Check if a RIG preview deployment is actually running and healthy. Verifies CI triggered, images exist, pods started, and services respond. Use when a PR deployment seems broken or after pushing code.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

Performs critical code reviews using REVIEW.md guidelines. Evaluates code quality, architecture, testing, and domain-specific concerns (legal faithfulness, cross-law references, engine safety). Use after completing significant code changes or before merging.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

Processes all open Dependabot PRs sequentially — rebases if needed, analyzes for breaking changes and security issues, then merges or requests changes. Use when you want to handle pending Dependabot dependency updates.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

Writing rules for the regelrecht docs site (docs/). Use when writing or editing prose under docs/ — RFCs, guides, component docs, concept pages, and the NL/EN landing copy. Keeps docs prose free of AI-generated tells and consistent with the site's government-technical register. Not for code, commit messages, or PR descriptions.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

Provides context about the regelrecht Figma design system and helps with Figma-related tasks like component lookups and design comparisons. Use this skill proactively when: implementing UI components, looking up Figma node IDs, comparing code with Figma designs, downloading Figma assets, or working with design tokens. Activate automatically when user mentions Figma, design system, component styling, or asks about RR-Components.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

Downloads Dutch official legal publications including national laws, local regulations, and implementation policies from government sources (wetten.overheid.nl, lokaleregelgeving.overheid.nl). Use this skill proactively when: user mentions downloading, fetching, or importing a Dutch law by name or BWB/CVDR identifier, when a source.regulation reference points to a law not in the corpus, or when user provides a wetten.overheid.nl URL. Activate automatically when user mentions a specific Dutch law name, BWB identifier (BWBR...), or CVDR identifier.

中文简介正在准备中。当前显示原文说明。

NederlandseDigitaleDienst/regelrecht262026年10月22日 更新

查看 NederlandseDigitaleDienst 的全部技能

报告此技能的问题