Check Security
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Scan the repository for accidentally committed secrets — API keys, passwords, tokens, private keys — using the
detect-secrets CLI. This skill only scans and reports; it never removes, rotates, or edits a discovered secret,
and never stages or commits the baseline file it may create.
Purpose
iru-check-security closes the gap between "code was reviewed for logic" and "code was checked for leaked
credentials." For a whole-repository run it maintains a .secrets.baseline file so repeat runs only surface what
changed — newly appeared findings, or ones still lacking a triage label — rather than re-alarming on
already-audited, accepted false positives every time. For a scoped path it runs an ad hoc scan and reports every
finding directly, with no baseline involved. It attempts to install detect-secrets itself if missing — first
verifying its Python prerequisite is met (Linux/macOS ship Python already; on Windows it attempts to install
Python via winget/choco first) — and if any prerequisite check or install method fails, lets the user choose
whether to stop or continue without scanning rather than silently skipping the check.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
Scopes the scan to specific files/directories, run ad hoc without touching |
None — defaults to a whole-repository scan using the |
Outputs
-
A plain-text report in the conversation — never a written file describing findings (though the baseline file itself may be created/updated on disk for whole-repository runs).
-
.secrets.baselinecreated (if absent) or updated in place (preserving prior audit labels) for a whole-repository run — never staged or committed by this skill. -
Every finding needing attention: file path, line number, and secret type, grouped by file; for baseline runs, labeled as new or previously-flagged-but-unaudited. Entries already labeled
is_secret: falseare silently treated as confirmed false positives; entries labeledis_secret: trueare mentioned only as a reminder they remain in the codebase. -
A recommendation to remove/rotate a real secret, or run
detect-secrets audit .secrets.baselinethemselves — this skill never performs that triage labeling on the user’s behalf. -
If
detect-secretscouldn’t be installed: an explicit statement that no scan was performed, the real installation error, and the user’s choice of whether to stop or continue without scanning. -
No source code, secret, or credential is ever modified, removed, or rotated by this skill.
Execution flow
Dependencies
Invokes
None — iru-check-security is a leaf skill; it only runs detect-secrets (and its own install attempts) and reports
on the output, it does not call any other skill in this catalog.
Invoked by
-
Code — Steps 3 and 7, once per run (not per task), via its own
general-purposesub-agent, to capture a project-wide security baseline before implementation begins and compare the final state against it before archiving the plan. Any increase is treated as a hard stop, unlike the quality gate, since it risks committing a real credential.
Source
SKILL.md on GitHub — the file this page was generated from.