Skip to content

Skills

A skill is a reusable, parameterized playbook — a set of instructions Kerkov can load to carry out a known procedure the same way every time. Kerkov ships several, and you can add your own.

Using skills

List, search, and load skills with /skill:

kerkov › /skill                       # list available skills
kerkov › /skill search sqli           # search by keyword
kerkov › /skill localhost-scan        # load one
kerkov › /skill vulhub-cve-lab CVE-2021-44228   # load with input

Loading a skill feeds its instructions into the conversation; anything after the skill name is passed as its input. The model then follows the playbook, still subject to your current mode and approval policy.

The model can also pull skills in on its own through the skill_lookup tool when a task matches one — you don't have to invoke /skill by hand.

Shipped skills

Skill What it does
localhost-scan Enumerate services, ports, and attack surface on the current machine.
vulhub-cve-lab Stand up a Vulhub lab from a CVE, verify the service is reachable, and prepare target details.
vulhub-exploit-validator Prove a vulnerability safely on a booted Vulhub target, then run the matching test path and collect evidence.
sqli-union Union-based SQL injection exploitation.
r2-analyze Reverse-engineer a binary with radare2 — disassembly, decompilation, strings, xrefs.
htb-machine-setup Set up a HackTheBox machine: connect VPN, spawn the box, verify reachability, report target details.
htb-machine-solve Solve an HTB machine end to end: enumerate, foothold, capture user.txt, escalate, capture root.txt.

Writing your own

Skills are SKILL.md files with YAML frontmatter (a name and description) followed by the instructions. Project skills live in the skills/ directory; the installer also seeds a copy under ~/.kerkov/ so your own skills survive upgrades. Unchanged shipped skills are refreshed on upgrade; edited skills are preserved. See the installation guide for the update and legacy-file handling rules.

For Python companion scripts that import Kerkov or read its credential store, use <kerkov_python> in the skill's command examples. Both /skill and skill_lookup replace it with the shell-quoted Python command for the running Kerkov installation. Keep that rendered command instead of substituting python3: an isolated tool environment may not be the Python on the shell's PATH. Resolve script paths against the skill directory printed when it loads.

A minimal skill:

---
name: my-recon
description: Quick TCP enumeration of a single authorized host
---

Given a target host, run a TCP service scan, identify listening services and
versions, and summarize the attack surface. Do not exploit anything.

Save it as skills/my-recon/SKILL.md and it appears in /skill.

Skill format reference

Skill format documents the full SKILL.md schema — every frontmatter key, the metadata.kerkov facets, and the requires preconditions. The shipped skills under skills/ are working examples to copy from.