How to Add a New Skill Module to the Reverse-Skill Router: The Complete 8-Step Workflow

Adding a new skill module to the reverse-skill router requires an 8-step compliance-driven process: engineering constraints check, directory scaffolding, SKILL.md documentation, bootstrap integration, routing matrix updates, index refresh, Kali platform sync, and final verification.

The reverse-skill repository by zhaoxuya520 implements a disciplined, multi-stage workflow for extending its AI-powered reverse engineering capabilities. This workflow ensures every new skill is discoverable, executable, and safely integrated into the routing matrix that governs AI tool selection. Below is the complete technical breakdown derived from the source code in skills/CONTRIBUTING.md.

0. Compliance Engineering Constraints

Every new skill must satisfy 服从性工程约束 (compliance engineering) before any code is written.

The mandatory blocks are:

  • "ACTION REQUIRED" — Forces immediate execution rather than passive reading
  • "Task Completion Self-Check" — Ensures the AI verifies its own work

These blocks appear at the top of SKILL.md and are non-negotiable. Without them, the AI will read the skill documentation without executing it.

1. When to Create a New Skill Module

Create a new skill only when the target type, toolchain, or workflow is distinct from existing modules.

Per skills/CONTRIBUTING.md section "1. 什么时候该新增 skill", if your change merely supplements an existing skill, edit that skill instead. The router's effectiveness depends on clear categorical boundaries.

2. Directory Skeleton Structure

Create a new folder under skills/ using lower-case hyphenated names (e.g., firmware-reverse).

Required structure:

skills/
└── <new-skill-name>/
    ├── SKILL.md              # mandatory entry point

    ├── scripts/              # optional automation

    │   └── <workflow>.ps1
    └── references/           # optional documentation

        └── <topic>.md

The SKILL.md file must contain front-matter with name and description fields, plus sections for 适用范围 (scope), 工具依赖 (tool dependencies), 工作流 (workflow), 按需自举 (on-demand bootstrap), and 路由上下文 (routing context).

3. SKILL.md Required Content Structure

The SKILL.md file drives both human readability and AI execution. Per skills/CONTRIBUTING.md lines 98-104, the ACTION REQUIRED block must appear early:


## ACTION REQUIRED(读完后立刻执行)

1. `NOW`:确认当前任务是否命中本 skill 的适用范围。
2. `NOW`:读取 `../tool-index.md`,校验工具可用性和实际路径。
3. `NEXT`:缺工具时调用 bootstrap,不要猜路径。
4. `ACT`:进入 "工作流" 第一步并执行,不要停在确认状态。

This structure ensures the AI transitions from reading to execution without hesitation.

4. Bootstrap System Integration (Windows)

Register the new skill's tools in the Windows bootstrap system through four files:

  1. scripts/bootstrap-manifest.json — Add capability entry with bootstrapKind, repo, assetRegex, installDir, and verifyCommand

Example for Ghidra headless:

{
  "name": "ghidra",
  "bootstrapKind": "github-release-zip",
  "repo": "NationalSecurityAgency/ghidra",
  "assetRegex": "^ghidra_.*_PUBLIC_.*\\.zip$",
  "installDir": "%USERPROFILE%\\Tools\\ghidra",
  "canAutoInstall": true,
  "verifyCommand": "analyzeHeadless"
}
  1. scripts/lib/ToolDiscovery.ps1 — Register the tool in the central catalog
  2. skills/scripts/refresh-tool-index.ps1 — Add script references for index regeneration
  3. Entry scripts — Ensure they call bootstrap when tools are missing

5. Routing Matrix Update

Update three routing artifacts to make the skill discoverable:

  • skills/routing.md — Insert rows under By Target Type, By User Intent, and/or By Toolchain as appropriate

Example routing entry:

| Target Type | Recommended Entry | Alternative |
|------------|-------------------|------------|
| Firmware / IoT | `firmware-pentest/` — extract → EMBA → emulate → fuzz | `reverse-engineering/platforms.md` — static RE only |

The router resolves queries via: MASTER-ROUTING.mdrouting.md → target skill's SKILL.md.

6. Refresh Tool Index

Run the platform-specific refresh script to regenerate tool-index.md and tool-index.json:

  • Windows: powershell skills/scripts/refresh-tool-index.ps1
  • Kali: bash kali/scripts/refresh-tool-index.sh

This step publishes your tool registrations to the index files that the routing system consults at runtime.

7. Kali Platform Synchronization

If the repository contains a kali/ directory, repeat steps 4-6 using Kali equivalents:

Cross-platform parity ensures consistent behavior regardless of the operating environment.

8. Verification Checklist

Confirm every mandatory artifact exists per the checklist embedded at the end of skills/CONTRIBUTING.md:

  • SKILL.md with compliance blocks and required sections
  • Routing matrix entries in routing.md
  • Bootstrap manifest registration
  • Tool-discovery registration
  • Index refresh executed successfully
  • Kali equivalents (if applicable)

Summary

The reverse-skill router follows a Define → Scaffold → Document → Register → Route → Index → Verify pattern:

  • Compliance blocks in SKILL.md force AI execution over passive reading
  • Bootstrap integration enables automatic tool installation and discovery
  • Routing matrix updates make skills findable by target type, intent, and toolchain
  • Index refresh publishes tool availability to the runtime system
  • Cross-platform sync maintains parity between Windows and Kali environments

Key files governing this workflow include skills/CONTRIBUTING.md (canonical guide), skills/MASTER-ROUTING.md (entry point), and skills/routing.md (resolution matrix).

Frequently Asked Questions

What happens if I skip the "ACTION REQUIRED" block in SKILL.md?

The AI will likely read your skill documentation without executing it. Per skills/CONTRIBUTING.md, this block is mandatory under 服从性工程约束 (compliance engineering) and ensures the transition from reading to action. Without it, the skill fails its primary purpose of driving automated reverse engineering workflows.

Can I add a skill without updating the routing matrix?

No—the skill will be undiscoverable. The router in skills/MASTER-ROUTING.md resolves queries through a chain: MASTER-ROUTING.mdrouting.md → target SKILL.md. If your skill lacks entries in routing.md under the appropriate axes (target type, user intent, toolchain), the AI cannot route tasks to it.

How does the bootstrap system handle missing tools?

The bootstrap system declared in scripts/bootstrap-manifest.json specifies bootstrapKind (e.g., github-release-zip), source repository, asset patterns, and installation paths. When tool-discovery detects a missing tool, it invokes the registered bootstrap method, installs to the configured directory, and verifies via verifyCommand—all without manual intervention.

What's the difference between routing.md and MASTER-ROUTING.md?

MASTER-ROUTING.md is the entry point that explains the routing chain rules and delegates to specialized matrices. routing.md contains the three-axis routing matrix (By Target Type, By User Intent, By Toolchain) with concrete skill assignments. The master document governs policy; the routing document contains the actionable lookup tables.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →