CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ctf-triage

CTF challenge triage and solve methodology — category detection, tool selection, and multi-step solve chains across pwn/rev/crypto/forensics/web/misc.

Quality

75%

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

Quality

Content

71%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 dense, command-first reference that is highly actionable across all six CTF categories, with a clear triage decision table routing to category-specific phases. Its main weaknesses are monolithic structure — seven domains inlined in one file with no bundle references — and a handful of non-executable or incorrect command details. Validation checkpoints exist at the workflow-summary level but remain implicit within individual phases.

Suggestions

Split the per-domain deep dives into references/ files (e.g., references/pwn.md, references/forensics.md, references/crypto.md), keeping SKILL.md as the Phase 0 triage overview plus the decision table and quick-win checklist.

Fix the non-executable command details: 'python3 -m one_gadget' should be the one_gadget CLI invocation, verify the 'ROPgadget --rop' flag (use '--only "pop|ret"' or drop the flag), and give the RSA snippet a concrete n-assignment pattern.

Add explicit per-phase validation checkpoints (e.g., confirm the cyclic offset in GDB before building the payload, verify extracted archive layers are fully decompressed with binwalk -eM before moving on).

DimensionReasoningScore

Conciseness

The body is command-first and terse with no concept explanations Claude already knows — comments are minimal and useful ('# JPEG ends at FF D9; anything after = appended content'). Not 5 because the ATT&CK Mapping section (~10 lines) duplicates the frontmatter mitre_attack metadata and adds little for solving, and strings/grep patterns recur across phases.

4 / 5

Actionability

Nearly every block is copy-paste-ready with clearly marked substitutions ('offset = cyclic_find(0x61616161) # replace with crashing value'), spanning pwntools, angr, tshark, and volatility recipes. Not 5 due to minor non-executable details: 'n = <modulus>' placeholder in the RSA snippet, 'python3 -m one_gadget' (one_gadget is a Ruby CLI, not a Python module), and a dubious 'ROPgadget --rop' flag.

4 / 5

Workflow Clarity

Phase 0 triage with a magic-bytes decision table routes cleanly to Phases 1-6, and the summary workflow has escape hatches ('If stuck > 15 min: try adjacent technique') plus a final validation step ('Validate flag matches expected format before submitting'). Not 5 because within-phase validation checkpoints (e.g., confirm the crash offset before constructing the payload) are implicit rather than explicit.

4 / 5

Progressive Disclosure

Section structure is good (phased headers, decision tables, numbered steps), but the SKILL.md is a ~340-line monolith covering seven domains — the per-domain deep dives (pwntools/ROP recipes, the full angr script, the volatility command set) are content that clearly belongs in separate reference files, and it is inlined. The only references present ('reverser/packer-unpacking/SKILL.md', 'exploit/web/ skills') point outside this bundle, and no references/ directory exists. Not 2 because the in-file structure itself is well organized and navigable.

3 / 5

Total

15

/

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-scoped description with good natural trigger terms and a distinct CTF niche. Its main weakness is the absence of an explicit 'Use when...' clause in the description itself — the trigger guidance lives in a separate metadata.when_to_use field — which caps completeness. Action specificity is solid but slightly more abstract than best-in-class examples.

Suggestions

Append an explicit 'Use when...' clause to the description with concrete trigger phrases (e.g., 'Use when solving CTF challenges: pwn, rev, crypto, forensics, stego, or misc categories, or when given a challenge file or flag to capture').

Surface the strongest natural trigger synonyms from metadata.when_to_use — 'capture the flag', 'flag', 'steganography', 'binary exploit', 'challenge file' — directly in the description string.

Make the named actions more concrete by mentioning the core tool families the skill drives (pwntools, angr, volatility, tshark, binwalk) instead of the abstract 'tool selection' phrasing.

DimensionReasoningScore

Specificity

The description names several concrete capabilities — 'category detection, tool selection, and multi-step solve chains' — and enumerates the domain space 'across pwn/rev/crypto/forensics/web/misc'. Not 5 because the actions are more abstract than anchor-level concrete operations (e.g., 'extract text', 'fill forms'); not 3 because more than 1-2 actions are specifically named.

4 / 5

Completeness

The 'what' is clear ('CTF challenge triage and solve methodology — category detection, tool selection...') but there is no 'Use when...' clause or equivalent trigger guidance in the description itself — the when-guidance lives in a separate metadata.when_to_use field, so completeness is capped at 3 per the judging guideline. Not 4 because the 'when' is absent from the description, not merely underspecified.

3 / 5

Trigger Term Quality

Includes natural terms a CTF user would actually say: 'CTF', 'pwn', 'rev', 'crypto', 'forensics', 'web', 'misc'. Not 5 because common variations are missing from the description itself ('capture the flag', 'flag', 'steganography', 'binary exploitation'); not 3 because coverage is good, not merely partial.

4 / 5

Distinctiveness Conflict Risk

'CTF challenge triage and solve' establishes a clear niche with distinct triggers (CTF, pwn, rev, crypto) that are unlikely to fire for generic document, data, or coding skills. Not 4: no meaningful overlap risk — the CTF framing unambiguously scopes the skill.

5 / 5

Total

16

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/reverser/ctf-triage/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.