scope-submission

scope-submission is a skill for Claude Code from runverdict/sf-security-review-toolkit. It costs 90 tokens per session (11,676 once invoked), scanned A, original, Apache-2.0.

The first step in preparing a Salesforce security review: identifying which parts of a partner product are being submitted, such as a managed package, API, web app, or mobile app.

In plain words
What is it for?
Use it to inspect the repository and optional live MCP connection, run preparation checks, and create the scope manifest that later review steps use.
Why use it?
A review based on the wrong product scope can miss required checks and produce incomplete security materials.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool; mentions Claude Code.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the sf-security-review-toolkit plugin — 14 skills, 1 hook shipped together

Good fit Use it to inspect the repository and optional live MCP connection, run preparation checks, and create the scope manifest that later review steps use.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add runverdict/sf-security-review-toolkit
Claude Code
/plugin install sf-security-review-toolkit

Made for: Claude Code.

Or install sf-security-review-toolkit, the plugin that ships this one along with the rest of its 14 skills, 1 hook.

Wrote 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.

agentmods badge for scope-submission

README.md
[![agentmods](https://agentmods.dev/badge/skills/runverdict/sf-security-review-toolkit/scope-submission/github.svg)](https://agentmods.dev/skills/runverdict/sf-security-review-toolkit/scope-submission)
Your own site
<a href="https://agentmods.dev/skills/runverdict/sf-security-review-toolkit/scope-submission"><img src="https://agentmods.dev/badge/skills/runverdict/sf-security-review-toolkit/scope-submission/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.

agentmods 80×15 button for scope-submission

Your own site · 80×15
<a href="https://agentmods.dev/skills/runverdict/sf-security-review-toolkit/scope-submission"><img src="https://agentmods.dev/badge/skills/runverdict/sf-security-review-toolkit/scope-submission.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 90 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 11,676 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00090 $0.11676
Opus 5 $0.00045 $0.05838
Sonnet 5 $0.00018 $0.02335
Haiku 4.5 $0.00009 $0.01168

Measured 9d ago against content hash 949b77688116, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

scope-submission scanned grade A with 1 finding 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 9d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

allowed-tools: Read Grep Glob Write Bash(ls *) Bash(find *) Bash(git ls-files*) Bash(git log *) Bash(git rev-parse *) Bash(sf package *) Bash(sf data query *) Bash(sf project retrieve *) Bash(sf org *) Bash(sf sobject *)
skills/scope-submission/SKILL.md · 717 lines

How it starts

The opening of the file, as written. The whole thing — 717 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Scope Submission

Establish what is actually being submitted before anything is audited, generated, or scanned. The output is <target>/.security-review/scope-manifest.json — the input contract for every downstream skill. A wrong manifest is the most expensive mistake in the journey: the audit fans out agents against the wrong surface set, the artifacts describe the wrong architecture, and the DAST scope comes up narrower than the architecture diagram — which reads to a reviewer as an incomplete submission. This phase mirrors what Salesforce's own checklist-builder wizard does (baseline: process-checklist-builder): select architecture elements, get the requirement list those elements imply.

When to use

  • Starting review preparation on a repo with no .security-review/ state
  • The architecture changed since the last manifest — new endpoints, MCP tools added or removed, a package that grew a UI — re-scope before re-auditing
  • NOT for auditing code (/sf-security-review-toolkit:audit-codebase), running scans (/sf-security-review-toolkit:run-scans), or checking overall progress (/sf-security-review-toolkit:security-review-journey)

Prerequisites

  • The partner's repo checked out locally (the <target>)
  • ${CLAUDE_PLUGIN_ROOT}/baseline/requirements-baseline.yaml readable
  • The operator available — half this phase is questions no tool can answer
  • Optional: a staging URL for any live MCP server (see step 3 for why staging matters)
  • Optional power-up: sf (Salesforce CLI) installed and authed to the partner's DevHub — with that and operator consent, step 4 auto-resolves a dozen wizard inputs from the Tooling API into sf-autoresolve.json. Absent it the phase still completes; those inputs fall back to operator-asked / code-inferred

Steps

AUTO-MODE LEGIBILITY (an operating rule for every step below). Claude Code auto mode runs a safety classifier that FAILS CLOSED on compound or opaque shell it "could not evaluate". When inspecting files or repos, PREFER the dedicated Read / Grep / Glob tools over compound shell — cd X && grep … chains, cat pipelines, inline node -e "…", and python3 - <<PY heredocs are exactly the forms the classifier cannot evaluate and blocks. And run each prescribed harness command (gate-spec.mjs, record-consent.mjs, the renders) as its OWN atomic Bash call: one command per call, never &&-chained, never batched in a for-loop. Atomic invocations evaluate cleanly; compound ones get denied mid-run and read to the operator as a broken toolkit.

Read the full file on GitHub · 717 lines

Changes

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.

  1. 9d ago First seen · 717 lines · 90 tokens per session scan A 949b77688116

Subscribe to this mod's changes

scope-submission is a skill published in the GitHub repository runverdict/sf-security-review-toolkit (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 90 tokens to every session and 11,676 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.