Configuring Block Policy
Authors .satk/block-policy.json controlling which Simulink blocks an agent may use
Test report
- Verdict
- Tested · Works
- Score
- 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-policyAuthors .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.