agentsclimarketplace

Add tool

Skill 26zl/cybersec-toolkit/.claude/skills/add-tool

Use when adding a new cybersecurity tool to this installer. Walks through editing the right module file, adding to tools_config.json, running validators, and syncing MCP server data if needed. Triggers on phrases like "add tool", "add <toolname>", "register a new tool", "include X in the installer".From its SKILL.md

Install
npx -y skills add 26zl/cybersec-toolkit --skill add-tool

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

4.1 KB, as published. Nobody here has run it

Add a new tool to the installer

Use this when the user wants to add a new tool. Follow these steps in order. Do not skip validation.

1. Decide which module the tool belongs to

Match the tool to one of the 18 modules:

ModulePrefixTools
misc.shMISC_General CLI helpers, utilities
networking.shNET_Scanners, sniffers, proxies
recon.shRECON_OSINT, subdomain enum, fingerprinting
web.shWEB_Web app testing, fuzzing, scanners
crypto.shCRYPTO_Crypto attack tools, analysis
pwn.shPWN_Binary exploitation, debuggers, fuzzers
reversing.shRE_Disassemblers, decompilers
forensics.shFORENSICS_Disk/memory/file forensics
enterprise.shENTERPRISE_AD, Kerberos, post-exploit
wireless.shWIRELESS_Wi-Fi, Bluetooth
cracking.shCRACKING_Password cracking, hash tools
stego.shSTEGO_Steganography
cloud.shCLOUD_AWS/GCP/Azure tooling
containers.shCONTAINER_Docker, k8s
blueteam.shBLUETEAM_Detection, IR, hardening
mobile.shMOBILE_APK, iOS analysis
blockchain.shBLOCKCHAIN_Smart contracts, EVM
llm.shLLM_AI/LLM testing

2. Pick the install method

Preferred order: apt > pipx > go > cargo > binary release > gem > Docker > git clone > build from source

Add to the matching array in modules/<module>.sh:

MethodArrayFormat
apt<PREFIX>_PACKAGES"package-name"
pipx<PREFIX>_PIPX"pypi-name"
Go<PREFIX>_GO + <PREFIX>_GO_BINS"github.com/owner/repo/cmd@latest" + "binary-name"
Cargo<PREFIX>_CARGO"crate-name"
Gem<PREFIX>_GEMS"gem-name"
Git<PREFIX>_GIT + <PREFIX>_GIT_NAMES"name=https://github.com/owner/repo" + "name"
Binary releaseBINARY_RELEASES_<MODULE> in lib/installers.sh"owner/repo|binary|pattern|dest_dir"
DockerALL_DOCKER_IMAGES in lib/installers.sh"image|label" + add docker_pull call in module install function
Build from sourcebuild_from_source call in install_module_*() + <PREFIX>_BUILD_NAMESinline

If apt package name differs across distros, add a row to lib/distro_compat.tsv (columns: debian | dnf | pacman | zypper | pkg). Use - to skip a distro, empty for passthrough, a+b for multi-package expand.

3. Add metadata to tools_config.json

Append an entry:

{
  "name": "tool-name",
  "method": "apt|pipx|go|cargo|gem|binary|docker|git|build",
  "module": "module-name",
  "url": "https://upstream/url"
}

4. Run validators (REQUIRED — must show 0 errors)

python3 scripts/validate_tools_config.py

If URLs are missing, populate them automatically:

python3 scripts/validate_tools_config.py --sync

5. Update MCP sync if applicable

If the tool was added to a data source mirrored in the MCP server:

  • New Docker image → also update mcp_server/tools_db.py DOCKER_IMAGES
  • New pipx tool whose binary name differs from PyPI name → also update mcp_server/tools_db.py PIPX_BIN_NAMES (mirror of scripts/verify.sh _PIPX_BIN_NAMES)
  • New module → also update lib/common.sh MODULE_DESCRIPTIONS AND mcp_server/tools_db.py MODULE_DESCRIPTIONS

Then validate sync:

python3 scripts/validate_mcp_sync.py

6. Lint and final checks

shellcheck --severity=warning install.sh lib/*.sh modules/*.sh scripts/*.sh
bash -n install.sh lib/*.sh modules/*.sh scripts/*.sh

scripts/verify.sh, scripts/update.sh, scripts/remove.sh all source modules and pick up array changes automatically — no edits needed there.

7. Optional: smoke test

./install.sh --module <module-name> --dry-run

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.