Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zscaler/zscaler-mcp-server --skill create-url-filtering-rulegit clone --depth 1 https://github.com/zscaler/zscaler-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zscaler/zscaler-mcp-server/create-url-filtering-rule)<a href="https://agentmods.dev/skills/zscaler/zscaler-mcp-server/create-url-filtering-rule"><img src="https://agentmods.dev/badge/skills/zscaler/zscaler-mcp-server/create-url-filtering-rule/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zscaler/zscaler-mcp-server/create-url-filtering-rule"><img src="https://agentmods.dev/badge/skills/zscaler/zscaler-mcp-server/create-url-filtering-rule.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 12 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00174 | $0.03542 |
| Opus 5 | $0.00087 | $0.01771 |
| Sonnet 5 | $0.00035 | $0.00708 |
| Haiku 4.5 | $0.00017 | $0.00354 |
Grade A, and why
zia-create-url-filtering-rule scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 226 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ZIA: Create URL Filtering Rule
How to talk to the admin
- Don't narrate tool calls, JMESPath filters, search keys, or internal lookup logic. Just confirm what was created and which scoping was applied.
- Empty list responses are authoritative. If a
zia_list_*lookup returns no match for an exact-name search, treat the resource as "does not exist." Do not retry with split keywords or unfiltered listings. - Don't claim a tool doesn't exist without checking. If
zia_create_*andzia_get_*are visible for a resource, the matchingzia_list_*exists too. - Don't narrate strategy pivots. If you have to retry quietly, retry quietly and report only the final outcome.
- After every successful create, mention the activation step explicitly — ZIA changes are staged until activated. The agent must call
zia_activate_configuration()and tell the admin the change is now live.
Scope of this skill
This skill creates one URL Filtering rule per invocation. Anything outside that scope is a hard stop:
- It does not create the auxiliary objects the rule references (URL categories, label IDs, group/department/user IDs, location groups). If those don't exist, this skill stops and points the admin at the right place to create them — it does not improvise.
- It does not modify SSL Inspection, Cloud Firewall, DLP, or any other ZIA rule type. Those are separate resource types and have their own skills (
zia-create-ssl-inspection-rule,zia-create-firewall-filtering-rule). - It does not classify URLs. If the admin gives a literal URL, look up its category via
zia_url_lookupfirst, then scope the rule by the resulting category names — URL Filtering rules match onurl_categories, not on raw URLs.
Hard stop conditions
Stop and report plainly when:
- The admin's stated URL categories, label/group IDs, or location names cannot be resolved. Resolve once via the appropriate
zia_list_*tool; if empty, say so and stop. Do not skip the field, do not invent IDs. - A recurring schedule was requested but no schedule details were provided. Don't guess. Ask once for
start_time,end_time, anddays_of_week, then chain tozia-manage-time-interval. - An action was requested that doesn't exist on this rule type. Valid actions are exactly:
ALLOW,BLOCK,CAUTION,ISOLATE. Anything else (e.g.DECRYPT,INSPECT,BYPASS,BLOCK_DROP) belongs to other rule types and is a hard stop here. ISOLATEwas requested without Browser Isolation entitlement. ISOLATE requires a Browser Isolation subscription. If the admin asks for it on a tenant without entitlement, the API will reject the rule. Confirm the admin has the entitlement before proceeding; if unsure, suggestCAUTIONas the closest non-isolation alternative.block_override=Truewas requested withoutrule_action="BLOCK". Override only applies to BLOCK actions. Reject combinations that don't match.enforce_time_validity=Truewas requested without start/end timestamps. When validity windows are enforced,validity_start_time,validity_end_time, andvalidity_time_zone_idare required. Don't guess the dates.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 226 lines · 174 tokens per session scan A 3ee77e719293
zia-create-url-filtering-rule is a skill published in the GitHub repository zscaler/zscaler-mcp-server (50 stars, last pushed 3d ago), licensed MIT. It adds 174 tokens to every session and 3,542 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
jmcomic
Search, browse, inspect album-specific or site-wide comments, and download manga from JMComic (18comic), obtain the latest Android APK from hect0x7/JMComic-APK, and invoke the upstream jm-view-server jms command for local reading. Use for manga discovery, ranking, comment analysis, downloads, post-processing…
ast-grep
Guide for writing ast-grep rules to perform structural code search and analysis. Use when users need to search codebases using Abstract Syntax Tree (AST) patterns, find specific code structures, or perform complex code queries that go beyond simple text search. This skill should be used when users ask to search for…
debug-optimize-lcp
Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…
ue-mcp-epic-routing
Use when deciding between ue-mcp's native category actions and Epic's wrapped ToolsetRegistry tools (the epic actions, incl. the Blueprint graph DSL) for a task in Unreal. Pulls in when authoring Blueprint graph bodies, or any time both a native action and an epic action could do the job and you need to pick.
frontmcp-setup
Use when starting, scaffolding, or organizing a FrontMCP project. Covers creating a new project (CLI scaffold or manual) for Node, Vercel, and other targets; standalone versus Nx-monorepo layout, naming conventions, generators, and dependency rules; composing multiple @App classes, ESM packages, and remote MCP servers…
apitap
ApiTap gives AI agents cheap access to web data through three layers.