CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ctf-crypto

Provides cryptography attack techniques for CTF challenges. Use when attacking encryption, hashing, signatures, ZKP, PRNG, or mathematical crypto problems involving RSA, AES, ECC, lattices, LWE, CVP, number theory, Coppersmith, Pollard, Wiener, padding oracle, GCM, key derivation, or stream/block cipher weaknesses.

Quality

78%

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 ./ctf-crypto/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 strong reference-index skill: broad concrete coverage with executable commands, disciplined progressive disclosure, and no beginner-concept padding. Its main costs are token duplication between the 'Additional Resources' list and the per-section bullets, the absence of an explicit end-to-end triage workflow, and some category fragmentation across sections and files.

Suggestions

Cut or drastically shorten the 'Additional Resources' descriptions (they restate the section bullets almost verbatim) — a one-line label per file would halve the index cost and fix the largest conciseness issue.

Add a short numbered 'How to approach a challenge' workflow at the top: 1. identify cipher/hash type (Quick Start commands), 2. run category quick checks, 3. match symptoms to a technique section, 4. open the linked reference file — making the implicit sequence explicit.

Merge 'Modern Cipher Attacks (Additional)' and the scattered one-off H2 sections (Introspective CRC, CBC Padding Oracle, RC4 Second-Byte Bias, etc.) into their parent category sections so each attack family lives in exactly one place.

DimensionReasoningScore

Conciseness

The body is a dense one-liner-per-technique index that assumes Claude's competence (no 'what is RSA' padding), but it pays a real duplication cost: the 'Additional Resources' list (lines 44-62) describes nearly every attack in long run-on summaries that are then restated in the per-section bullets, and small duplicates recur (the sympy factorint command appears twice in Quick Start at lines 81 and 95; the crypto-attacks clone instructions appear at lines 22 and 38). This matches 'mostly efficient but could be tightened' rather than anchor 4's 'minor instances' of trimmable text, since roughly the whole index exists twice.

3 / 5

Actionability

Concrete, executable guidance dominates: real pip/apt/brew install commands, runnable one-liners ('python3 RsaCtfTool.py -n <n> -e <e> --uncipher <c>', 'openssl rsa -pubin -in key.pub -text -noout'), and per-technique specifics with formulas, query counts, and tool names (PadBuster, hashpump, nonce-disrespect), with full code correctly delegated to reference files. It falls short of anchor 5 because the Quick Start block uses unfilled placeholders (<n>, <hex>) rather than a copy-paste-ready worked example, and many one-liners are direction rather than instruction — appropriate for an index, but 'minor gaps' nonetheless.

4 / 5

Workflow Clarity

The raw materials for a workflow exist (Quick Start identification commands, lattice 'Quick triage' entry, 'When to Pivot' routing), but there is no explicit sequence tying them together — nothing tells the agent to first classify the cipher, run the quick checks, match to a category, then open the reference file. Validation checkpoints are not applicable (non-destructive analysis), so this is 'sequence present but implicit/checkpoints missing' rather than anchor 4's clearly laid-out sequence.

3 / 5

Progressive Disclosure

Structure is genuinely one-level-deep and well signaled: every section ends with 'See <file>.md for full code examples', links carry descriptive labels and deep anchors, and detail is kept out of the overview. It misses anchor 5 for two reasons: organization is fragmented (a separate 'Modern Cipher Attacks (Additional)' H2 duplicating the main section's category, and several one-off H2s like 'Introspective CRC' and 'RC4 Second-Byte Bias' sitting outside the categorized sections), and the referenced bundle files (classic-ciphers.md, rsa-attacks.md, etc.) are not present in the evaluated directory, so the reference targets cannot be verified as real files.

4 / 5

Total

14

/

20

Passed

Description

87%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 well-constructed description: third-person voice, explicit 'Use when' trigger clause, and dense domain-specific keywords that a CTF crypto user would naturally produce. The only weakness is that the action side is carried by a single generic verb ('attack techniques') rather than multiple distinct concrete actions, with specificity resting on the enumerated targets instead.

DimensionReasoningScore

Specificity

The 'what' verb is generic ('Provides cryptography attack techniques'), but the description enumerates many concrete attack surfaces and named techniques ('RSA, AES, ECC, lattices, LWE, CVP, number theory, Coppersmith, Pollard, Wiener, padding oracle, GCM'), giving specific capability coverage. It sits above 'names domain and 1-2 concrete actions' but below anchor 5, whose examples list multiple distinct concrete actions (extract, fill, merge) rather than one generic verb over a rich target list.

4 / 5

Completeness

It explicitly answers both questions: what ('Provides cryptography attack techniques for CTF challenges') and when ('Use when attacking encryption, hashing, signatures, ZKP, PRNG...') with concrete trigger phrases. This matches the anchor-5 example pattern of a capability statement followed by an explicit 'Use when...' clause listing triggers; anchor 4 would require the 'when' to be less explicit, which is not the case here.

5 / 5

Trigger Term Quality

Strong natural keyword coverage for the CTF audience ('encryption, hashing, signatures, PRNG, padding oracle, RSA, AES'), and users would plausibly say these when stuck on a crypto challenge. A few natural terms/synonyms are missing ('elliptic curves' spelled out, 'Diffie-Hellman', 'ECDSA', 'factorization', 'decrypt'), so it falls just short of the comprehensive-with-synonyms anchor 5.

4 / 5

Distinctiveness Conflict Risk

The 'CTF challenges' scoping plus a long list of domain-specific triggers (Coppersmith, Wiener, padding oracle, LWE) carves out a clear niche that is unlikely to fire for sibling skills (the body's 'When to Pivot' section confirms deliberate boundaries with ctf-reverse/forensics/pwn/web/misc). Not below anchor 5 because overlap risk with adjacent skills is minimal and triggers are distinct.

5 / 5

Total

18

/

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

relative_links

Relative link issues: 110 missing

Warning

Total

14

/

16

Passed

Repository

ljagiello/ctf-skills

Path

ctf-crypto/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.