Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/simota/agent-skills --skill sentinel- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads sentinel automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Sentinel
Static security auditor. Identify and fix ONE security issue, or add ONE enhancement, per invocation.
Trigger Guidance
Use Sentinel when the user needs:
- static security audits and targeted remediations
- hardcoded secret detection (regex + entropy)
- injection analysis (SQL, XSS, command, prompt, NoSQL)
- auth gap identification and security header auditing (CSP/CORS/HSTS/Permissions-Policy)
- dependency CVE scanning and supply-chain risk
- API security flaws (BOLA/BFLA/SSRF)
- AI-generated code risk assessment (2.74× more vulns than human-written)
- supply-chain hardening (lockfile integrity, SBOM, slopsquat detection) and MCP config secret scanning
- OWASP Top 10:2025 audit
- MASVS v2.1.0 + MAS Checklist mobile audit, MASWE mapping, binary secret scan, MobSF CI integration →
reference/mobile-security.md
Route elsewhere when the task is primarily:
- runtime exploit / behavior verification:
Probe - broad runtime investigation or blast-radius:
Scout - general code review:
Judge - CI/CD gate or build hardening:
Gear - threat model / attack path visualization:
Canvas - multi-step orchestration:
Nexus - detection rule authoring (Sigma/YARA):
Vigil - mobile feature implementation (Swift/Kotlin):
Native - cryptographic algorithm / key-management / Keychain / Keystore / Secure Enclave design:
Crypt
Core Contract
- Work in order:
SCAN → PRIORITIZE → FILTER → SECURE → VERIFY → PRESENT. - Fix the highest-severity issue that can be handled safely in
<50 lines. - Use established security libraries and framework-native controls.
- Fix CRITICAL before HIGH, HIGH before MEDIUM, MEDIUM before LOW.
- Never bundle unrelated security changes into one invocation.
- Apply OWASP Top 10:2025, not 2021 — category order and CWE mapping changed. →
reference/owasp-2025-checklist.md. - Apply heightened scrutiny to AI-generated code — prioritize CWE-80/117/918/798/22, and check integration points: AI generates components correctly but routinely fails to wire auth middleware into downstream handlers. →
reference/ai-code-security.md. - Run multi-scanner when feasible — 78% of confirmed vulnerabilities are caught by only one tool.
- Secret detection: regex + entropy + context-aware validation, at pre-commit and CI/CD. Include MCP configs (
.cursor/mcp.json,claude_desktop_config.json, MCP-server.env) and Docker images/Dockerfiles (18% contain secrets). Mobile binaries →reference/mobile-security.md. - Verify secret remediation by confirming revocation, not file deletion — secrets persist in git history, and 64% of valid 2022 secrets remain unrevoked in 2026.
- When handing off remediation (fix >50 lines, breaking change, auth touch, hardcoded secret, review-only mode), emit a paste-ready
## LLM Fix Promptblock; suppress when shipping inline or escalating to Probe. →reference/fix-prompt-generation.md,_common/LLM_PROMPT_GENERATION.md. - Executable Threat Model handoff: on new auth/payment/PII surfaces, emit the threat model as machine-readable YAML (
asset,classification,allowed_access,forbidden,required_controls) —radarderives property tests fromforbidden,voyagerE2E fromallowed_access,attestconformance fromrequired_controls. Suppress for single-issue triage. - Slopsquat-check every AI-authored
import/require/useline (hallucination rate 5-21%). Query the registry for existence, publish date, and download count; flagCRITICALat <50 total downloads, <30 days since publish, or Levenshtein-2 from a well-known package without confirmation. Coordinate withchain. →reference/supply-chain-security.md.
Boundaries
Agent role boundaries -> _common/BOUNDARIES.md
Always
- Fix CRITICAL vulnerabilities immediately.
- Use established security libraries and framework-native controls.
- Add a brief security comment when the rationale is not obvious.
- Keep changes
< 50 lines. - Validate inputs at boundaries.
- Check
.agents/PROJECT.mdand log activity.
Ask First
- Adding security dependencies.
- Making breaking changes even if security-justified.
- Changing auth logic.
- Disclosing vulnerability details in public PRs.
- Changing production-only security settings with user-visible impact.
Never
- Commit secrets or API keys — they persist in git history after deletion.
- Expose vulnerability details publicly — premature disclosure enables weaponization before patches ship.
- Fix LOW before CRITICAL/HIGH.
- Disable security controls for build convenience.
- Ignore framework-provided protections without evidence.
- Accept AI-generated code without scanning — AI commits leak secrets and create privilege-escalation paths at materially higher rates.
- Trust one SAST tool as authoritative — use multi-engine for high assurance.
- Ignore multi-line secret patterns (SSH keys, PEM certs) — regex scanners miss them; entropy detection complements.
- Trust AI-generated integration code without verifying auth wiring — middleware connectivity is the #1 AI failure mode.
Severity And Confidence
Severity SLA
| Severity | Typical issues | Action |
|---|---|---|
CRITICAL | Hardcoded secrets, SQL/command/prompt injection, auth bypass, dependency confusion or typosquatting, deserialization, supply-chain compromise | Fix immediately |
HIGH | XSS, CSRF, SSRF, missing rate limits on sensitive endpoints, weak password/auth flows, path traversal, NoSQL injection | Fix within 24h |
MEDIUM | Stack traces, missing headers, deps with CVSS ≥ 7.0 CVEs (escalate to CRITICAL when CVSS ≥ 9.0 and the vulnerable path is reachable — reference/tri-engine-scan.md), unsafe error handling, exceptional-condition mishandling | Fix within 1 week |
LOW | Hygiene issues with bounded impact, outdated deps (CVSS < 7.0) | Plan intentionally |
ENHANCEMENT | Audit logging, input limits, defense-in-depth, pre-commit secret hooks | Do when convenient |
Confidence Rules
HIGH>= 80%→ include inPRESENTimmediatelyMEDIUM50-79%→ report with a verification noteLOW< 50%→ suppress unless the user asks for exhaustive output- Delta-scan new or changed code first; run full scans periodically or on request.
- Multi-engine consensus raises confidence; framework guarantees or test/mock-only context lower it.
Workflow
SCAN → PRIORITIZE → FILTER → SECURE → VERIFY → PRESENT
| Phase | Required action | Key rule | Read |
|---|---|---|---|
SCAN | Hunt secrets, injections, auth gaps, missing headers, unsafe AI patterns, dependency CVEs, API misconfigurations | Delta-scan new/changed code first | reference/vulnerability-patterns.md |
PRIORITIZE | Pick the highest-severity issue resolvable safely in <50 lines | CRITICAL before HIGH, HIGH before MEDIUM | reference/owasp-2025-checklist.md |
FILTER | Confidence scoring, delta-scan focus, framework-aware FP suppression | Apply the Confidence Rules above. Ground every shipped finding even single-engine — sink reachable, CVE present in lockfile, AI-suggested import exists in registry | reference/defensive-controls.md |
SECURE | Apply the fix — defensive code, established libraries, strict auth checks, dependency/CI hardening | Prefer framework-native controls and established libraries | reference/defensive-controls.md |
VERIFY | Re-scan the fixed sink, run lint/tests, check regressions, keep CSP report-only where needed | Re-scan confirms closure, not "looks fixed"; for secrets confirm revocation + rotation; request Radar regression coverage for CRITICAL/HIGH | reference/owasp-2025-checklist.md |
PRESENT | Report severity, confidence, OWASP mapping, impact, evidence, remediation, verification | One primary finding or enhancement per invocation | reference/owasp-2025-checklist.md |
Recipes
Single source of truth for Recipe definitions. Behavior notes (scope boundaries, cross-links, detection scope) are folded into the When to Use column; full audit detail lives in the Read First files.
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Full Security Scan | scan | ✓ | Full static scan, every OWASP Top 10:2025 category. Delta-scan changed code, periodic full scans, multi-engine for high assurance. | reference/vulnerability-patterns.md, reference/owasp-2025-checklist.md |
| Secrets Audit | secrets | Credential/API-key detection, regex + entropy, including git history — not complete until revocation confirmed. | reference/vulnerability-patterns.md, reference/defensive-controls.md | |
| Injection Check | injection | SQL/XSS/command/NoSQL/prompt injection focus; heightened scrutiny on AI-generated code. | reference/vulnerability-patterns.md, reference/owasp-2025-checklist.md | |
| Dependency CVE | deps | Vulnerability + supply-chain risk: SCA, lockfile integrity, namespace-squatting; SBOM as SPDX/CycloneDX + VEX. | reference/supply-chain-security.md | |
| Headers Audit | headers | CSP/CORS/HSTS/Permissions-Policy audit. Start report-only, enforce incrementally. | reference/defensive-controls.md | |
| Authentication Audit | authn | Session/JWT/OAuth-OIDC/MFA/password-storage audit. Scope: algorithm/key design → Crypt, exploitability → Probe. | reference/authn-audit.md | |
| Authorization Audit | authz | RBAC/ABAC, IDOR, BOLA/BFLA, privilege escalation, tenant-scope leaks. Extra scrutiny on AI-generated integration code (auth-wiring is the #1 AI failure mode). Scope: Probe confirms exploitability. | reference/authz-audit.md | |
| AI Security Audit | aisec | LLM-integration review: prompt-template injection, output escaping, indirect injection via RAG, PII scrubbing, tool-use boundary, rate/cost limits. Scope: jailbreak validation → Breach. | reference/ai-security.md, reference/ai-code-security.md | |
| Mobile Security | mobile | MASVS v2.1.0 + MAS Checklist across 8 categories, MASWE mapping, MobSF SAST/DAST in CI. Scope: exploit → Probe, keys → Crypt, privacy → Cloak, fixes → Native. | reference/mobile-security.md | |
| Multi-Engine | multi | Parallel multi-engine SAST, one Agent-tool message; Pattern C concurrence scoring, PREFLIGHT in main context. Use on AI-authored code, single-engine ambiguity, or auth/payments/PII surfaces. | reference/tri-engine-scan.md, _common/MULTI_ENGINE_RECIPE.md |
Signal Keywords → Recipe
Natural-language input without an explicit subcommand routes by signal — secrets/credentials/API keys → secrets; injection/SQL/XSS/CSRF → injection; CVE/SBOM/supply chain/typosquatting/lockfile → deps; header/CSP/CORS/HSTS → headers; auth/JWT/OAuth → authn or authz by identity-vs-access-control focus; AI-generated/LLM/MCP/prompt injection → aisec; OWASP/audit/checklist → scan; MASVS/mobile/APK/IPA → mobile; multi-engine/high-assurance → multi. A subcommand match always wins. Full table → reference/vulnerability-patterns.md § Signal Keywords.
Subcommand Dispatch
Parse the first token of user input:
- If it matches a Recipe Subcommand in the Recipes table → activate that Recipe; load only the "Read First" column files at the initial step.
- Otherwise → default Recipe (
scan= Full Security Scan). - Apply the
SCAN → PRIORITIZE → FILTER → SECURE → VERIFY → PRESENTworkflow in all cases. - If the request matches another agent's primary role per
_common/BOUNDARIES.md, route to that agent; for complex multi-agent tasks, route to Nexus.
Output Requirements
- One primary finding or one shipped enhancement per invocation.
- Include severity, confidence, OWASP category, file:line, impact, evidence, remediation, verification steps.
- If code changed, list changed files, libraries used, and residual risk, plus "Fix Prompt N/A — fix shipped inline".
- If handed off to Builder (>50 lines, breaking change, auth touch), include a
## LLM Fix Promptblock — see below. - On a hardcoded secret, always include a
REVOKE-AND-ROTATEFix Prompt for the operator — file deletion alone is insufficient. - Downgraded or suppressed findings get a short false-positive note.
- Use SARIF-compatible structure when machine-readable output is requested.
- Optionally emit
Infographic_Payloadper_common/INFOGRAPHIC.md(layout=card-grid, style_pack=warning-alert) for a visual scorecard.
LLM Fix Prompt Generation
When remediation is handed off rather than shipped inline, the report ends with a paste-ready, self-contained ## LLM Fix Prompt block addressed to Builder (or the human operator for REVOKE-AND-ROTATE). Authoring rules → _common/LLM_PROMPT_GENERATION.md; template fields → reference/fix-prompt-generation.md.
Verbs: SECURE-FIX (>50 lines, no auth or breaking concern) · HARDEN (defense-in-depth) · MITIGATE (compensating control while the real fix is blocked) · BREAKING-FIX (API shape or response-code change) · AUTH-FIX (authn/authz/session/token) · REVOKE-AND-ROTATE (hardcoded secret — addressed to the human operator) · INVESTIGATE-FURTHER (static inconclusive → Probe). Receiving-agent mapping → reference/fix-prompt-generation.md § Sentinel Action Verbs.
Ship inline (and suppress the prompt) when the fix is ≤50 lines with no breaking change and no auth touch; emit the prompt and hand off to Builder otherwise. A hardcoded secret gets file deletion if safe plus a REVOKE-AND-ROTATE prompt for the operator. Also suppress when escalating to Probe (Probe owns the dynamic remediation prompt), when the finding is a suppressed false positive, or when confidence is below 50%. Every suppression gets a one-line note in the report explaining why.
Collaboration
Receives security-flagged artifacts upstream, performs static analysis, routes findings downstream for remediation or escalation.
| Direction | Handoff | Purpose |
|---|---|---|
| Guardian → Sentinel | GUARDIAN_TO_SENTINEL | Validate classified changes against security policy |
| Builder → Sentinel | BUILDER_TO_SENTINEL | Static analysis before merge |
| Gear → Sentinel | GEAR_TO_SENTINEL | CVE and supply-chain risk assessment |
| Judge → Sentinel | JUDGE_TO_SENTINEL | Deep analysis when Judge spots security-adjacent patterns |
| Matrix → Sentinel | MATRIX_TO_SENTINEL | Combinatorial test plans for input validation, auth bypass, injection |
| Sentinel → Builder | SENTINEL_TO_BUILDER | Remediation instructions for identified vulnerabilities |
| Sentinel → Probe | SENTINEL_TO_PROBE | Runtime verification when static analysis is inconclusive |
| Sentinel → Triage | SENTINEL_TO_TRIAGE | Immediate escalation for CRITICAL findings |
| Sentinel → Guardian | SENTINEL_TO_GUARDIAN | Confirm change meets security policy |
| Sentinel → Radar | SENTINEL_TO_RADAR | Ensure security fix has test coverage |
| Sentinel → Vigil | SENTINEL_TO_VIGIL_HANDOFF | Convert findings into Sigma/YARA detection rules |
| Sentinel → Canon | SENTINEL_TO_CANON_REGULATORY_HANDOFF | Validate findings against OWASP Top 10:2025 standard |
Overlap boundaries:
- vs Probe — Probe = DAST; Sentinel = SAST. Escalate to Probe when static is inconclusive.
- vs Scout — Scout = broad runtime investigation; Sentinel = targeted static detection.
- vs Judge — Judge covers general code quality and routes security smells here; Sentinel is security-focused SAST.
- vs Gear — Gear owns lockfile updates; Sentinel audits them for confusion / typosquatting.
- vs Canon — Canon = standards as framework; Sentinel = OWASP Top 10:2025 as detection checklist.
- vs Vigil — Vigil = Sigma/YARA detection rules; Sentinel findings feed Vigil.
- vs Gauge — Gauge checks structural SKILL.md compliance and escalates untrusted/community skills to Chain (
GAUGE_TO_CHAIN_ESCALATION), not Sentinel; Chain owns the agent's own skill supply chain. - vs Matrix — Matrix produces combinatorial plans; Sentinel consumes them for input/auth/injection coverage.
Reference Map
| File | Read this when... |
|---|---|
reference/vulnerability-patterns.md | In SCAN — detection heuristics, regex patterns, secure-coding examples, signal-keyword routing |
reference/defensive-controls.md | Patterns for headers, validation, secret handling, rate limiting, confidence scoring, delta scanning, SARIF, FP suppression |
reference/owasp-2025-checklist.md | OWASP 2025 mapping, audit checklists, severity matrix, report templates |
reference/supply-chain-security.md | CVEs, SBOM, SCA tooling, lockfiles, CI/CD hardening, package provenance, slopsquatting |
reference/ai-code-security.md | Code is AI-generated or AI-assisted, uses LLM/MCP tooling, or the SAST landscape needs consulting |
reference/ai-security.md | aisec — OWASP LLM Top 10 mapping, prompt-injection surface, indirect injection via RAG, tool-use boundaries. |
reference/authn-audit.md | authn — session / JWT / OAuth-OIDC / MFA / password-storage checks. |
reference/authz-audit.md | authz — RBAC/ABAC, IDOR, BOLA/BFLA, horizontal/vertical privilege escalation. |
reference/fix-prompt-generation.md | Authoring the ## LLM Fix Prompt block — verb selection, ship-inline vs hand-off decision. |
_common/LLM_PROMPT_GENERATION.md | Universal authoring rules, prompt structure, cross-agent verb/suppression principles. |
_common/OPUS_5_AUTHORING.md | Sizing the report, adaptive thinking depth at PRIORITIZE/FILTER, front-loading scope at SCAN. Critical: P2, P5. |
reference/mobile-security.md | mobile — MASVS v2.1.0 + MAS Checklist categories, MASWE-0005 priority, MobSF integration, binary secret-scan targets. |
reference/tri-engine-scan.md | multi — triggers, loose prompts, JSON schema, CLUSTER/SCORE, strict GROUND, arbitration, filtering, prompts, and degraded modes. |
reference/autorun-schema.md | Emitting the AUTORUN _STEP_COMPLETE block — Output/Validations/Next schema with tri_engine sub-block. |
_common/SUBAGENT.md | Base engine dispatch for parallel Agent-tool calls — invocation pattern, JSON-output mandate, failure fallback. |
_common/MULTI_ENGINE_RECIPE.md | Cross-skill canonical flow, Pattern C/D/H rubric, PREFLIGHT probe, attribution conventions, degraded-mode matrix. |
_common/PROOF_CARRYING.md | Invoked from nexus acceptance Phase 2 (security regression oracles) and Phase 3 (attack-surface enumeration); defines G1 cross-engine diversity. |
Multi-Engine Mode
Pattern type: C — Concurrence-primary. Engines carry non-overlapping CVE/CWE/framework training priors, so concurrence collapses false positives; the 78% single-tool miss rate is the cost of skipping fan-out on high-assurance scans.
Baseline = Claude + Codex (2 spawns); agy adds a third axis when available at PREFLIGHT. Flow: SCOPE → PREFLIGHT → FAN-OUT → NORMALIZE → CLUSTER → SCORE → GROUND → ARBITRATE → FILTER → REPORT.
Operational detail (triggers, loose-prompt rule, divergence map, Plausible Hallucination check, arbitration rubric, severity overrides, degraded modes) → reference/tri-engine-scan.md.
Required reading before fan-out, in order: reference/tri-engine-scan.md → _common/MULTI_ENGINE_RECIPE.md → _common/SUBAGENT.md §MULTI_ENGINE.
Operational
Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.
- Journal SECURITY INSIGHTS (vulnerability patterns, fixes with side effects, rejected changes, recurring false positives, policy notes) in
.agents/sentinel.md; create it if missing. - After significant work, append to
.agents/PROJECT.md:| YYYY-MM-DD | Sentinel | (action) | (files) | (outcome) |
AUTORUN Support
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Sentinel-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
Nexus Hub Mode
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
FAQ
What does the sentinel skill do?
Analyzing code statically for security flaws: hardcoded secrets, SQL injection, input validation, security headers, dependency CVEs. Not for runtime exploit checks (Probe) or code review (Judge).
How do I install sentinel?
Run npx skills add https://github.com/simota/agent-skills --skill sentinel in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/sentinel/ (personal) or .claude/skills/sentinel/ (project).
Which AI agents can use sentinel?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is sentinel safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains sentinel?
It is published by simota in simota/agent-skills. It has 99 recorded installs.
More from simota/agent-skills
voice
simota/agent-skills
Collecting user feedback via NPS surveys, review analysis, sentiment analysis, feedback classification, and insight extraction reports. Use when establishing feedback loops.
muse
simota/agent-skills
Defining and managing design tokens, applying token systems to existing codebases, building design system foundations. Use for spacing, color, typography, dark mode, cross-platform output.
vision
simota/agent-skills
Directing UI/UX creative work — redesigns, new designs, trend application, Design System construction, Muse/Palette/Flow/Forge orchestration. Use for design direction. Offers a co-design pair mode.
gear
simota/agent-skills
Managing dependencies, CI/CD, advanced GitHub Actions workflows, containers, secrets, and operational config. Use for build, workflow, or environment work.
growth
simota/agent-skills
Open the skill to read its SKILL.md instructions.
Popular security skills
azure-compliance
microsoft/azure-skills
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
minimal-run-and-audit
lllllllama/rigorpilot-skills
Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.
seo-audit
coreyhaines31/marketingskills
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.
firebase-security-rules-auditor
firebase/agent-skills
Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.
audit
pbakaus/impeccable
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.
competitors
coreyhaines31/marketingskills
When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.
