Parse and analyze Cobalt Strike Malleable C2 profiles using dissect.cobaltstrike and pyMalleableC2 to extract C2 indicators, detect evasion techniques, and generate network detection signatures.
55
45%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/analyzing-cobaltstrike-malleable-c2-profiles/SKILL.mdQuality
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong, highly specific description targeting a clear cybersecurity niche. It names concrete actions, specific tools, and domain-appropriate terminology that would naturally be used by security professionals. The main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Cobalt Strike profiles, Malleable C2 configuration analysis, or generating IOCs/detection rules from C2 profiles.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'parse and analyze Malleable C2 profiles', 'extract C2 indicators', 'detect evasion techniques', 'generate network detection signatures'. Also names specific tools (dissect.cobaltstrike, pyMalleableC2). | 3 / 3 |
Completeness | Clearly answers 'what does this do' with specific actions and tools, but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The when is only implied by the nature of the actions described. | 2 / 3 |
Trigger Term Quality | Includes highly relevant natural keywords a security analyst would use: 'Cobalt Strike', 'Malleable C2 profiles', 'C2 indicators', 'evasion techniques', 'network detection signatures'. These are the exact terms someone in threat intelligence or detection engineering would mention. | 3 / 3 |
Distinctiveness Conflict Risk | Extremely niche and specific to Cobalt Strike Malleable C2 profile analysis with named libraries. Very unlikely to conflict with other skills given the highly specialized domain and specific tool references. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
7%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads like a high-level outline or table of contents rather than actionable guidance. It lacks any executable code examples, concrete commands, or specific patterns despite describing a technical analysis workflow. The content wastes tokens explaining concepts Claude already knows while failing to provide the specific, copy-paste-ready instructions that would make this skill useful.
Suggestions
Add complete, executable Python code examples showing how to parse a profile with dissect.cobaltstrike (e.g., `C2Profile.from_path()`, iterating over http-get/http-post blocks, extracting URIs and headers).
Include a concrete Suricata rule template generated from extracted indicators, showing the mapping from profile fields to signature content.
Remove the verbose overview explanation and 'When to Use' boilerplate — replace with a minimal one-liner and jump straight into code examples.
Add validation checkpoints to the workflow: e.g., verify profile parses without errors, validate extracted URIs match expected patterns, test generated Suricata rules against sample PCAPs.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The overview explains what Malleable C2 profiles are and what the libraries do — concepts Claude already knows. The 'When to Use' section is generic boilerplate that adds no actionable value. Prerequisites list obvious items like 'Understanding of HTTP protocol.' Significant token waste throughout. | 1 / 3 |
Actionability | Despite mentioning specific libraries, there is zero executable code — no Python snippets, no example commands, no concrete Suricata rule templates. Steps are vague descriptions ('Extract HTTP GET/POST block configurations') rather than concrete instructions with code. | 1 / 3 |
Workflow Clarity | The 10 steps are a high-level outline with no validation checkpoints, no error handling, no feedback loops. There's no guidance on what to do if parsing fails, if a profile is malformed, or how to verify generated signatures. For a multi-step workflow involving security-critical analysis, this is insufficient. | 1 / 3 |
Progressive Disclosure | The content is organized into sections (Overview, When to Use, Prerequisites, Steps, Expected Output) which provides some structure. However, there are no references to external files for detailed content like example profiles, signature templates, or API references, and the content is neither deep enough to need splitting nor concise enough to stand alone. | 2 / 3 |
Total | 5 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
888bbe4
Table of Contents
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.