How skills work
When an agent is invoked, CyberStrike resolves the skills assigned to it and injects their content into the agent’s context. Skills are referenced by name, not path, so the same skill can be reused across multiple agents. Skills are plain Markdown files namedSKILL.md with YAML frontmatter:
Built-in skills
CyberStrike ships with the following built-in skills, stored in.cyberstrike/skill/:
| Skill name | Description | Used by |
|---|---|---|
wstg-recon-config | WSTG reconnaissance, configuration, error handling, and cryptography techniques | web-application |
wstg-auth-session | Authentication and session management testing techniques | web-application |
wstg-injection | Injection vulnerability testing (SQL, NoSQL, command, SSTI, etc.) | web-application |
wstg-logic-client-api | Business logic, client-side, and API testing techniques | web-application |
ad-security | Active Directory security testing and attack techniques | internal-network |
kerberos-attacks | Kerberos protocol attack techniques and exploitation | internal-network |
Skill file format
Every skill is aSKILL.md file inside a named directory. The directory name does not need to match the skill name, but the name frontmatter field must be unique across all loaded skills.
Required frontmatter fields
| Field | Type | Description |
|---|---|---|
name | string | Unique skill identifier used to reference the skill from agents |
description | string | Short description of what the skill covers |
tags, version) are supported by convention but not required by the loader.
Adding custom skills
Local skill paths
Add askills.paths entry to cyberstrike.json to load skills from a directory on disk:
~/ are expanded to the home directory. Relative paths are resolved from the project root. CyberStrike recursively scans each directory for SKILL.md files.
Remote skills
Add askills.urls entry to load skills from a remote server:
index.json file listing available skills:
Project-level skill directories
Place skill directories inside.cyberstrike/skill/ or .cyberstrike/skills/ for automatic discovery with no configuration required:
User-level skills
Place skills in~/.cyberstrike/skill/ to make them available across all projects.
Creating a custom skill
Write the SKILL.md file
Create
.cyberstrike/skill/jwt-attacks/SKILL.md with the skill frontmatter and content:The file starts with a YAML frontmatter block containing name and description, followed by the full Markdown body with your attack techniques, payloads, tool commands, and methodology notes. The content is injected directly into the agent’s context window.Example structure:- Frontmatter:
name: jwt-attacks,description: JWT vulnerability testing - Body sections: Algorithm Confusion, RS256-to-HS256, weak secret brute force, claim injection
Skill loading order
CyberStrike loads skills in this order (later entries override earlier ones if names conflict):- External directories (
.claude/skills/,.agents/skills/) — global home first, then project-level .cyberstrike/skill/directories (global config dir, then project)- Additional paths from
skills.pathsincyberstrike.json - Remote skills from
skills.urlsincyberstrike.json
Using skills in custom agents
Reference skills by name in an agent’s configuration. Skills loaded from any source are available to any agent — they are resolved by name at runtime. When creating a custom agent file, you can note in the system prompt which skills the agent relies on. The skill content is injected by CyberStrike automatically based on the agent’sskills array (set via code for built-in agents) or available skill context.
For custom agents defined as .md files, all loaded skills are available as reference context that the agent can invoke via the skill tool when permitted.