Agent skill

Security Review Spec

by warpdotdev in warpdotdev/oz-for-oss

Audit a product or tech spec pull request diff for high-level security concerns (threat surface, authentication and authorization model, trust boundaries, sensitive data handling, secrets and key…

MITAuto-check passedSecurity

Install Security Review Spec

skills CLI
$ npx skills add warpdotdev/oz-for-oss --skill security-review-spec -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/oz-for-oss security-review-spec --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/oz-for-oss.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/security-review-spec .claude/skills/security-review-spec && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
security-review-spec
GitHub stars
313
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
1,442 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Audit a product or tech spec pull request diff for high-level security concerns (threat surface, authentication and authorization model, trust boundaries, sensitive data handling, secrets and key…

  • Works in 7 steps: Read pr_description.md and pr_diff.txt… → For each changed section, ask: if this… → Distinguish between "the spec is silent… → …
  • Tasks that involve Security review
  • SKILL.md covers Goal, Inputs, When to apply this skill and Security concerns to audit, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Security Review Spec is an agent skill from warpdotdev/oz-for-oss. Audit a product or tech spec pull request diff for high-level security concerns (threat surface, authentication and authorization model, trust boundaries, sensitive data handling, secrets and key management, dependency posture, and abuse or misuse cases) and fold findings into the same review.json produced by the base spec review. Use as a supplement to review-spec whenever a spec PR is being reviewed.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Security review, Cryptography and Pull requests. The repository describes itself as: Workflows and skills to help people and agents collaborate on open-source software with the power of Oz! The licence is MIT.

When your agent uses it

  • Tasks that involve Security review
  • Tasks that involve Cryptography
  • Tasks that involve Pull requests

Example prompts

  • “/security-review-spec”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Read pr_description.md and pr_diff.txt to understand the scope and intent of the spec change.
  2. For each changed section, ask: if this were implemented as written, which of the concerns above would a security-minded reviewer raise?
  3. Distinguish between "the spec is silent on X" (usually flag) and "the spec explicitly accepts risk X" (usually acceptable if the reasoning…
  4. Prefer evidence-based findings tied to specific changed lines or sections. If a concern only applies to untouched spec content, describe…
  5. Do not flag purely editorial or non-security issues here — those belong in the base review-spec pass.
  6. Do not repeat findings already covered by the base review; if the base pass would naturally catch it, leave it there.
  7. Do not treat a spec as insecure just because it does not exhaustively enumerate every threat. Focus on concerns that would plausibly lead…

What it can do on your machine

Read from SKILL.md and the folder at commit a2bb45f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Security Review Spec loads about 2.6k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 1,442 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from warpdotdev/oz-for-oss at commit a2bb45f, republished under its MIT licence (© warpdotdev). 1,442 words, ~2,631 tokens.

Download SKILL.mdSave it as .claude/skills/security-review-spec/SKILL.md (or your agent's skills folder).
name
security-review-spec
description
Audit a product or tech spec pull request diff for high-level security concerns (threat surface, authentication and authorization model, trust boundaries, sensitive data handling, secrets and key management, dependency posture, and abuse or misuse cases) and fold findings into the same review.json produced by the base spec review. Use as a supplement to `review-spec` whenever a spec PR is being reviewed.

Security Review Spec Skill

Audit the current spec pull request for security concerns at the design-doc level and fold any findings into the same review.json produced by the base review-spec skill.

Goal

Provide a focused security pass on top of the general spec review. This is a supplement to review-spec, not a separate output. Findings must be merged into the single combined review.json so reviewers receive one cohesive review.

The focus here is high-level design concerns that a security-minded reader would raise on a product or tech spec, not line-by-line code issues. Flag gaps, ambiguities, or design choices that would plausibly lead to an insecure implementation if built as described.

Inputs

  • The working directory is the PR branch checkout.
  • The workflow usually provides an annotated diff in pr_diff.txt.
  • The workflow usually provides the PR description in pr_description.md.
  • Spec PRs typically only modify files under specs/.
  • Focus on the spec files and sections changed by this PR.
  • Default behavior: do not post comments or reviews to GitHub directly.

When to apply this skill

  • Apply on spec PRs whenever review-spec is applied.
  • Do not apply on code PRs handled by review-pr; those use security-review-pr instead.
  • Skip the skill entirely when the changed spec content has no plausible security surface (e.g. purely editorial wording changes, typo fixes, or doc structure cleanup). It is better to stay silent than to manufacture findings.
  • Do not duplicate findings the base review-spec pass will already raise. If the base review would naturally catch an issue, leave it there rather than re-reporting it from the security pass.

Security concerns to audit

Evaluate the changed spec content against the following concerns. Treat the list as a checklist, not a ceiling — flag other clearly security-relevant design issues when they appear. Stay at the design-doc level: worry about what the spec does or does not commit to, not how it will be coded.

Threat surface and trust boundaries
  • New external inputs, endpoints, webhooks, CLI surfaces, or file formats that are introduced without describing who can reach them and under what trust assumptions.
  • Trust boundaries that are implied but not explicitly stated (e.g. "the agent receives data from GitHub" without saying which fields are attacker-controlled).
  • User-supplied or third-party content (issues, comments, spec bodies, uploaded files, remote URLs) that will flow into automation, prompts, commands, or storage without a clear validation or sanitization plan.
  • Features that expand what an unauthenticated or low-privilege actor can cause the system to do.
Authentication and authorization model
  • New actors, roles, or automation identities introduced without a clear description of how they authenticate and what they are allowed to do.
  • Authorization rules that are described informally ("only maintainers can trigger this") without specifying how that is enforced.
  • Privilege escalation risks: features where a less-privileged user can cause a more-privileged actor (bot, workflow, agent) to act on their behalf without explicit gating.
  • Missing discussion of how permission or ownership changes propagate (e.g. revoking access, rotating tokens, removing a collaborator).
Sensitive data handling and privacy
  • New data the system will collect, store, log, or transmit without stating sensitivity, retention, or access controls.
  • Personally identifiable information, auth tokens, session identifiers, private repository contents, or customer data routed through logs, analytics, prompts, or third-party services without a redaction plan.
  • Specs that assume data is "internal" without describing the boundary that keeps it internal.
  • Missing discussion of how the feature behaves for private repositories, restricted orgs, or data subject to deletion requests.
Secrets and key management
  • New credentials, API keys, signing keys, or tokens introduced without describing where they live, who can read them, and how they are rotated.
  • Specs that describe passing secrets through environment variables, command-line arguments, or log-visible paths without acknowledging the exposure.
  • Shared secrets across environments (dev, staging, prod) where the spec does not call out isolation.
  • Missing discussion of what happens when a secret is leaked or revoked.
Abuse, misuse, and denial of service
  • Features that can be triggered by external events (webhooks, comments, scheduled jobs) without describing rate limiting, deduplication, or cost controls.
  • Automation loops where attacker-controlled input can cause unbounded work, recursive invocations, or expensive downstream calls.
  • Agent or LLM-driven flows where untrusted input can be interpreted as instructions (prompt injection) without a mitigation described in the spec.
  • Missing discussion of what happens under partial failure (retries, duplicate side effects, poisoned queues).
Dependencies and supply chain
  • New third-party services, registries, models, or binaries introduced without describing trust assumptions or pinning strategy.
  • Plans to execute code or scripts fetched at runtime (remote scripts, downloaded binaries, dynamic imports) without integrity verification.
  • Vendor or tool choices that materially change the repository's trust boundary without calling that out.
Configuration and defaults
  • New configuration options or feature flags whose default value is insecure (auth optional, TLS off, public by default) without explicit justification.
  • Specs that leave important defaults unspecified when the safe choice is not obvious.
  • CORS, cookie, header, or file-permission decisions implied by the design but not written down.
Observability and incident response
  • Specs that introduce security-relevant operations (auth, secret use, privileged actions) without describing what is logged, how logs are protected, and how an operator would notice abuse.
  • Missing discussion of how to detect and respond to the specific failure modes introduced by the feature.
Show full SKILL.md (576 more words)Show less

Process

  1. Read pr_description.md and pr_diff.txt to understand the scope and intent of the spec change.
  2. For each changed section, ask: if this were implemented as written, which of the concerns above would a security-minded reviewer raise?
  3. Distinguish between "the spec is silent on X" (usually flag) and "the spec explicitly accepts risk X" (usually acceptable if the reasoning is sound).
  4. Prefer evidence-based findings tied to specific changed lines or sections. If a concern only applies to untouched spec content, describe it in the review summary instead of as an inline comment.
  5. Do not flag purely editorial or non-security issues here — those belong in the base review-spec pass.
  6. Do not repeat findings already covered by the base review; if the base pass would naturally catch it, leave it there.
  7. Do not treat a spec as insecure just because it does not exhaustively enumerate every threat. Focus on concerns that would plausibly lead to an insecure implementation or a missed mitigation.

Outputs

  • Do not create a separate report file.
  • Fold security findings into the same review.json produced by review-spec.
  • Prefix every security finding's comment body with a [SECURITY] tag after the severity label so reviewers can tell the source of the concern. For example:
    • 🚨 [CRITICAL] [SECURITY] Spec allows untrusted input into shell command without validation: ...
    • ⚠️ [IMPORTANT] [SECURITY] Authentication model for new webhook is unspecified: ...
    • 💡 [SUGGESTION] [SECURITY] Consider documenting token rotation strategy: ...
  • In the review summary, add a dedicated ## Security subsection when there are security findings. List the most important security concerns there in addition to any inline comments. If there are no security findings, do not add the subsection.
  • Count security findings toward the existing Found: X critical, Y important, Z suggestions tally in the summary. Do not add a separate security counter.
  • Upgrade the overall verdict if a security finding materially demands it. A critical security finding in a spec should generally result in Request changes so the design gap is resolved before implementation.

Severity mapping

  • 🚨 [CRITICAL] for design choices that would almost certainly produce an exploitable implementation (e.g. feeding untrusted issue bodies directly into a shell command, auth explicitly optional on a destructive action, storing plaintext credentials).
  • ⚠️ [IMPORTANT] for design gaps that should be resolved before implementation (e.g. missing authentication model for a new surface, unspecified handling of private-repo data, absent rate limiting on an externally triggerable flow).
  • 💡 [SUGGESTION] for defense-in-depth improvements or documentation gaps that would strengthen the spec but are not blockers (e.g. calling out token rotation, documenting log redaction).
  • 🧹 [NIT] is rarely appropriate for security findings; use only when the comment includes a concrete rewrite and the issue is genuinely cosmetic.

Inline comment requirements

  • Follow the same diff-line rules as review-spec: inline comments must target lines that exist in this PR's diff.
  • Keep comments concise, direct, and actionable. Explain the concern, then the fix the spec should adopt.
  • When proposing a concrete spec rewrite, use the same suggestion block format as review-spec.

Boundaries

  • Do not perform code-level review; this skill is scoped to spec prose and design decisions.
  • Do not run dynamic scans, fetch remote advisories, or call external security APIs.
  • Do not speculate about vulnerabilities that cannot be tied to the diff or the checked-out spec files.
  • Do not gate the PR on theoretical risks; prefer 💡 [SUGGESTION] when the risk is low or the mitigation is optional.
  • Do not post to GitHub directly. Your only output is the merged review.json from the base review pass.

© warpdotdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/security-review-spec of warpdotdev/oz-for-oss.

Open the folder on GitHubat commit a2bb45f

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in warpdotdev/oz-for-oss, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Security Review Spec next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Security Review Spec compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Security Review Spec this skillwarpdotdev/oz-for-oss3131 repos~2.6kAutomated safety check: PassMIT
Security Reviewmohitagw15856/pm-claude-skills1.4k—~973Automated safety check: PassMIT
Review Securityhashgraph-online/awesome-codex-plugins1.2k—~601Automated safety check: PassApache-2.0
SecurityOpenHands/extensions157—~342Automated safety check: PassMIT
Security Review ChecklistZeroDeng01/sublinkPro1.7k—~2.3kAutomated safety check: PassMIT
Security ConvexIgorWarzocha/Opencode-Workflows122—~3.1kAutomated safety check: PassNone

Similar skills

  • Security Review

    mohitagw15856/pm-claude-skills

    Review a design, PR, or feature for security issues before it ships.

    1.4k GitHub stars~973 tokensUpdated yesterday
    SecurityAuto-check passed
  • Review Security

    hashgraph-online/awesome-codex-plugins

    Review application and infrastructure changes for exploitable security risks by tracing assets, trust boundaries, attacker-controlled input, authorization, sensitive data, and dangerous sinks.

    1.2k GitHub stars~601 tokensUpdated yesterday
    SecurityAuto-check passed
  • Security

    OpenHands/extensions

    Security best practices for secure coding, authentication, authorization, and data protection.

    157 GitHub stars~342 tokensUpdated yesterday
    SecurityAuto-check passed
  • Security Review Checklist

    ZeroDeng01/sublinkPro

    Checklist-driven security review for changes to authentication, authorization, MFA, secrets, input validation and other security-critical code.

    1.7k GitHub stars~2.3k tokensUpdated 3 days ago
    SecurityAuto-check passed
  • Security Convex

    IgorWarzocha/Opencode-Workflows

    Review Convex security audit patterns for authentication and authorization.

    122 GitHub stars~3.1k tokensUpdated 8 mo ago
    SecurityAuto-check passed
  • Security Audit

    jellydn/my-ai-tools

    A skill your agent uses when reviewing code for security vulnerabilities, hardening an application, or deriving security requirements from OWASP/ASVS guidance.

    123 GitHub stars~2.9k tokensUpdated today
    SecurityAuto-check: notes

More from warpdotdev/oz-for-oss

All 17 skills in this repo
  • Update Dedupe

    warpdotdev/oz-for-oss

    Update the repo-local dedupe-issue-local companion skill using closed-as-duplicate signals.

    313 GitHub stars~927 tokensUpdated 20 days ago
    Auto-check passed
  • Update PR Review

    warpdotdev/oz-for-oss

    Update the repo-local review-pr-local and review-spec-local companion skills using human feedback left on pull request conversations.

    313 GitHub stars~1.6k tokensUpdated 20 days ago
    Auto-check passed
  • Bootstrap Issue Config

    warpdotdev/oz-for-oss

    Bootstrap the issue triage configuration for a repository by analyzing existing issues, labels, and contributors to generate .github/issue-triage/config.json and .github/STAKEHOLDERS.

    313 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Update Triage

    warpdotdev/oz-for-oss

    Update the repo-local triage-issue-local companion skill using signals from recently triaged issues (maintainer re-labels, re-opens, follow-up comments).

    313 GitHub stars~1k tokensUpdated 20 days ago
    Auto-check passed
  • Implement Issue

    warpdotdev/oz-for-oss

    Implement a GitHub issue in this repository by applying the shared implement-specs workflow with Oz-specific issue, spec-context, and summary-file handling.

    313 GitHub stars~2k tokensUpdated 20 days ago
    Auto-check passed
  • Review Spec

    warpdotdev/oz-for-oss

    Review a spec/plan pull request diff and write structured feedback to review.json for the workflow to publish.

    313 GitHub stars~1.9k tokensUpdated 20 days ago
    Auto-check passed

Categories

Questions about Security Review Spec

What does Security Review Spec do?

Audit a product or tech spec pull request diff for high-level security concerns (threat surface, authentication and authorization model, trust boundaries, sensitive data handling, secrets and key…. Security Review Spec is an agent skill from warpdotdev/oz-for-oss.json produced by the base spec review.

When should I use Security Review Spec?

Security Review Spec fits situations like: tasks that involve Security review; tasks that involve Cryptography; tasks that involve Pull requests.

How do I install Security Review Spec in Claude Code?

Run `npx skills add warpdotdev/oz-for-oss --skill security-review-spec -a claude-code`. Or copy the skill folder (.agents/skills/security-review-spec in warpdotdev/oz-for-oss) into .claude/skills/security-review-spec in your project. Claude Code loads it when a task matches its description.

How do I install Security Review Spec in Codex?

Run `npx skills add warpdotdev/oz-for-oss --skill security-review-spec -a codex`. Or copy the skill folder (.agents/skills/security-review-spec in warpdotdev/oz-for-oss) into .agents/skills/security-review-spec in your project. Codex loads it when a task matches its description.

Can I use Security Review Spec in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/oz-for-oss --skill security-review-spec -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/security-review-spec, .gemini/skills/security-review-spec, .github/skills/security-review-spec and .opencode/skills/security-review-spec in your project.

What does Security Review Spec need to run?

SKILL.md names no scripts, command-line tools or credentials: Security Review Spec is instructions for the agent only.

Does Security Review Spec access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Security Review Spec safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Security Review Spec use?

Security Review Spec is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Security Review Spec use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Security Review Spec?

Skills that share tags, products or a category with Security Review Spec: Security Review (mohitagw15856/pm-claude-skills, 1.4k stars), Review Security (hashgraph-online/awesome-codex-plugins, 1.2k stars), Security (OpenHands/extensions, 157 stars) and Security Review Checklist (ZeroDeng01/sublinkPro, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Security Review Spec?

warpdotdev (a GitHub organization) maintains it in warpdotdev/oz-for-oss, which has 313 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on September 17, 2026.

Source: warpdotdev/oz-for-oss on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.