configuring-block-policy — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited configuring-block-policy (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
building-simulink-models routes here via the policy gatebuilding-simulink-modelscurating-library-kgbuilding-simulink-models.satk/reuse-libraries.json must exist..satk/block-policy.json exist? If yes, load and summarize. If no, start fresh.referenceBlock + reason.referenceBlock + protectedParams[].library.BlockPolicy.save().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):
policyData = library.BlockPolicy.defaults();
library.BlockPolicy.save(projectRoot, policyData);{
"schemaVersion": 1,
"policyMode": "approved_blocks_only | prefer_customer_libraries",
"fallbackToBuiltins": false,
"blockedBlocks": [
{ "referenceBlock": "LegacyLib/OldController", "reason": "Superseded" }
],
"blockRules": [
{ "referenceBlock": "Lib/SpeedController", "protectedParams": ["Kp", "Ki", "Kd", "SampleTime"] }
]
}policyMode: must be prefer_customer_libraries or approved_blocks_onlyapproved_blocks_only + fallbackToBuiltins: true → rejected (contradictory)protectedParams must be a non-empty array of stringsWhen .satk/block-policy.json already exists:
library.BlockPolicy.loadRaw(projectRoot, libConfig)Common updates: exclude a block, mark params as off-limits, change mode, remove an entry.
block-policy.json without user confirmationlibrary.BlockPolicy.validate(policyData))referenceBlock----
Copyright 2026 The MathWorks, Inc.
----
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.