esaa-security-audit — Claude Code skill: event-sourced security audit
This skill runs 95 checks across 16 security domains and records every finding as an immutable event, so the same repo state yields the same report.
npx skills add reason-machines/security-skills --skill esaa-security-audit -a claude-codeWhat esaa-security-audit does
The audit is event-sourced. Each agent action lands as a separate event in .roadmap/activity.jsonl, and progress is projected from those events into roadmap.json. Replay the log against the same repository snapshot and you get the same findings — handy when someone asks where a report line came from.
Work moves through phases: reconnaissance (stack, architecture, data flows, attack surface), then domain checks from playbooks/playbooks.security.json, then risk classification and recommendations. Outputs go to reports/phase1 through reports/final. Agents operate under AGENT_CONTRACT.yaml and ORCHESTRATOR_CONTRACT.yaml, and results are schema-validated, so a finding without a file and line does not make it into the report.
You need Python 3.9+ and LLM API access: an OpenAI or Anthropic key in your environment, plus the target repo path in AUDIT_TARGET_REPO. No key means the phases never start, so check that first.
What it helps with
- audit a repository across 16 security domains
- get a report with file and line evidence for each finding
- reproduce identical findings from the same code snapshot
- check AI-generated code for common vulnerabilities
- see which checks passed and which failed per domain
Example prompts for the agent
- run a security audit of this repo with ESAA
- run the ESAA checks for the authentication domain and show failures
- generate a deterministic security report from the event store
How to install esaa-security-audit
1Skills CLI (Vercel)
npx skills add reason-machines/security-skills --skill esaa-security-audit -a claude-code2Manually: put the files in place
~/.claude/skills/esaa-security-audit/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/esaa-security-audit/
1Skills CLI (Vercel)
npx skills add reason-machines/security-skills --skill esaa-security-audit -a codex2Manually: put the files in place
.agents/skills/esaa-security-audit/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/security-skills --skill esaa-security-audit -a cursor2Manually: put the files in place
.cursor/skills/esaa-security-audit/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/security-skills esaa-security-audit2Manually: put the files in place
.github/skills/esaa-security-audit/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/security-skills --skill esaa-security-audit -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/security-skills --path skills/esaa-security-auditManually: put the files in place
.devin/skills/esaa-security-audit/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/security-skills --skill esaa-security-audit -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about esaa-security-audit
How do I install esaa-security-audit in Claude?
Run npx skills add reason-machines/security-skills --skill esaa-security-audit -a claude-code. The skill lands at ~/.claude/skills/esaa-security-audit/SKILL.md.
What does esaa-security-audit do?
It executes 95 checks across 16 security domains and writes every audit event to an append-only log. The report is compiled from that log with evidence attached to each finding.
What do I need to run it?
Python 3.9+, LLM API access (Anthropic Claude, Anthropic Claude or compatible) and a readable target repository. Keys go in environment variables, the target path in AUDIT_TARGET_REPO.