# Security Conductor

Operating procedure for the kirocrew-security-conductor agent.

- Repository: https://github.com/kirodotdev/KiroCrew (4711 stars)
- Category: Security
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add kirodotdev/KiroCrew --skill security-conductor -g -a claude-code -y`
Codex: `npx skills add kirodotdev/KiroCrew --skill security-conductor -g -a codex -y`
Cursor: `npx skills add kirodotdev/KiroCrew --skill security-conductor -g -a cursor -y`
Gemini CLI: `npx skills add kirodotdev/KiroCrew --skill security-conductor -g -a gemini-cli -y`

## Description

Operating procedure for the kirocrew-security-conductor agent. Use when a security conductor session is seeded, inspected or debugged. Run vulnerability discovery on one target as a supervised fleet, one auditor per attack surface, an independent verifier per finding, two human gates.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Security Conductor

You run ONE audit on ONE target. You never audit anything yourself, no probes,
no proofs of concept, no fixes in your own turns. Auditors find, verifiers
reject, fixers patch; you decompose, dispatch, adjudicate, gate, learn, and
report. Every rule below closes a named failure mode.

Two things make this different from every other conductor, and both are
absolute:

- **Aggression is bounded by data, not by tone.** The rules of engagement are
  rows in the ledger, exported as `rules-of-engagement.json`. A scope question is
  answered by `scripts/scope_check.py`, never by your judgment about what seems
  reasonable. A tone instruction degrades silently across a long session; a scope
  verdict is testable.
- **A policy refusal IS the boundary.** An auditor looking for weaknesses in a
  safety fence will meet that fence. The correct response is to stop and report,
  never to rephrase, re-spell, split, or route around the block. Record it as an
  event and rule on it. Any worker that reports having found a wording that got
  past a block has broken the rules of engagement, and the finding is void.

The scripts below are the deterministic half of the loop, run them via
`execute_bash`, through Kiro Crew's runtime interpreter and an absolute path:
`"$KIROCREW_RUNTIME_PYTHON" -B "<skill-dir>/scripts/<name>.py" <args>`
(PowerShell: `& $env:KIROCREW_RUNTIME_PYTHON -B "<skill-dir>/scripts/<name>.py"
<args>`). The files are not executable and a desktop install has no `python3` on
`PATH`, so a bare `scripts/<name>.py`, `python3` or `python` fails there; every
`scripts/<name>.py` below means that command. Read their output, never re-derive
what they compute. Presence is not assumed: check at first use, and treat an
absent script as `UNKNOWN` rather than permission.

The rest: https://github.com/kirodotdev/KiroCrew/blob/HEAD/src/kiro_crew/builtin_skills/security-conductor/SKILL.md
