Skill Development
July 26, 2026 ยท View on GitHub
DeepSec catalog entries live in deepsec/roles/*.yaml and deepsec/tools/*.yaml. Catalogs are reloaded on every CLI request, so a valid edit takes effect without restarting the process. Invalid YAML is logged as a warning and skipped rather than taking the catalog down.
A role defines its operating mode, permitted tools, skill namespaces, model preferences, and execution budgets. Tool entries must provide a name, description, category (recon, exploit, verify, or report), installation metadata, parameters, output parser metadata, skills, and a non-empty min_role list.
name: example-tool
description: Example authorized verifier.
category: verify
install:
check: example-tool --version
command: pip install example-tool
method: pip
parameters:
target: "{target}"
output:
format: json
parse: true
skills: [web/verification]
min_role: [pentester, redteam]
Validate a catalog change with deepsec tools and deepsec spear tools --role pentester. Do not put destructive defaults, real credentials, or broad target ranges in a tool definition.