Configuring Block Policy

Authors .satk/block-policy.json controlling which Simulink blocks an agent may use

Tested · Works

Test report

Verdict
Tested · Works
Score
8.8/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 3344d93

Fetched SKILL.md + manifest.yaml via raw GitHub; frontmatter parses with name+description and the referenced library.BlockPolicy.p exists at tools/model_edit/+library/BlockPolicy.p (HTTP 200, compiled MATLAB P-code). No security smells. Trigger: 5/5 on 3 should-activate phrasings ("set up a block policy so the agent never uses certain blocks", "stop the agent modifying Kp/Ki/Kd on my controller block", "create .satk/block-policy.json excluding LegacyLib blocks") and 2 should-not ("build me a Simulink PID model" -> building-simulink-models; "improve block descriptions in my library KG" -> curating-library-kg). Output: produced a baseline policy JSON without the skill and a skill-schema JSON for the same task; every key differs and the baseline (mode/allowFallback/excludedBlocks/lockedParameters) would be rejected by the toolkit loader, while the skill artifact matches the exact schema (schemaVersion, policyMode enum, fallbackToBuiltins, blockedBlocks[].referenceBlock/reason, blockRules[].protectedParams). I could not run the MATLAB library.BlockPolicy.save()/validate() persistence step (no MATLAB/Simulink), so the JSON content difference is measured but the runtime validation is not.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 5/5

What Configuring Block Policy does

Guides creation and updates of .satk/block-policy.json, the file that governs which Simulink blocks an agent may place, which are excluded, and which block parameters it must not modify. Triggers when a user asks to set up, restrict, or update block-usage policy for a Simulink project, or when the model-building flow routes to a policy gate. Persisting the file uses the toolkit's MATLAB library.BlockPolicy API (Simulink, R2023a+).

How to install Configuring Block Policy

git clone --depth 1 https://github.com/matlab/simulink-agentic-toolkit.git /tmp/configuring-block-policy-src
mkdir -p ~/.claude/skills
cp -R /tmp/configuring-block-policy-src/skills-catalog/model-based-design-core/configuring-block-policy ~/.claude/skills/configuring-block-policy
# Runtime deps to actually save/validate a policy (not needed to read the guidance):
#   - MATLAB R2023a+ with Simulink
#   - the toolkit's model_edit tool on the MATLAB path: /tmp/configuring-block-policy-src/tools/model_edit
#     (provides library.BlockPolicy.save/defaults/validate/loadRaw as compiled .p code)
#   - project prerequisite file .satk/reuse-libraries.json must already exist
# Without MATLAB you can still hand-author .satk/block-policy.json to the documented schema; the .p API just persists+validates it.

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Configuring Block Policy

  • /configuring-block-policy Authors .satk/block-policy.json controlling which Simulink blocks an agent may use

It also activates on plain-language prompts like these:

  • Set up a block usage policy for this project
  • Exclude these block types from agent edits
  • Lock these block parameters from modification

Frequently asked questions

Is the Configuring Block Policy skill free?
Yes. The skill itself is free from matlab/simulink-agentic-toolkit. SkillProof publishes the install command and an independent test verdict at no cost.
Does Configuring Block Policy work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Fetched SKILL.md + manifest.yaml via raw GitHub; frontmatter parses with name+description and the referenced library.BlockPolicy.p exists at tools/model_edit/+library/BlockPolicy.p (HTTP 200, compiled MATLAB P-code). No security smells. Trigger: 5/5 on 3 should-activate phrasings ("set up a block policy so the agent never uses certain blocks", "stop the agent modifying Kp/Ki/Kd on my controller block", "create .satk/block-policy.json excluding LegacyLib blocks") and 2 should-not ("build me a Simulink PID model" -> building-simulink-models; "improve block descriptions in my library KG" -> curating-library-kg). Output: produced a baseline policy JSON without the skill and a skill-schema JSON for the same task; every key differs and the baseline (mode/allowFallback/excludedBlocks/lockedParameters) would be rejected by the toolkit loader, while the skill artifact matches the exact schema (schemaVersion, policyMode enum, fallbackToBuiltins, blockedBlocks[].referenceBlock/reason, blockRules[].protectedParams). I could not run the MATLAB library.BlockPolicy.save()/validate() persistence step (no MATLAB/Simulink), so the JSON content difference is measured but the runtime validation is not.
What is the Configuring Block Policy SkillProof Score?
8.8/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 5/5.
How do I install Configuring Block Policy?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Configuring Block Policy with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.