CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

lure-deconfliction

Mandatory out-of-band handshake with the blue-team contact BEFORE any phishing campaign sends. Skipping this is a critical RoE violation - the engagement has no legal coverage for unannounced phishing of real employees.

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/phisher/lure-deconfliction/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 tight, actionable runbook: exact input paths, copy-paste ack and log templates, explicit send-gating constraints, and a two-method evidence check that functions as a real validation gate. The main gaps are the implicit (un-numbered) workflow sequence and the absence of a concrete command for persisting the Finding node in the knowledge graph.

Suggestions

Number the workflow explicitly (gather roe.json inputs → send ack request → record ack evidence → verify two-method evidence → only then authorize send) so the send-gating sequence is unambiguous at a glance.

Add the concrete command or Cypher snippet for creating the Finding node with finding_type: "deconfliction_ack", the ack message id, and timestamp, so the evidence step is copy-paste ready.

Compress the 'Why this is mandatory' section to the legal-coverage sentence and move the consequence bullets into the constraints section.

DimensionReasoningScore

Conciseness

The body is lean and operational — exact file paths, copy-paste ack/log templates, and terse constraint rules, with almost no concept explanation Claude already knows. The 'Why this is mandatory' section (helpdesk ticket volume, 'SOC overtime that the engagement is supposed to test with awareness') is partially argumentative and could be trimmed to the legal-risk sentence, keeping it below anchor 5 but above anchor 3.

4 / 5

Actionability

Concrete, executable guidance throughout: the `plan/roe.json` input structure, a fill-in ack subject/metadata template, a fill-in `plan/phisher/deconfliction-log.md` entry, and explicit 'DOES NOT send' rules. Minor gap: 'Persist as a Finding node in the knowledge graph with finding_type: "deconfliction_ack"' gives no concrete command/query, so it is not fully copy-paste ready.

4 / 5

Workflow Clarity

A coherent sequence is present (inputs → ack request → ack evidence → send constraints → ZFP two-method verification) and validation gates are explicit: 'Both must exist before the campaign send-step proceeds' plus the three denial/missing/revised-scope constraints, so the destructive-batch cap does not apply. It falls short of anchor 5 because the sequence is implied by section order rather than numbered steps, and there is no re-ack/retry loop beyond 'does not send'.

4 / 5

Progressive Disclosure

This is a single-file skill (~95 body lines) with no bundle files (no references/, scripts/, or assets/ exist), and every line is operational — nothing belongs in a separate reference. Sections are clearly headed (Why / Inputs / Required metadata / Evidence / Constraints / ZFP) and easy to navigate, matching the well-organized-single-file ideal.

5 / 5

Total

17

/

20

Passed

Description

53%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.

The description is specific and distinctive about the mandatory blue-team handshake gate, but it reads as a policy warning rather than a trigger-rich skill description: no 'Use when...' clause and no natural trigger terms, because that guidance was placed in metadata.when_to_use instead of the description. The legal-coverage framing is effective but does not substitute for trigger coverage.

Suggestions

Append a 'Use when...' clause to the description carrying the trigger phrases currently buried in metadata.when_to_use, e.g. 'Use when sending a phishing campaign, launching a lure, activating an evilginx2 phishlet, or running an OAuth device-code attack.'

Add the natural synonyms users would say — 'phish', 'lure', 'gophish campaign', 'send the campaign' — to raise trigger-term coverage.

Name one or two more concrete actions in the description (collect and record the ack evidence, persist the deconfliction Finding node) to move specificity beyond a single action.

DimensionReasoningScore

Specificity

'Mandatory out-of-band handshake with the blue-team contact BEFORE any phishing campaign sends' names the domain and one concrete action (the pre-send handshake). It does not list several specific actions — evidence recording, Finding-node persistence, constraint enforcement live only in the body — so it matches anchor 3 rather than anchor 4.

3 / 5

Completeness

The 'what' is clear (mandatory pre-send out-of-band handshake/ack with the blue-team contact), but the description contains no 'Use when...' clause or equivalent trigger guidance — the when-to-use list sits in metadata.when_to_use. Per the judging guideline, a missing 'Use when...' clause caps completeness at 3 even with a crisp what.

3 / 5

Trigger Term Quality

The description contains some natural terms ('phishing campaign', 'blue-team contact', 'RoE violation'), but the phrases a user would actually say — 'send the campaign', 'launch the lure', 'evilginx', 'gophish', 'device-code' — appear only in metadata.when_to_use, not in the description itself. Missing common variations keeps it at anchor 3 rather than anchor 4.

3 / 5

Distinctiveness Conflict Risk

It carves a clear niche — the pre-send deconfliction gate — that no other plausible skill in a phishing/red-team suite would claim, so conflict risk is low. It is not anchor 5 because the description itself carries no explicit trigger phrases to distinguish it from closely related campaign-execution skills (those phrases again live only in metadata.when_to_use), leaving minor overlap risk.

4 / 5

Total

13

/

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/phisher/lure-deconfliction/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.