User Input
$ARGUMENTS
Audience and tone (interactive mode)
When KISS_AGENT_MODE=interactive (the default), assume the user
has limited technical background and limited domain knowledge
— they may know basics but lack deep expertise in this skill's
area. Run this skill as a guided questionnaire:
- One question at a time. No walls of questions.
- Yes / no first. Phrase so
yes, no, not sure, or skip
is a valid answer.
- Translate jargon, don't strip it. Use the technical term but
always pair it with a plain-English gloss the first time it
appears.
- Choices, not blank fields. When yes/no isn't enough, offer
2-4 lettered options (A/B/C/D) with one-line plain-language
descriptions of the trade-off. Always include "Not sure — pick
a sensible default".
- Always recommend. State the option you would pick and why in
one sentence so the user can reply "yes" / "ok" to accept. Pull
defaults from upstream artefacts (spec, architecture, ADRs,
standards) before asking blank.
- Show, don't ask. When upstream artefacts already imply an
answer, propose it as a pre-filled finding and ask for a
yes / no confirmation rather than asking the user to fill in a
blank.
not sure / skip triggers a sensible default, marked
"(default applied — confirm later)" in the artefact, and a debt
entry in this skill's debt file.
When KISS_AGENT_MODE=auto (or --auto), skip the questionnaire
entirely: apply sensible defaults from upstream artefacts and log
decisions to the parent agent's decision log.
Inputs
.kiss/context.yml
- Source files changed for
current.feature
{context.paths.docs}/architecture/c4-container.md (attack
surface)
{context.paths.docs}/architecture/intake.md (compliance regime)
{context.paths.docs}/decisions/ADR-*.md (auth / crypto choices)
Outputs
{context.paths.docs}/reviews/<feature>/security.md
{context.paths.docs}/reviews/security-debts.md (append,
shared across features)
Context Update
Does not mutate .kiss/context.yml.
Handoffs
kiss-dependency-audit complements with third-party CVE scan.
bug-fixer reads Critical / High severity findings.
kiss-status-report reads security-debts.extract for
escalations.
AI authoring scope
Does: walk each OWASP Top 10:2025 category against the feature's
code and config, identify specific file:line findings, outline
remediation per finding, and link to authoritative references (OWASP
cheat sheet, CWE catalogue).
Does not: run exploits; pentest live systems; commit to a
"secure / insecure" label without stated assumptions; modify
code.
Usage
<SKILL_DIR> = the integration's skills root (e.g. .claude/skills/
for Claude Code, .agents/skills/ for Antigravity / Codex,
.cursor/skills/ for Cursor, .windsurf/workflows/ for Windsurf).
Scripts live at <SKILL_DIR>/<skill-name>/scripts/….
SR_COMPLIANCE="gdpr,soc2" bash <SKILL_DIR>/kiss-security-review/scripts/bash/review.sh --auto
Answer keys
| Key |
Meaning |
Default |
SR_SCOPE |
glob of files to review |
src/** |
SR_COMPLIANCE |
comma list (gdpr / hipaa / pci-dss / soc2 / iso27001) |
empty |
SR_THREAT_MODEL |
stride / linddun / none |
stride |
References
references/owasp-top10-2025.md — the ten categories + smell
patterns + remediation outlines.
references/stride-guide.md — STRIDE threat-modelling questions.
1---2name: kiss-security-review3description: Reviews a feature's code + config against OWASP Top 10:2025 and common CWE patterns. Produces a per-feature security review with findings, severity, and remediation outlines. Does not deploy, write exploits, or modify code. Use when reviewing security posture, checking for OWASP vulnerabilities, or performing a pre-release security audit.4---567## User Input89```text10$ARGUMENTS11```1213## Audience and tone (interactive mode)1415When `KISS_AGENT_MODE=interactive` (the default), assume the user16has **limited technical background and limited domain knowledge**17— they may know basics but lack deep expertise in this skill's18area. Run this skill as a guided questionnaire:1920- **One question at a time.** No walls of questions.21- **Yes / no first.** Phrase so `yes`, `no`, `not sure`, or `skip`22 is a valid answer.23- **Translate jargon, don't strip it.** Use the technical term but24 always pair it with a plain-English gloss the first time it25 appears.26- **Choices, not blank fields.** When yes/no isn't enough, offer27 2-4 lettered options (A/B/C/D) with one-line plain-language28 descriptions of the trade-off. Always include "Not sure — pick29 a sensible default".30- **Always recommend.** State the option you would pick and why in31 one sentence so the user can reply "yes" / "ok" to accept. Pull32 defaults from upstream artefacts (spec, architecture, ADRs,33 standards) before asking blank.34- **Show, don't ask.** When upstream artefacts already imply an35 answer, propose it as a pre-filled finding and ask for a36 yes / no confirmation rather than asking the user to fill in a37 blank.38- **`not sure` / `skip` triggers a sensible default**, marked39 "(default applied — confirm later)" in the artefact, and a debt40 entry in this skill's debt file.4142When `KISS_AGENT_MODE=auto` (or `--auto`), skip the questionnaire43entirely: apply sensible defaults from upstream artefacts and log44decisions to the parent agent's decision log.4546## Inputs4748- `.kiss/context.yml`49- Source files changed for `current.feature`50- `{context.paths.docs}/architecture/c4-container.md` (attack51 surface)52- `{context.paths.docs}/architecture/intake.md` (compliance regime)53- `{context.paths.docs}/decisions/ADR-*.md` (auth / crypto choices)5455## Outputs5657- `{context.paths.docs}/reviews/<feature>/security.md`58- `{context.paths.docs}/reviews/security-debts.md` (append,59 shared across features)6061## Context Update6263Does not mutate `.kiss/context.yml`.6465## Handoffs6667- `kiss-dependency-audit` complements with third-party CVE scan.68- `bug-fixer` reads Critical / High severity findings.69- `kiss-status-report` reads `security-debts.extract` for70 escalations.7172## AI authoring scope7374**Does:** walk each OWASP Top 10:2025 category against the feature's75code and config, identify specific `file:line` findings, outline76remediation per finding, and link to authoritative references (OWASP77cheat sheet, CWE catalogue).7879**Does not:** run exploits; pentest live systems; commit to a80"secure / insecure" label without stated assumptions; modify81code.8283## Usage8485> `<SKILL_DIR>` = the integration's skills root (e.g. `.claude/skills/`86> for Claude Code, `.agents/skills/` for Antigravity / Codex,87> `.cursor/skills/` for Cursor, `.windsurf/workflows/` for Windsurf).88> Scripts live at `<SKILL_DIR>/<skill-name>/scripts/…`.8990```bash91SR_COMPLIANCE="gdpr,soc2" bash <SKILL_DIR>/kiss-security-review/scripts/bash/review.sh --auto92```9394### Answer keys9596| Key | Meaning | Default |97|---|---|---|98| `SR_SCOPE` | glob of files to review | `src/**` |99| `SR_COMPLIANCE` | comma list (gdpr / hipaa / pci-dss / soc2 / iso27001) | empty |100| `SR_THREAT_MODEL` | `stride` / `linddun` / `none` | `stride` |101102## References103104- `references/owasp-top10-2025.md` — the ten categories + smell105 patterns + remediation outlines.106- `references/stride-guide.md` — STRIDE threat-modelling questions.