Skip to main content

kms-caveman

Performs concise, read-only mechanical Rust triage for panic/exit patterns, new lint suppressions, and structural candidates. Use before deeper Rust audits or for a quick scoped scan; it does not replace semantic, security, crypto, or protocol review.

Source facts

Repository
cosmian/kms
Last source activity
October 4, 2026 at 20:06
Detected SKILL.md language
English
Stars
362
Forks
41

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
kms-caveman
description
Performs concise, read-only mechanical Rust triage for panic/exit patterns, new lint suppressions, and structural candidates. Use before deeper Rust audits or for a quick scoped scan; it does not replace semantic, security, crypto, or protocol review.
# KMS Caveman One scoped, read-only scan. Keep output terse; preserve exact technical evidence. ## Scope - Supplied path: inspect Rust files under that path only. - No path: collect branch Rust changes, staged/unstaged files, and untracked Rust files. Use the available base; state any fallback. - Failed or empty diff is not proof of a clean scan. If scope cannot be established, report `INCOMPLETE`. - Exclude generated/vendor code only when identified; state exclusions. ## Rules 1. Scan for `panic!`, `todo!`, `unimplemented!`, `unreachable!`, `.unwrap()`, `.expect(`, `process::exit`, and `process::abort`. 2. Treat searches as candidates. Confirm executable code, source context, `#[cfg(test)]`, bounds checks, and documented exceptions. 3. Check changed Rust lines for new `#[allow(...)]` / `#[expect(...)]`; verify repository policy and justification. 4. Flag structural candidates: functions >60 lines, nesting ≥5, multiple bool parameters, or repeated blocks ≥5 lines. Verify boundaries; do not report style as correctness defects. 5. Report dead/unused code only with workspace-wide evidence accounting for callers, macros, and generated uses. Do not edit code, perform semantic refactors, or invoke sub-skills. Escalate reasoning-dependent findings to the applicable review skill. ## Report Pattern: `[SEVERITY] path:line — finding. Evidence: <code>. Risk: <impact>. Fix: <minimal change>.` - Rank verified findings; mark uncertain observations as candidates. - **BLOCK** on confirmed CRITICAL/HIGH findings. - **PASS** means no confirmed CRITICAL/HIGH finding in the verified scope; not a full quality or security verdict. - Use `NOT APPLICABLE` when no Rust files are in scope and `INCOMPLETE` when scope/context is missing. Neither means PASS. - Do not claim detection rates, model choice, latency, or token savings without measured evidence. - If an orchestrator writes reports, use `./review/kms-caveman.md`; otherwise return the concise ranked list. ## Credit-saving style - Drop articles, filler, pleasantries, and hedging. Fragments and arrows are fine; technical terms stay exact. - Keep code blocks and error text unchanged. Include enough evidence to preserve meaning; brevity never outranks correctness. ### Auto-clarity exception Expand security/protocol findings, ambiguous scope, or multi-step skip reasoning whenever compression could obscure risk. Resume terse output after clarity is restored. ## Examples Illustrative only; not findings from this repository. **Confirmed production panic:** ```rust let object = database.retrieve_object(uid).await.unwrap(); ``` ```text [HIGH] crate/example/src/handler.rs:42 — `.unwrap()` in production Evidence: `database.retrieve_object(uid).await.unwrap()` Risk: error becomes panic. Fix: propagate/map with the enclosing error type. Verdict: BLOCK ``` Do not flag the line if source context places it inside `#[cfg(test)]`. **Structural candidate, no blocker:** ```text [MEDIUM] crate/example/src/worker.rs:81-151 — function exceeds 60 lines; review candidate only. Verdict: PASS — no confirmed CRITICAL/HIGH finding in inspected scope. ``` **Non-Rust scope:** ```text Scope: ui/src/theme.css Rust: NOT APPLICABLE ``` For an explicitly incremental CSS-only review, skip `/cryptography-review` only after confirming no crypto, algorithm, key-lifecycle, provider, or FIPS-gate change. Never infer a security-review skip from the path alone; verify no dynamic data, auth/session, API, or sensitive-data behavior. Full `/meta-security` and `/pre-release` gates still run required reviews.
View on GitHub