Skip to content
Security
Skill

/confidence-scoring

Always-on meta-skill — for every finding produced, attach a confidence level (HIGH/MEDIUM/LOW) and a reasoning trace. Activate on every /audit, /audit-deep, /audit-changes, /audit-live, /quick-scan invocation.

From plugin
rugproof
952 skills23 agents45 commands4 hooks
Install
$ npx -y skills add omermaksutii/RugProof --skill confidence-scoring --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/confidence-scoring

Context preview

The summary Claude sees to decide when to auto-load this skill.

Always-on meta-skill — for every finding produced, attach a confidence level (HIGH/MEDIUM/LOW) and a reasoning trace. Activate on every /audit, /audit-deep, /audit-changes, /audit-live, /quick-scan invocation.

SKILL.md

confidence-scoring.SKILL.md
name: confidence-scoring
description: Always-on meta-skill — for every finding produced, attach a confidence level (HIGH/MEDIUM/LOW) and a reasoning trace. Activate on every /audit, /audit-deep, /audit-changes, /audit-live, /quick-scan invocation.

Confidence scoring (meta-skill)

Per-finding confidence is what separates a noisy linter from a usable auditor. Always attach confidence.

Confidence levels

HIGH

  • Pattern matches exactly with no ambiguous preconditions.
  • Working exploit possible (or already drafted via [[exploit-poc-writer]]).
  • Affected line is reachable from a public/external function with no role gating.
  • Cross-verified by attacker subagent or `/verify-finding`.
  • Historical incident matches the same pattern at this severity.

MEDIUM

  • Pattern matches but exploit requires non-trivial preconditions:
  • Specific token type (rebasing / fee-on-transfer)
  • Specific chain configuration (sequencer down on L2, oracle behavior)
  • Multi-actor coordination
  • Reachability through trusted-only call paths.
  • One specialist subagent confirms, another offers a benign explanation.

LOW

  • Pattern theoretically present but practical exploitability uncertain.
  • Heavy reliance on assumptions about external integrations not auditable.
  • Defense-in-depth gaps with no clear attack.
  • Conflicting evidence between passes (in `/audit-strict`).

Reasoning trace requirement

Every finding includes a "How I reached this conclusion" snippet:

Reasoning:
  1. Function withdraw() at Vault.sol:140 sends ether via low-level call.
  2. State update (balance[msg.sender] = 0) happens after the call (CEI violated).
  3. Receiver address is user-controlled (msg.sender).
  4. No nonReentrant modifier on the function.
  5. No external mitigation in surrounding code.
  Conclusion: classic reentrancy, exploitable in a single tx.
  Cross-check: attacker subagent independently constructed a PoC (passing).
  → Confidence: HIGH

When to downgrade

Always downgrade if:

  • The "exploit" requires the attacker to compromise an admin key.
  • The pattern is present but mitigated by an immutable, audited library call.
  • The vuln class is present but the *capability* requires unrealistic state.

When to escalate to HIGH

Upgrade to HIGH only if:

  • You can articulate the exploit in concrete terms.
  • You can identify the specific value at risk.
  • You can write a PoC that compiles (or you cite a historical incident).

Output integration

In the standard finding format:

[<ID> | <Severity>] <Title>
  Confidence: HIGH | MEDIUM | LOW
  Reasoning:  <trace>
  ...

Don't

  • Don't mark every finding HIGH to look thorough.
  • Don't mark a real, well-evidenced finding LOW to be cautious — that defeats the purpose.
  • Don't downgrade Critical severity to compensate for low confidence — they're orthogonal axes.

Related

  • [[multi-pass-self-critique]] — uses confidence to filter
  • [[false-positive-feedback-loop]] — low-confidence findings are dismissal candidates
  • [[known-good-comparison]] — known-good match → upgrade confidence
Read more
Ships withrugproof

Rugproof your code before someone else does. 🌐 Live site: omermaksutii.github.io/RugProof 📦 Latest: v1.0.0 — 45 commands · 23 agents · 45 skills · 13 MCP servers · tested, offline-first, with rule packs, a benchmark, non-EVM coverage, and post-deploy

Get the whole plugin

Other skills on rugproof.