Agent Native

verification

This skill performs in-depth semantic analysis of code changes before committing, including code path tracing, detection of behavioral changes, identification…

by SnykOfficial publisherNot reviewed

Identity proven by GitHub's verified organisation badge (snyk)

Agents
Not labelled yet
License
Apache-2.0 (permissive)
Pin
b4b2713pinned Oct 9, 2026
Context cost
about 2,200 tokenswhen the skill loads
GitHub stars
69on snyk/snyk-intellij-plugin
Scripts
None found

What it does

“Deep verification of code changes before committing. Traces code paths, detects semantic changes, identifies code smells and security issues. Reads GitHub PR reviews to propose implementation decisions. Use before commits, after implementation, or when asked to verify/review changes.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill performs in-depth semantic analysis of code changes before committing, including code path tracing, detection of behavioral changes, identification of code smells, and security scanning. It reads GitHub PR reviews to guide implementation decisions and enforces test-driven development for any fixes that emerge from verification.

When to use it

  • Before committing implementation changes to identify issues early
  • After completing implementation steps to verify correctness
  • When addressing GitHub PR review feedback that requires decisions
  • When explicitly asked to verify or review code changes

When not to

  • For initial project setup or infrastructure changes requiring different validation approaches
  • As a substitute for automated linting and formatting tools
  • When rapid prototyping is the immediate goal

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add snyk/snyk-intellij-plugin --skill verification

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install snyk/snyk-intellij-plugin verification@b4b271338f6002b6c24cc9aa3152fec833da6cc4

Installs the commit we checked (b4b2713).

Copy by hand

Download the folder at b4b2713 and put it in .claude/skills/verification for Claude Code and in .agents/skills/verification for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at b4b2713

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "verification" by Snyk.

Source, pinned to commit b4b271338f6002b6c24cc9aa3152fec833da6cc4:
https://github.com/snyk/snyk-intellij-plugin/tree/b4b271338f6002b6c24cc9aa3152fec833da6cc4/.cursor/skills/verification

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/verification/ for Claude Code and .agents/skills/verification/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/snyk/verification

SKILL.md at the pin

---
name: verification
description: Deep verification of code changes before committing. Traces code paths, detects semantic changes, identifies code smells and security issues. Reads GitHub PR reviews to propose implementation decisions. Use before commits, after implementation, or when asked to verify/review changes.
---

# Code Verification

Verify generated code in depth before committing. This skill complements the pre-commit checklist by adding semantic analysis.

## When to Use

- Before committing implementation changes
- After completing implementation steps
- When PR review feedback needs to be addressed
- When explicitly asked to verify code
- When starting a new session of an implementation plan

## Verification Workflow

Copy this checklist and track progress:

```
Verification Progress:
- [ ] Step 1: Load project rules and standards
- [ ] Step 2: Trace code paths for modified files
- [ ] Step 3: Check for semantic changes
- [ ] Step 4: Identify code smells
- [ ] Step 5: Run security scans
- [ ] Step 6: Review PR feedback (if PR exists)
- [ ] Step 7: Get check results from github with gh cli
- [ ] Step 8: Update implementation plan with findings
- [ ] Step 9: Fix issues (TDD REQUIRED - test first, then fix)
- [ ] Step 10: Check coverage of changed files > 80%
- [ ] Step 11: Add tests if coverage not sufficient
- [ ] Step 12: Commit changes
```

---

## Step 1: Load Project Rules

Read and apply these project standards:

1. `.cursor/rules/general.mdc` - critical rules and workflow
2. `.github/CONTRIBUTING.md` - coding standards

Key rules to verify against:

- Outside-in TDD followed
- Minimum necessary changes
- No workarounds or commented-out code
- gomock used for mocking (no custom mocks)
- Generated types used for mock responses

---

## Step 2: Trace Code Paths

For each modified file, trace the execution flow:

1. **Identify entry points**: API handlers, public functions, exported methods
2. **Follow the call chain**: Map function calls through the codebase
3. **Verify dependencies**: Check that all called functions exist and have correct signatures
4. **Check return paths**: Ensure all code paths return appropriate values/errors

### Verification Questions

- Does the new code integrate correctly with existing callers?
- Are all error cases handled?
- Do interface implementations satisfy their contracts?
- Are there unreachable code paths?

---

## Step 3: Check for Semantic Changes

Detect unintended behavioral changes:

### Breaking Changes

- Modified function signatures
- Changed return types or error conditions
- Altered struct field types or tags
- Modified interface definitions

### Behavioral Changes

- Different error messages (may break client parsing)
- Changed response structure
- Modified validation logic
- Altered default values

### Database/API Impact

- Schema changes requiring migrations
- API contract changes requiring versioning
- Query behavior changes

**Action**: Flag any semantic changes and ask if they are intentional.

---

## Step 4: Identify Code Smells

Check for these patterns:

### Structural Smells

- [ ] Functions longer than 50 lines
- [ ] Deeply nested conditionals (>3 levels)
- [ ] Duplicate code blocks
- [ ] God objects/functions doing too much
- [ ] Long parameter lists (>5 params)

### Go-Specific Smells

- [ ] Naked returns in functions with named return values
- [ ] Ignored errors (especially from deferred calls)
- [ ] Context not propagated correctly
- [ ] Goroutine leaks (unbounded spawning, no cleanup)
- [ ] Race conditions (shared state without synchronization)
- [ ] Use testing.T for context, tempDir and helpers

### Design Smells

- [ ] Circular dependencies between packages
- [ ] Leaky abstractions (implementation details exposed)
- [ ] Inappropriate intimacy (packages knowing too much about each other)
- [ ] Feature envy (functions using other package's data excessively)

### Copy-Paste Code (Refactoring Candidates)

Identify duplicated code that should be extracted:

- [ ] Similar code blocks across multiple files (extract to shared function)
- [ ] Repeated struct transformations (extract to mapper/converter)
- [ ] Duplicated validation logic (extract to validator)
- [ ] Repeated error handling patterns (extract to helper)
- [ ] Similar test setup code (extract to test helpers)
- [ ] Copy-pasted handler logic (extract to shared middleware or base handler)

**Detection approach**:

1. Search for similar function names across packages
2. Look for identical error messages or log statements
3. Check for repeated struct field assignments
4. Compare new code against existing patterns in the codebase

**Action**: For duplicated code, propose extraction with:

- Suggested function/package location
- Shared interface if applicable
- Impact on existing callers

**Action**: For each smell found, propose a specific fix or flag for discussion.

---

## Step 5: Run Security Scans

Execute security checks using Snyk:

```bash
# Get absolute path
pwd
```

Then run:

1. `snyk_sca_scan` - dependency vulnerabilities
2. `snyk_code_scan` - code security issues

### Manual Security Checklist

- [ ] No hardcoded secrets, tokens, or credentials
- [ ] Input validation on all external data
- [ ] SQL queries use parameterized statements
- [ ] No path traversal vulnerabilities
- [ ] Proper authentication/authorization checks
- [ ] Sensitive data not logged
- [ ] HTTPS/TLS used for external calls

**Action**: Fix security issues using the `implementation` skill. If in test data, note but don't fix.

---

## Step 6: Review PR Feedback

If a GitHub PR exists for the current branch:

### Fetch PR Information

```bash
# Check if PR exists
gh pr view --json number,reviews,comments,url 2>/dev/null
```

1. If PR exists: trigger feedback by commenting `/review` in the PR.
2. Wait for the bot to review.
3. Review ALL comments in the PR feedback including the pr-review-bot comments

### Process Feedback

For each review comment:

1. **Categorize**: Bug | Enhancement | Style | Question | Blocker
2. **Assess**: Is this actionable? Does it require a decision?
3. **Prioritize**: Critical (must fix) | Should fix | Nice to have

### Create Decision Proposals

For feedback requiring decisions, add to implementation plan:

```markdown
## PR Feedback Decisions Required

### [Comment summary]

- **Reviewer**: @username
- **Category**: [Bug/Enhancement/etc]
- **Context**: [Quote relevant comment]
- **Options**:
  1. [Option A with pros/cons]
  2. [Option B with pros/cons]
- **Recommendation**: [Your recommendation]
- **Decision**: [ ] Pending
```

---

## Step 7: Update Implementation Plan

Add verification findings to the implementation plan:

```markdown
## Verification Results

### Code Path Analysis

- [List traced paths and any issues found]

### Semantic Changes

- [List any behavioral changes detected]

### Code Smells

- [List smells found with proposed fixes]

### Refactoring Candidates

- [List duplicated code with extraction proposals]

### Security Findings

- [List security issues and resolutions]

### PR Feedback Items

- [List items requiring decisions]
```

---

## Quick Reference

### Commands

| Task      | Command                                     |
| --------- | ------------------------------------------- |
| Check PR  | `gh pr view --json number,reviews,comments` |
| SCA scan  | `snyk_sca_scan` with absolute path          |
| Code scan | `snyk_code_scan` with absolute path         |
| Run tests | `make cover && ./gradlew test-integration-local` |

### Red Flags (Stop and Discuss)

- Breaking API changes without versioning
- Security vulnerabilities in non-test code
- Significant behavioral changes
- Unresolved PR blockers
- Significant code duplication (>20 lines copied)

---

## Step 9: Fix Issues (TDD Required)

**CRITICAL: ALL fixes MUST follow TDD. NEVER implement a fix without writing a failing test first.**
**CRITICAL: Use implementation skill.**

When verification identifies issues to fix:

### 9.1 Write Failing Test First

Before touching production code:

1. Write a test that exposes the issue
2. Run the test - confirm it FAILS (or would fail to catch the issue)
3. The test proves the fix is needed and will prevent regression

Example for security fix (URL sanitization):

```go
func TestSanitizeURLForLogging_StripsCredentialsInAllLogStatements(t *testing.T) {
    // Test that URLs with credentials are sanitized before logging
    urlWithCreds := "https://user:token@github.com/org/repo"

    // Capture log output and verify no credentials appear
    // This test should FAIL before the fix is applied
}
```

### 9.2 Implement Minimal Fix

Only after the test exists:

1. Apply the minimum change to make the test pass
2. Run the test - confirm it PASSES
3. Run all test suites to verify no regressions (read `commit` skill for details)

### 9.3 TDD Violation Check

Before applying ANY code fix, ask yourself:

- [ ] Did I write a test first? If NO, STOP and write the test.
- [ ] Does the test fail without my fix? If NO, improve the test.
- [ ] Is my fix minimal? If NO, reduce scope.

**If you catch yourself implementing before testing, STOP, revert, and start with the test.**

From snyk/snyk-intellij-plugin at b4b2713, shown as plain text under its license: Apache-2.0 (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at b4b2713

Files

1 file, 9.2 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at b4b2713
All 34 skills from Snyk

More from Snyk

  • algorithmic-art

    This skill generates algorithmic art using p5.js by first creating a computational philosophy describing the generative aesthetic, then implementing it as an…

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 4.8K tokens · pinned 6 days ago

  • brand-guidelines

    This skill applies Anthropic's official brand identity to artifacts by setting specific colors, typography, and design standards.

    Claude Code, Codex, Cursor +4 · about 480 tokens · pinned 6 days ago

  • canary-project-skill

    This is a test fixture skill used by the canary testing system to verify that the agent-scan inspect command properly detects project-scoped skills located in…

    Claude Code, Codex, Cursor +4 · about 45 tokens · pinned 6 days ago

  • canvas-design

    This skill helps agents create visual art and design work as PNG or PDF files by first developing a design philosophy or aesthetic movement, then expressing…

    Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago

  • doc-coauthoring

    This skill guides users through a structured three-stage workflow for co-authoring documentation, proposals, specs, and similar structured content.

    Claude Code, Codex, Cursor +4 · about 3.8K tokens · pinned 6 days ago

  • docx

    This skill enables the agent to create, edit, and analyze Word documents (.docx files) with support for tracked changes, comments, and formatting preservation.

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 6 days ago

All Coding workflow skills
  • maintainer-review

    This skill helps maintainers assess GitHub issues and PRs by evaluating whether claimed problems are real, whether existing features already solve them, and…

    by OpenAIOfficial publisher

    Claude Code, Codex, Cursor +4 · about 8.9K tokens · pinned 6 days ago

  • maintainer-review

    Evaluates GitHub issues and PRs through a systematic desk review to assess demonstrated need, existing workarounds, design correctness, and maintainer impact.

    by OpenAIOfficial publisher

    Claude Code, Codex, Cursor +4 · about 8.3K tokens · pinned 6 days ago

  • dd-file-issue

    This skill helps file GitHub issues to the DataDog/pup repository for bugs, feature requests, and documentation problems related to the pup CLI, agents, and…

    by DatadogOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.2K tokens · pinned 6 days ago

  • create-pr

    This skill creates a GitHub pull request with a Linear-ticket-prefixed title and a decision-led narrative description for the prisma-next repository.

    by PrismaOfficial publisher

    Claude Code, Codex, Cursor +4 · about 4.3K tokens · pinned 6 days ago

  • github-review-iteration

    Orchestrates an iterative GitHub PR review loop by delegating triage and implementation to sub-agents, then repeating until all actionable review items are…

    by PrismaOfficial publisher

    Contains scripts

    Claude Code · about 1.9K tokens · pinned 6 days ago

  • prisma-next-feedback

    Routes bug reports, feature requests, and team Q&A to the appropriate Prisma Next channel.

    by PrismaOfficial publisher

    Claude Code, Codex, Cursor +4 · about 4.2K tokens · pinned 6 days ago

Open roles at Snyk

1 open role on the jobs board

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use