CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

evil-twin-karma

Evil-twin rogue AP with KARMA/Mana PNL-probe response, captive-portal credential capture, and post-association MITM for PSK/open networks. Distinct from wpa-enterprise-eap which targets 802.1X.

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/wireless/evil-twin-karma/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, operator-grade runbook: every step is backed by executable commands with real flags, the sequence is clearly gated by an RoE hard stop, and the ZFP/OPSEC sections close the loop with verification artifacts and detection tradeoffs. The main improvements are small: reconcile the bettercap log-output claim with the actual invocation, define the Evidence snippet's variables, and add error-recovery guidance for the failure modes (client won't associate, portal blocked).

Suggestions

Fix the bettercap step so the claimed '/tmp/bettercap_creds.log' is actually produced (e.g. add a log-file setting or an explicit redirect/tee).

Treat the Evidence python blocks as templates explicitly, or show how psk/ssid/bssid/client_mac are populated from the wifiphisher/hostapd-mana output so they are runnable.

Add brief failure-mode handling after Steps 3/5 (no client association after deauth; portal page not rendering) to turn the existing checkpoints into a feedback loop.

DimensionReasoningScore

Conciseness

The body is command-first and lean — nearly every section is a short code block with terse, load-bearing comments (e.g. 'mana_loud=0 → Mana selective', 'mana_loud=1 → KARMA universal'), with domain-specific facts (PNL behavior, sequence-number continuity across randomized MACs) that Claude would not reliably know. Not 5 because a few lines re-explain things Claude already knows, such as 'Modern OS (Android 10+, iOS 14+, Windows 10+) use random MACs for probe requests', and the wifiphisher template comments partly duplicate the preceding prose; not 3 because there is no padded filler and the explanations present are niche, not generic.

4 / 5

Actionability

Concrete, mostly copy-paste-ready commands throughout: complete hostapd-mana configs for both open and PSK-clone variants, full dnsmasq config, a parameterized wifiphisher invocation, bettercap one-liners, and a tshark filter. This fits 'Mostly executable guidance; concrete code or commands with minor gaps'. Not 5 because of small fidelity gaps: the bettercap block claims 'Output to /tmp/bettercap_creds.log' without any flag/redirect that would produce it, and the Evidence python blocks use undefined variables (psk, ssid, template_name, bssid) as templates rather than executable code; not 3 because every operational step is a real command with real flags, not pseudocode.

4 / 5

Workflow Clarity

Steps 1-6 form a coherent sequence (harvest → stand up AP → deauth coercion → DHCP/DNS → portal/MITM → MAC-randomization defeat), gated by an explicit RoE hard stop up top, with checkpoints present: 'Cross-reference deauth-pmf skill for PMF detection first', 'check PMF state first' before broadcast deauth, and a ZFP section listing the artifacts that verify each stage succeeded. This matches 'Clear sequence with most checkpoints present; minor validation gaps'. Not 5 because there are no explicit feedback/error-recovery loops (e.g. what to do when no client associates or the portal fails to render); not 3 because per-step preconditions and a closing evidence checklist are actually written.

4 / 5

Progressive Disclosure

No bundle files exist, and the single-file structure is appropriate: clearly headed sections (Prerequisites, Steps 1-6, Evidence, ZFP, OPSEC, References), sibling skills signaled as skill names rather than dead file paths, and external tool references given as URLs. This fits 'Good structure; most content is appropriately placed; references mostly clear; minor organization gaps'. Not 5 because at ~230 lines some self-contained sub-topics (e.g. MAC-randomization defeat or the portal-template catalog) could be split into reference files for a leaner SKILL.md; not 3 because nothing that clearly belongs in a separate file is inlined and navigation via headers is easy.

4 / 5

Total

16

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-differentiated description that names its domain and concrete actions with precision, and even cross-references the closest sibling skill. Its main weakness is the absence of an explicit 'Use when...' trigger clause within the description field itself, capping completeness at 3.

Suggestions

Append an explicit trigger clause to the description, e.g. 'Use when the task involves evil twin, rogue AP, KARMA/Mana, captive portal phishing, or MITM on PSK/open Wi-Fi networks.'

Fold one or two natural tool-name keywords (hostapd-mana, wifiphisher) from metadata.when_to_use into the description to round out trigger-term coverage.

Optionally name the probe-harvest/deauth-coercion capabilities so the 'what' covers the full workflow scope.

DimensionReasoningScore

Specificity

The description lists several concrete, specific actions — 'KARMA/Mana PNL-probe response', 'captive-portal credential capture', and 'post-association MITM for PSK/open networks' — closely matching the anchor 'Lists several specific actions; minor gaps in coverage'. Not 5 because the coverage has minor gaps (no mention of deauth-driven coercion or probe harvesting as capabilities, which are core workflow steps in the body); not 3 because well more than 1-2 actions are named with domain precision.

4 / 5

Completeness

The 'what' is clearly answered (rogue AP, probe response, credential capture, MITM), but there is no 'Use when...' clause or equivalent explicit trigger guidance in the description — the when-guidance lives in metadata.when_to_use, which is a different field. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3; the clear 'what' keeps it from scoring lower.

3 / 5

Trigger Term Quality

Strong natural keyword coverage — 'evil twin', 'rogue AP', 'KARMA', 'Mana', 'captive portal', 'credential capture', 'MITM', 'PSK/open networks', 'PNL' — all phrases a wireless pentest operator would naturally say, matching 'Good keyword coverage; a few natural terms missing'. Not 5 because common synonyms/tool names users actually say ('wifiphisher', 'hostapd-mana', 'wifi phishing', 'airgeddon') appear only in metadata.when_to_use, not in the description itself; not 3 because synonym coverage here goes well beyond a single generic keyword.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche and explicitly fences off the nearest neighbor: 'Distinct from wpa-enterprise-eap which targets 802.1X', matching 'Clear niche with distinct triggers; minimal conflict risk'. Not 4 because the only plausible overlap (802.1X vs PSK/open networks) is already explicitly disambiguated rather than merely minor.

5 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/wireless/evil-twin-karma/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.