How to Execute the Master Routing Script on Windows: A Complete PowerShell Guide
Run master-route.ps1 from PowerShell 5.1+ with -ExecutionPolicy Bypass and a -Hint parameter to route security tasks to the correct skill automatically.
The master routing script in the zhaoxuya520/reverse-skill repository is the central dispatcher for security automation workflows. This PowerShell script analyzes task hints, matches them against keyword rules in skills/config/routing.json, and generates a route-scope.md manifest that tells downstream tools which skill to execute. Understanding how to execute the master routing script on Windows correctly ensures your security tasks reach the right automation modules without manual guesswork.
What the Master Routing Script Does
At its core, skills/scripts/master-route.ps1 serves as an intelligent router with no hard-coded logic. It relies entirely on external configuration to make routing decisions.
Core Components
| Component | Location | Purpose |
|---|---|---|
| Master routing script | skills/scripts/master-route.ps1 |
Parses hints, scores matches, selects PRIMARY skill, outputs manifest |
| Routing configuration | skills/config/routing.json |
Single source of truth for keywords, priorities, and fallback rules |
| Work root resolver | skills/scripts/lib/WorkRoot.ps1 |
Determines where to place output files |
| Generated manifest | work/master-route-<timestamp>/route-scope.md |
Records selected skill, confidence, and next actions |
Execution Flow in master-route.ps1
The script processes your task through eight distinct stages (lines 7-98):
- Input parsing (lines 7-15) – Accepts
-Hint, optional-OutDirand-ProjectRoot - Config loading (lines 22-33) – Reads
routing.jsonas structured data - Keyword matching (lines 35-52) – Applies
must,mustAll, andexcluderegex rules - Scoring and priority resolution (lines 54-88) – Calculates match confidence, applies priority ordering
- Fallback handling (lines 90-98) – Uses
fallbackIdwhen no route matches - Output directory resolution – Creates timestamped folder under
work/ - Manifest generation (lines 39-66) – Writes
route-scope.mdwith PRIMARY skill details - User feedback (lines 71-76) – Prints selected skill path and confidence level
Prerequisites for Running on Windows
Before executing the master routing script, verify your environment meets these requirements:
- PowerShell 5.1 or newer – Required for JSON parsing and filesystem operations
- Execution policy bypass capability – The script is unsigned and requires explicit policy override
- Repository cloned locally – The
skills/directory must exist relative to your working path
Check your PowerShell version:
$PSVersionTable.PSVersion
Basic Execution: Running the Master Routing Script
The simplest invocation requires only a task hint describing what you want to accomplish.
Minimal Command
powershell -NoProfile -ExecutionPolicy Bypass -File .\skills\scripts\master-route.ps1 -Hint "enumerate active directory users"
Parameter breakdown:
-NoProfile– Prevents user profile scripts from interfering-ExecutionPolicy Bypass– Allows unsigned script execution for this session only-File .\skills\scripts\master-route.ps1– Path to the routing entry point-Hint "..."– Natural language description of your security task
What Happens After Execution
The script outputs a selection summary and the path to route-scope.md:
PRIMARY: skills/active-directory/user-enum
Confidence: 0.92
Manifest: C:\reverse-skill\work\master-route-20241012-153045\route-scope.md
ACTION: Open PRIMARY SKILL.md now and execute ACTION REQUIRED.
Advanced Execution Options
Specify a Custom Output Directory
By default, the script creates a timestamped folder under work/. Override this with -OutDir:
powershell -NoProfile -ExecutionPolicy Bypass -File .\skills\scripts\master-route.ps1 `
-Hint "detect suspicious network traffic" `
-OutDir "C:\Temp\incident-response\routing"
Manually Set the Project Root
If automatic detection fails, provide -ProjectRoot:
powershell -NoProfile -ExecutionPolicy Bypass -File .\skills\scripts\master-route.ps1 `
-Hint "collect forensic evidence from disk image" `
-ProjectRoot "D:\Tools\reverse-skill"
This parameter directly feeds into WorkRoot.ps1 (lines 13-18), which determines where the skills/ directory lives.
Verifying and Using the Generated Manifest
After execution, inspect the routing decision:
Get-Content .\work\master-route-20241012-153045\route-scope.md
The manifest contains:
- PRIMARY skill path and confidence score
- SECONDARY candidates with lower scores
- HINT as provided for audit trails
- ACTION REQUIRED with specific next steps
Downstream automation reads this file to invoke the correct skill module.
Routing Configuration Reference
The skills/config/routing.json file controls all matching behavior. Each route entry defines:
{
"id": "active-directory/user-enum",
"keywords": {
"must": ["active directory", "ad", "users"],
"mustAll": ["enumerate", "list"],
"exclude": ["linux", "local"]
},
"priority": 1,
"skillPath": "skills/active-directory/user-enum"
}
The script applies these rules at lines 35-52, counting matches and resolving ties via the priority array order (lines 54-88).
Troubleshooting Common Issues
| Symptom | Cause | Solution |
|---|---|---|
| "Cannot load script" error | Execution policy blocking | Add -ExecutionPolicy Bypass |
routing.json not found |
Wrong working directory | Run from repository root or use -ProjectRoot |
| No PRIMARY skill selected | Hint matches no routes | Check routing.json keywords; verify case-insensitive matching |
| Output folder not created | Missing work/ directory |
The script auto-creates this; check permissions |
Summary
- Execute the master routing script on Windows using PowerShell 5.1+ with
-ExecutionPolicy Bypassand a descriptive-Hint - The script lives at
skills/scripts/master-route.ps1and depends onskills/config/routing.jsonfor all routing decisions - Output goes to
work/master-route-<timestamp>/route-scope.mdby default, or a custom path via-OutDir - The generated manifest specifies the PRIMARY skill path, confidence score, and required next actions
- No routing logic is hard-coded; all behavior is configurable through JSON
Frequently Asked Questions
What PowerShell version do I need to run the master routing script?
PowerShell 5.1 or newer is required. The script uses ConvertFrom-Json and modern filesystem APIs that earlier versions lack. Verify with $PSVersionTable.PSVersion.
Can I run the script without changing my execution policy permanently?
Yes. The -ExecutionPolicy Bypass parameter applies only to the current session. Your system policy remains unchanged after the script completes.
Where does the routing script get its matching rules?
All rules live in skills/config/routing.json. The master-route.ps1 script contains zero hard-coded routes—it loads and evaluates this JSON file at runtime (lines 22-33).
What happens if my hint doesn't match any defined routes?
The script falls back to a fallbackId specified in routing.json (lines 90-98). This ensures every hint receives a routing decision even when keyword matching fails.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →