Skills

Configuring Block Policy

Guide users through creating and managing .satk/block-policy.json for controlling which...

Install

npx skills add matlab/simulink-agentic-toolkit --skill configuring-block-policy -g -a claude-code -y
Category
AI and agents
Updated
6d ago
License
See repository
Context cost
Lightabout 853 tokens
Runs scripts
No, instructions only

What it does

Guide users through creating and managing .satk/block-policy.json for controlling which blocks the agent can use, which are excluded, and which block parameters the agent should not modify. Use when setting up block usage policy for a project.

Configuring Block Policy

Create or update .satk/block-policy.json, the file that controls which blocks (library or built-in) the agent can use, which are excluded, and which block parameters the agent should not modify.

When to Use

  • User asks to set up, create, or configure block policy
  • User asks to restrict or exclude blocks
  • User wants to prevent the agent from modifying certain block parameters
  • building-simulink-models routes here via the policy gate

When NOT to Use

  • Actively building a model → building-simulink-models
  • Improving block descriptions or categories → simulink-curating-library-kg
  • Declaring which libraries exist → Library Setup gate in building-simulink-models

Prerequisites

  • .satk/reuse-libraries.json must exist.

Workflow

  1. Check state, Does .satk/block-policy.json exist? If yes, load and summarize. If no, start fresh.
  2. Policy mode, (skip if no libraries specified) Ask: prefer libraries with built-in fallback, or custom libraries blocks only (no fallback)?
  3. Excluded blocks (optional), Are there any blocks (library or built-in) that should never be placed in your models? Collect referenceBlock + reason.
  4. Off-limits parameters (optional), Are there any block parameters you don't want the agent to modify? Collect referenceBlock + protectedParams[].
  5. Save, Validate and write with library.BlockPolicy.save().

API

policyData = struct();
policyData.policyMode = 'approved_blocks_only';
policyData.fallbackToBuiltins = false;
% Excluded, agent will never place these blocks
policyData.blockedBlocks = struct('referenceBlock', 'LegacyLib/OldCtrl', 'reason', 'Superseded');
% Protected params, agent won't modify these values
policyData.blockRules = struct('referenceBlock', 'Lib/SpeedCtrl', ...
    'protectedParams', {{'Kp', 'Ki', 'Kd'}});

library.BlockPolicy.save(projectRoot, policyData);

For defaults (no restrictions):

Read the whole SKILL.md on GitHub

More in AI and agents