CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ctf-similar-search

Searches for similar CTF challenge writeups using Tavily API for search and content extraction. Use when the user requests finding related challenges, when solve-challenge has failed multiple times and needs reference solutions, or when first identifying a challenge type and seeking examples.

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./ctf-similar-search/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body delivers concrete, executable commands in a clearly sequenced workflow, but pays a heavy token tax through repeated restatement of the 3-word rule and duplicated examples. Bundling the actual search.sh script and trimming the keyword-rule sections to a single table would fix both weak spots.

Suggestions

State the 3-word rule once (in one table covering word limits per search type plus good/bad keywords) and delete the redundant "Critical" section, "Why" bullets, "Key principle", Tips item 6, and the Quick Start block that repeats Step 1's examples verbatim.

Include the referenced search.sh script in the bundle (or a scripts/ file) so the documented commands are actually executable, and show one short example of interpreting search/extract output (e.g. which fields to read and how to pick URLs worth extracting).

Add a brief error-recovery loop to the workflow, e.g. 'If no relevant results, retry with a different keyword strategy (unique code snippet vs. competition+name) before pivoting to another ctf-* skill'.

DimensionReasoningScore

Conciseness

The 3-word rule is restated roughly six times (Step 1 comments, the "Critical" section's two tables, the Keyword Rules table, the "Why" bullets, the "Key principle", and Tips item 6), and Quick Start duplicates Step 1's examples verbatim — e.g. "DASCTF URL Storage" appears four times — making several sections padded rather than additive.

2 / 5

Actionability

Commands are concrete and copy-paste ready ("./search.sh search \"DASCTF URL Storage\"", "./search.sh extract \"https://example.com/writeup\""), but the referenced search.sh script is absent from the bundle and no guidance follows on interpreting extract output, leaving minor gaps below fully executable.

4 / 5

Workflow Clarity

A clear four-step sequence (Search → Review results → Extract → Analyze/Pivot) with an implicit checkpoint ("If a search result looks promising"), but no error-recovery feedback loops for empty results, API/quota failures, or keyword retries, so it falls short of the explicit-validation anchor.

4 / 5

Progressive Disclosure

The single file is well organized with clear sections (Prerequisites, API Overview, workflow steps, When to Pivot, Quick Start, Tips), though the ~60-line keyword-example bank is inlined where a separate reference file could carry it — minor organization gaps.

4 / 5

Total

14

/

20

Passed

Description

82%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 strong description with an explicit what/when structure and three concrete trigger scenarios tied to the surrounding CTF skill ecosystem. Its only weakness is modest action coverage — search and extract are named but the capability list is not comprehensive.

DimensionReasoningScore

Specificity

Names the domain ("similar CTF challenge writeups") and two concrete actions ("Tavily API for search and content extraction") in third person, but stops at 1-2 actions rather than the comprehensive list of the higher anchors.

3 / 5

Completeness

Explicitly answers what it does ("Searches for similar CTF challenge writeups using Tavily API for search and content extraction") and when to use it with three concrete trigger scenarios ("Use when the user requests finding related challenges, when solve-challenge has failed multiple times..., or when first identifying a challenge type").

5 / 5

Trigger Term Quality

Natural phrases like "finding related challenges", "needs reference solutions", and "seeking examples" mirror what a user would actually say; a few common variations (e.g. "write-ups", "look up similar challenges") are missing, matching the good-coverage anchor rather than comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (CTF writeup similarity search) with triggers that reference the sibling skill ecosystem ("solve-challenge has failed", "identifying a challenge type"), minimizing overlap with generic search or other ctf-* skills.

5 / 5

Total

17

/

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

ljagiello/ctf-skills

Path

ctf-similar-search/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.