CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ctf-writeup

Generates a single standardized submission-style CTF writeup for competition handoff and organizer review. Use after solving a CTF challenge to document the solution steps, tools used, and lessons learned in a structured format.

Quality

77%

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

Quality

Content

67%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 well-structured, actionable skill with a concrete template, executable discovery commands, and a genuine verification checklist. Its main weakness is redundancy — conciseness/one-script/flag-handling directives are each restated two or three times across the Default behavior, Guidance, DO/DON'T, and Checklist sections.

Suggestions

Consolidate the repeated directives: state each rule once (e.g., merge "Default behavior", the template "Guidance" list, and the DO/DON'T section into a single guidance block) so "keep it short", "one solving path", and "one complete script" are not each repeated 2-3 times.

Add a short filled-in example writeup (or a compact before/after of a good vs. bad Solution step) so the template's intent is anchored by one concrete instance rather than only placeholder text.

Tighten the workflow by folding the Best Practices Checklist into Step 2 as an explicit "verify, then fix and re-verify" checkpoint, and add one line on what to do when Step 1 finds no exploit scripts or artifacts.

DimensionReasoningScore

Conciseness

The same directives repeat across sections: "Keep writeups short enough that a teammate or organizer can validate the solve quickly" (Default behavior), "Length stays concise — the writeup is short enough for fast review" (Checklist), and "Keep the main path front-loaded so a reader can validate it quickly" (DO); likewise "Avoid multiple alternative solves; pick one clean path" (Guidance) duplicates "Include one complete solving path, not multiple alternative routes" (DO), and "Always produce a `submission`-style writeup" restates the template instruction. Mostly efficient with no padding of concepts Claude already knows, but the cross-section redundancy means it could be tightened — matching anchor 3 rather than 4's "minor instances".

3 / 5

Actionability

Concrete, executable guidance throughout: artifact-discovery commands (`find . -name '*.py' ...`, `grep -rniE '(flag|ctf|eno|htb|pico)\{'`), a copy-paste-ready submission template with explicit frontmatter fields, and a defined output filename (`writeup.md` or `writeup-<challenge-name>.md`). Not 5 because no worked example of a filled-in writeup is shown to anchor the common case.

4 / 5

Workflow Clarity

A clear sequence — Step 1 gather (with concrete commands), Step 2 generate from the template, then an explicit 9-item verification checklist before finalizing ("Metadata complete", "Code is runnable", "No sensitive data"). This is a non-destructive, single-file write, so the validation cap does not apply; it stays at 4 rather than 5 because the checklist is a static list with no fix-and-recheck loop and no guidance for when Step 1 artifacts are missing.

4 / 5

Progressive Disclosure

The skill is fully self-contained: no bundle files exist and the body references none, and the content is well-sectioned (Workflow, Templates, Best Practices Checklist, Quality Guidelines, Challenge) with no nested references. It scores 4 rather than 5 because at ~130 lines it exceeds the "under 50 lines, no external references" simple-skill case, and the template plus guidance could arguably be split into a reference file.

4 / 5

Total

15

/

20

Passed

Description

78%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: third-person voice, concrete capabilities, and an explicit "Use after solving a CTF challenge" trigger in a clearly distinct niche. The main improvement opportunity is broadening trigger phrasing to cover user-request variants and common synonyms ("write-up", "capture the flag", "flag").

DimensionReasoningScore

Specificity

"Generates a single standardized submission-style CTF writeup" combined with "document the solution steps, tools used, and lessons learned" names the domain and several concrete actions. It stays at 4 rather than 5 because the coverage is one output type with its components rather than a comprehensive set of distinct capabilities, and above 3 because more than 1-2 specific actions are listed.

4 / 5

Completeness

Both parts are explicit: the "what" ("Generates a single standardized submission-style CTF writeup ... document the solution steps, tools used, and lessons learned") and the "when" ("Use after solving a CTF challenge"). It falls short of 5 because the when-clause is a single state-based trigger and lacks user-voice trigger phrases such as "when the user asks for a writeup".

4 / 5

Trigger Term Quality

Natural phrases a user would say are present — "CTF writeup", "solving a CTF challenge", "solution steps", "tools used", "lessons learned", "competition handoff", "organizer review" — giving good keyword coverage. It is not 5 because common variations such as "write-up", "capture the flag", or "flag" are missing, and not 3 because the core natural terminology is well covered rather than only partially.

4 / 5

Distinctiveness Conflict Risk

"submission-style CTF writeup for competition handoff and organizer review" carves out a clear niche with distinct triggers (CTF challenges, writeups, competition handoff) that few other skills would match, so conflict risk is minimal. Neighboring anchor 4's "minor overlap risk" understates how targeted this description is.

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-writeup/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.