Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when about to take any outward or offensive action (request, payload, persistence, lateral movement, exfil, or feeding captured traffic to the model) — to decide detection footprint, cleanup, and secret redaction first
.claude/skills/hypnguyen1209-opsec-discipline/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-22 | ✗→✓ | ▲ Improved | -37% | 0% |
Decide the detection footprint and cleanup before acting, not after. Every offensive technique in this repo pairs with the telemetry it generates and a detection signature — use that pairing to choose the quieter path and to know what you'll need to clean up.
domain skill's OPSEC & Detection table has this.) Pick the lower-noise variant when one exists.
reverted? Stage the cleanup before you create the artifact.
redacted at the boundary: python skills/coding-mastery/scripts/_lib/redact_headers.py < exchange.txt (or redact_text()), so Authorization/Cookie/API-key/JWT values never land in context or the report.
| Excuse | Reality | |--------|---------| | "OPSEC slows me down" | Unplanned noise/loot is how engagements get burned and how data leaks. | | "It's an internal tool log" | Logs get shipped, shared, and indexed. Redact. | | "Cleanup is a reporting-phase task" | You can't clean what you didn't track. Track at action time. |
OPSEC is part of every action, not a phase. Detection-awareness also strengthens the defensive value of the finding (you can tell the client exactly how to catch it).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→pass | 9,043 | 6,446 | -29% | 1 | 1 | 0% | 1,375 | 1,479 | +8% | 0 | 0 | — |
case-01 | fail→fail | 13,178 | 18,957 | +44% | 1 | 1 | 0% | 2,250 | 2,737 | +22% | 0 | 0 | — |
case-02 | fail→fail | 15,724 | 10,869 | -31% | 1 | 1 | 0% | 2,455 | 1,939 | -21% | 0 | 0 | — |
case-13 | fail→pass | 6,600 | 2,491 | -62% | 1 | 1 | 0% | 1,083 | 888 | -18% | 0 | 0 | — |
case-03 | pass→pass | 13,127 | 13,984 | +7% | 1 | 1 | 0% | 1,084 | 1,636 | +51% | 0 | 0 | — |
case-04 | pass→pass | 5,905 | 7,770 | +32% | 1 | 1 | 0% | 1,230 | 2,073 | +69% | 0 | 0 | — |
case-05 | pass→pass | 7,417 | 5,856 | -21% | 1 | 1 | 0% | 1,213 | 1,386 | +14% | 0 | 0 | — |
case-06 | fail→pass | 18,503 | 18,721 | +1% | 1 | 1 | 0% | 1,783 | 2,616 | +47% | 0 | 0 | — |
case-07 | fail→pass | 11,873 | 5,250 | -56% | 1 | 1 | 0% | 1,775 | 1,298 | -27% | 0 | 0 | — |
case-09 | pass→pass | 10,243 | 5,151 | -50% | 1 | 1 | 0% | 1,519 | 1,291 | -15% | 0 | 0 | — |
case-10 | pass→pass | 9,369 | 6,515 | -30% | 1 | 1 | 0% | 1,398 | 1,354 | -3% | 0 | 0 | — |
case-11 | fail→fail | 11,732 | 15,237 | +30% | 1 | 1 | 0% | 623 | 1,489 | +139% | 0 | 0 | — |
case-12 | fail→fail | 9,625 | 4,812 | -50% | 1 | 1 | 0% | 1,438 | 1,324 | -8% | 0 | 0 | — |
case-14 | pass→pass | 17,202 | 13,394 | -22% | 1 | 1 | 0% | 2,382 | 2,488 | +4% | 0 | 0 | — |
case-15 | pass→pass | 13,575 | 6,450 | -52% | 1 | 1 | 0% | 1,986 | 1,407 | -29% | 0 | 0 | — |
case-16 | pass→pass | 10,665 | 6,499 | -39% | 1 | 1 | 0% | 1,568 | 1,400 | -11% | 0 | 0 | — |
case-17 | pass→pass | 15,508 | 11,847 | -24% | 1 | 1 | 0% | 2,188 | 2,119 | -3% | 0 | 0 | — |
case-18 | pass→pass | 12,511 | 6,335 | -49% | 1 | 1 | 0% | 1,766 | 1,346 | -24% | 0 | 0 | — |
case-19 | pass→pass | 12,821 | 2,839 | -78% | 1 | 1 | 0% | 1,892 | 903 | -52% | 0 | 0 | — |
case-20 | pass→pass | 17,971 | 4,907 | -73% | 1 | 1 | 0% | 2,459 | 1,175 | -52% | 0 | 0 | — |
case-21 | pass→pass | 14,487 | 11,433 | -21% | 1 | 1 | 0% | 2,160 | 2,125 | -2% | 0 | 0 | — |
case-22 | fail→pass | 8,268 | 4,478 | -46% | 1 | 1 | 0% | 1,343 | 840 | -37% | 0 | 0 | — |
case-23 | pass→pass | 9,481 | 5,380 | -43% | 1 | 1 | 0% | 1,370 | 1,296 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.