Best for
- Understand unfamiliar codebases quickly from an attacker's perspective
- Trace exact data flows from untrusted input to dangerous sinks
- Find all instances of a vulnerable pattern once one is identified
gadievron/raptor/.claude/skills/code-understanding/SKILL.md
Provides adversarial code comprehension for security research, mapping architecture, tracing data flows, and hunting vulnerability variants to build ground-truth understanding before or alongside static analysis.
Decision brief
This skill provides adversarial code comprehension for security research. It maps architecture, traces data flows, and hunts for vulnerability variants before or alongside static analysis.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/gadievron/raptor --skill ".claude/skills/code-understanding"Inspect the Agent Skill "code-understanding" from https://github.com/gadievron/raptor/blob/e63c1b0ae449516f50ab510226ceb09a0edb3895/.claude/skills/code-understanding/SKILL.md at commit e63c1b0ae449516f50ab510226ceb09a0edb3895. 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
Complements scanning by building ground-truth knowledge of how code actually works: - Understand unfamiliar codebases quickly from an attacker's perspective - Trace exact data flows from untrusted input to dangerous sinks - Find all instances of a vulnerable pattern once one is…
Before scanning: Build context so scanner results make sense immediately
Modes can be combined. Map → Trace → Hunt is the natural attack progression.
Review the “[CONFIG] Configuration” section in the pinned source before continuing.
1. Read actual code before making any claim. Do not rely on naming conventions or assumptions. 2. Quote the exact line (file path + line number) as proof for every assertion. 3. When tracing a flow, follow it until it terminates — don't stop at the first interesting function. 4.…
Permission review
The documentation asks the agent to read local files, directories, or repositories.
*GATE-U1 [READ-FIRST]:** Never describe how code works without reading it. If you haven't read a file, say so and read it before continuing.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 82/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,413 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
This skill provides adversarial code comprehension for security research. It maps architecture, traces data flows, and hunts for vulnerability variants before or alongside static analysis.
Complements scanning by building ground-truth knowledge of how code actually works:
| Mode | Command flag | Purpose |
|---|---|---|
| Map | --map | Build high-level context: entry points, trust model, data paths |
| Trace | --trace <entry> | Follow one flow source → sink with full call chain |
| Hunt | --hunt <pattern> | Find all variants of a pattern across the codebase |
| Teach | --teach | Explain unfamiliar code, frameworks, or patterns in depth |
Modes can be combined. Map → Trace → Hunt is the natural attack progression.
output_dir: resolved by raptor-run-lifecycle start understand
confidence_levels:
high: "Direct code evidence — quote the line"
medium: "Inferred from context — state the assumption"
low: "Speculative — flag explicitly, verify before acting on"
flow_format: source → transform(s) → sink
libexec/ scripts exactly as shown in the prompts — do not prepend bash, export commands, absolute paths, or additional shell logic. The permission system auto-approves libexec/raptor-* commands only when run in this exact form.GATE-U1 [READ-FIRST]: Never describe how code works without reading it. If you haven't read a file, say so and read it before continuing.
GATE-U2 [ATTACKER-LENS]: When reading any code path, ask: where does trust transfer? Where are checks missing? Where does user input influence execution? These questions drive analysis, not just "does this code do what the comment says."
GATE-U3 [FULL-FLOW]: When tracing a data flow, follow every branch: happy path, error paths, middleware, async handlers. A missing check in an error path is still a missing check.
GATE-U4 [VARIANT-COMPLETE]: A variant hunt is not complete until the full codebase has been searched. If a pattern appears in one place, assume it appears in others until proven otherwise.
GATE-U5 [EVIDENCE-ONLY]: Confidence levels must match evidence. High confidence requires a quoted line. Medium requires a stated assumption. Low must be flagged and not acted on until verified.
path/to/file.py:42 format throughoutsource (file:line) → transform (file:line) → sink (file:line)(confidence: high — file:line) or (confidence: medium — assumed from X)$WORKDIR/ for pipeline integrationShared inventory: MAP-0 runs build_checklist() to produce checklist.json with SHA-256 checksums per file. This is the same inventory used by /validate Stage 0. Coverage tracking (checked_by per function) is cumulative across both skills.
Checklist item schema (checklist.json → files[].items[]):
| Field | Type | Values / Notes |
|---|---|---|
name | string | Function/global/macro/class name |
kind | string | "function", "global", "macro", "class" |
line_start | int | First line of the item |
line_end | int|null | Last line (null if unknown) |
signature | string | Full signature (functions only) |
checked_by | list[str] | Run IDs that have reviewed this item |
metadata | object | Language-specific: visibility, params, return_type, attributes |
The field is kind, not type. Source: core/inventory/extractors.CodeItem.
Output schemas are aligned with the validation pipeline's formats (attack-surface.json, attack-paths.json, findings.json).
| Stage | Mode | Gate(s) | Output |
|---|---|---|---|
| Map | --map | U1, U2 | context-map.json |
| Trace | --trace | U1, U2, U3, U5 | flow-trace-<id>.json |
| Hunt | --hunt | U1, U4, U5 | variants.json |
| Teach | --teach | U1, U5 | none --- inline output |
See stage-specific files for detailed instructions.
If the target has a runnable binary, MAP-7 in map.md describes how
to corroborate the static map with a sandbox(observe=True) probe.
The runtime observation lands under a runtime_observation key in
context-map.json with correlations against entry points and sinks
— an entry point whose file the binary actually reads is
"runtime-confirmed" rather than only structurally identified.
Skip when the target is library/source-only or when the operator has no consent to execute the binary.
This analysis is performed for defensive purposes, security research, and authorized security testing only.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
event4u-app/agent-config
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.