Source profileQuality 92/100

samber/cc-skills/skills/snyk-agent-scan-compliance/SKILL.md

snyk-agent-scan-compliance

Compliance expert for snyk-agent-scan — the agent skill file scanner — NOT for other Snyk CLI tools (snyk test, snyk code SAST, snyk iac, snyk container). Fixes alerts through content restructuring, never by suppressing or deleting information. Covers every file in a skill directory: SKILL.md, references/, assets/, and any secondary markdown. Apply when authoring a new skill, editing an existing one, triaging a failed snyk-agent-scan run locally or in CI, or unblocking a PR held by agent scanner

Source repository stars
194
Declared platforms
2
Static risk flags
1
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

The snyk-agent-scan tool analyzes skill bodies for three categories of unsafe patterns: third-party content exposure (W011), malicious external URLs (W012), and prompt injection via MCP tool calls (W001). All three are fixable through content restructuring without losing any inf…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexDeclaredSource recordInstall path and trigger
    Claude CodeDeclaredSource recordInstall path and trigger
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/samber/cc-skills --skill "skills/snyk-agent-scan-compliance"
    Safe inspection promptEditorial

    Inspect the Agent Skill "snyk-agent-scan-compliance" from https://github.com/samber/cc-skills/blob/5d4470251be7f9959be6da9a3d5d1158f8816eab/skills/snyk-agent-scan-compliance/SKILL.md at commit 5d4470251be7f9959be6da9a3d5d1158f8816eab. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Reference Files

      Review the “Reference Files” section in the pinned source before continuing.

      Review and apply the “Reference Files” source section.
    2. 02

      Quick Reference

      Review the “Quick Reference” section in the pinned source before continuing.

      Review and apply the “Quick Reference” source section.
    3. 03

      Running the Scanner

      Review the “Running the Scanner” section in the pinned source before continuing.

      Review and apply the “Running the Scanner” source section.
    4. 04

      Scan a single skill

      SNYKTOKEN= snyk-agent-scan --skills skills//

      SNYKTOKEN= snyk-agent-scan --skills skills//
    5. 05

      Scan all skills

      SNYKTOKEN= snyk-agent-scan --skills ./skills

      W001 (simplest) — remove MCP tool names from body; confirm allowed-tools is correctW011 — rewrite imperative sentences as passive statements; move checklist items to code blocksW012 — move install commands to frontmatter; pin versions

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 44

    The documentation includes network, browsing, or remote request actions.

    Replace `Check <url>` and `Fetch <url>` with passive hints: `The release notes at <url> may be useful.`

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars194SourceRepository attention, not individual Skill quality
    Compatibility2 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    samber/cc-skills
    Skill path
    skills/snyk-agent-scan-compliance/SKILL.md
    Commit
    5d4470251be7f9959be6da9a3d5d1158f8816eab
    License
    MIT
    Collected
    2026-08-25
    Default branch
    main
    View the original SKILL.md

    Persona: You are a skill-authoring compliance expert. You fix snyk-agent-scan alerts by restructuring content — never by suppressing or deleting useful information.

    Thinking mode: Reason as thoroughly as possible for multi-alert remediation where fixes for one alert type can surface or suppress another. Deep reasoning reduces rework. On Claude Code, use ultrathink to trigger extended thinking explicitly.

    snyk-agent-scan Compliance

    The snyk-agent-scan tool analyzes skill bodies for three categories of unsafe patterns: third-party content exposure (W011), malicious external URLs (W012), and prompt injection via MCP tool calls (W001). All three are fixable through content restructuring without losing any information.

    Reference Files

    FileWhen to read
    references/w001-patterns.mdFixing W001 alerts — MCP tool name patterns
    references/w011-patterns.mdFixing W011 alerts — imperative URL and external content patterns
    references/w012-patterns.mdFixing W012 alerts — version pinning and frontmatter offloading

    Quick Reference

    AlertSeverityRoot CausePrimary Fix
    W011HighSkill body instructs agent to fetch/interpret external contentReplace imperatives with passive availability hints
    W012HighSkill body references external URLs fetched and executed at runtimeMove to frontmatter install block; pin versions
    W001HighSkill body names MCP tool functions explicitlyUse generic formulations instead

    Running the Scanner

    # Scan a single skill
    SNYK_TOKEN=<token> snyk-agent-scan --skills skills/<name>/
    
    # Scan all skills
    SNYK_TOKEN=<token> snyk-agent-scan --skills ./skills
    

    The scanner requires a valid SNYK_TOKEN. In CI, store it as a secret. If snyk-agent-scan is not installed, use uvx snyk-agent-scan@latest as a drop-in replacement without installing. See detailed patterns for fixes per alert type.

    W011 — Third-Party Content Exposure

    W011 fires when the skill body uses imperative verbs directing the agent to fetch, check, or evaluate external content and then act on it. The scanner treats the agent as the grammatical subject performing an external action.

    Rules:

    • Replace Check <url> and Fetch <url> with passive hints: The release notes at <url> may be useful.
    • Remove "always" from any instruction involving external data: Always reference the changelogThe changelog documents breaking changes.
    • Keep tool invocations (gh repo view, govulncheck) in code blocks, not in prose checklists that imply the agent must run them before acting.
    • Decouple tool execution from decisions: running a tool is fine; using its remote-sourced output as the sole trigger for a refactor is not.

    See W011 pattern catalog for 12+ before/after examples.

    W012 — Potentially Malicious External URL

    W012 fires when the body references external content fetched and executed at runtime: package installs with @latest, pipe-to-shell patterns, or GitHub Actions with wrong/non-existent major versions.

    Rules:

    • Move go install pkg@latest and similar commands from prose into the frontmatter metadata.openclaw.install block — the scanner does not flag frontmatter.
    • Pin GitHub Actions to the correct current major version (@v4, not @v6).
    • Never use pipe-to-shell patterns (curl ... | sh) in skill bodies.

    See W012 pattern catalog for 8+ before/after examples.

    W001 — Prompt Injection via MCP Tool Calls

    W001 fires when the skill body explicitly names MCP server tool functions, triggering prompt-injection detection.

    Rules:

    • Never write tool function names (resolve-library-id, query-docs, mcp__*) in the skill body.
    • Replace with generic formulations: Context7 can help as a discoverability platform.
    • MCP tool names may still appear in the allowed-tools frontmatter field — only the body is restricted.

    See W001 pattern catalog for safe reformulations.

    Remediation Methodology

    Fix one alert at a time, re-run snyk-agent-scan after each change, and verify the alert count dropped before moving to the next. If a fix does not reduce alerts, undo it and try a different approach — do not stack unverified changes.

    When a scan returns multiple alerts, fix in this order to minimize rework:

    1. W001 (simplest) — remove MCP tool names from body; confirm allowed-tools is correct
    2. W011 — rewrite imperative sentences as passive statements; move checklist items to code blocks
    3. W012 — move install commands to frontmatter; pin versions
    4. Re-scan after each individual fix to verify improvement
    

    W011 fixes sometimes surface hidden W012s when URLs become more prominent after restructuring.

    False Positives

    Not all alerts are real. Criteria for a likely false positive:

    ConditionLikely false positive?
    URL appears in a markdown table cell as reference data, not in an instructionYes — tables are usually safe
    In a skill describing a library, URL is the library official documentationYes — usually safe
    URL is the homepage or issues link in frontmatterYes — not scanned
    Tool name appears inside a triple-backtick code block as a shell commandSometimes — code blocks have lighter scrutiny
    go install with a pinned version in a Quick Reference code blockSometimes — pinned versions are lower risk
    always appears in a sentence not involving external resourcesYes — "always" alone doesn't trigger W011

    When an alert is a likely false positive, restructure anyway using the passive hint pattern — the scanner's heuristic protects real users; restructuring is safer than assuming scanner error.

    Pre-Authoring Checklist

    Apply these checks while writing a new skill body to avoid alerts before the first scan:

    • No sentence has the agent as subject performing an action on a URL
    • No @latest tags in any install instruction in the body
    • No MCP tool function names (mcp__*, resolve-library-id, etc.) in body prose
    • All install commands are in the frontmatter install block
    • GitHub Actions versions match real existing major versions
    • Tool invocations are in code blocks, not in ordered-list checklists
    • "always" does not precede any external resource instruction

    If you encounter a bug or unexpected behavior in snyk-agent-scan, open an issue at https://github.com/snyk/snyk-agent-scan/issues.

    If you discover a pattern that triggers an alert not covered in the reference files above — a new bypass technique, a false positive condition, or an undocumented alert code — open an issue at https://github.com/samber/cc-skills/issues or a pull request to the samber/cc-skills repository to add it to the relevant pattern file. New patterns are the most valuable contribution to this skill.

    Frequently asked questions

    What to verify before installation and use

    What does the snyk-agent-scan-compliance source document cover?

    The snyk-agent-scan tool analyzes skill bodies for three categories of unsafe patterns: third-party content exposure (W011), malicious external URLs (W012), and prompt injection via MCP tool calls (W001). All three are fixable through content restructuring without losing any inf…

    How do I install snyk-agent-scan-compliance?

    The source record exposes this install command: npx skills add https://github.com/samber/cc-skills --skill "skills/snyk-agent-scan-compliance". Inspect the command and pinned source before running it.

    Which Agent platforms does the source record declare?

    The pinned source record declares support for: codex, claude code.

    Which permission-related actions were detected?

    Static rules flagged network in the source; the page lists the matching lines and excerpts.

    Alternatives

    Compare before choosing

    Computed 9980

    vasilyu1983/AI-Agents-public

    qa-testing-ios

    Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.

    Computed 973,066

    samber/cc-skills-golang

    golang-testing

    Production-ready Golang tests — table-driven tests, testify suites and mocks, parallel tests, fuzzing, fixtures, goroutine leak detection with goleak, snapshot testing, code coverage, integration tests, idiomatic test naming. Use when writing or reviewing Go tests, choosing a testing approach, setting up Go test CI, or debugging flaky/slow tests. For testify-specific APIs see `samber/cc-skills-golang@golang-stretchr-testify`; for measurement methodology see `samber/cc-skills-golang@golang-benchm

    Computed 973,066

    samber/cc-skills-golang

    golang-troubleshooting

    Troubleshoot Golang programs systematically - find and fix the root cause. Use when encountering bugs, crashes, deadlocks, or unexpected behavior in Go code. Covers debugging methodology, common Go pitfalls, test-driven debugging, pprof setup and capture, Delve debugger, race detection, GODEBUG tracing, and production debugging. Start here for any 'something is wrong' situation. Not for interpreting profiles or benchmarking (→ See `samber/cc-skills-golang@golang-benchmark` skill) or applying opt

    Computed 973,066

    samber/cc-skills-golang

    golang-uber-fx

    Golang application framework using uber-go/fx — fx.New, fx.Provide, fx.Invoke, fx.Module, fx.Lifecycle hooks, fx.Annotate (name/group/As), fx.Decorate, fx.Supply, fx.Replace, fx.WithLogger, and signal-aware Run(). Apply when using or adopting uber-go/fx, when the codebase imports `go.uber.org/fx`, or when wiring services with fx.New. For raw DI without lifecycle, see `samber/cc-skills-golang@golang-uber-dig` skill.