How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-pomogator:context-menuThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
---
Trigger: /context-menu or user says "контекстное меню", "right-click", "правая кнопка", "nilesoft", "context menu", "меню проводника"
Windows only. Выполнять шаги последовательно.
[[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]] || uname -s | grep -qi windows
If not Windows — сообщить пользователю: "Nilesoft Shell работает только на Windows."
winget list Nilesoft.Shell
winget install Nilesoft.Shell --accept-package-agreements --accept-source-agreements
After install verify directory exists:
ls "C:/Program Files/Nilesoft Shell/shell.nss"
winget list Microsoft.WindowsTerminal
winget install Microsoft.WindowsTerminal --accept-package-agreements --accept-source-agreements
Read C:\Program Files\Nilesoft Shell\shell.nss and check if it contains import 'imports/claude-code.nss'.
If NOT present — append the import line:
shell.nss contentimport 'imports/claude-code.nss' at the endtemp-shell.nsspowershell.exe -NoProfile -Command "Start-Process cmd -ArgumentList '/c copy /Y \"temp-shell.nss\" \"C:\\Program Files\\Nilesoft Shell\\shell.nss\"' -Verb RunAs -Wait"
Write default config (see Default Configuration below) using the elevated write pattern (Step 4 of Workflow).
Tell user:
Для иконки в меню положите файл
claude-icon.icoвC:\Program Files\Nilesoft Shell\imports\. Иконку Claude можно скачать с https://claude.ai/favicon.ico или использовать любую .ico.
Tell user:
Для применения: Ctrl+ПКМ на рабочем столе → Shell → Reload
| Parameter | Value |
|---|---|
| Nilesoft install dir | C:\Program Files\Nilesoft Shell |
| Config file | C:\Program Files\Nilesoft Shell\imports\claude-code.nss |
| Icon | C:\Program Files\Nilesoft Shell\imports\claude-icon.ico |
| Main config | C:\Program Files\Nilesoft Shell\shell.nss |
The config file is in Program Files — direct Write/Edit will fail with EPERM.
Write pattern (mandatory):
temp-nilesoft.nss)cmd:powershell.exe -NoProfile -Command "Start-Process cmd -ArgumentList '/c copy /Y \"temp-nilesoft.nss\" \"C:\\Program Files\\Nilesoft Shell\\imports\\claude-code.nss\"' -Verb RunAs -Wait"
item(type='TYPE' title='TITLE' image='IMAGE' cmd='CMD' args='ARGS')
| Property | Values | Description |
|---|---|---|
type | dir|back | Show on directory background and folder right-click |
title | string | Menu item label |
image | path | Icon path. @app.dir = Nilesoft install dir |
cmd | executable | Program to launch |
args | string | Arguments. @sel.path = selected path |
sep | top|bottom|both | Separator line |
admin | true|false | Run as administrator |
Claude Code (YOLO mode):
item(type='dir|back' title='Claude Code (YOLO)' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude --dangerously-skip-permissions')
Claude Code (normal):
item(type='dir|back' title='Claude Code' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude')
Claude Code (YOLO + TUI) — split-pane with test runner:
item(type='dir|back' title='Claude Code (YOLO + TUI)' image='@app.dir\imports\claude-icon.ico' cmd='powershell.exe' args='-ExecutionPolicy Bypass -File "D:\repos\dev-pomogator\scripts\launch-claude-tui.ps1" -Yolo -ProjectDir "@sel.path"')
Requires
scripts/launch-claude-tui.ps1in the dev-pomogator repo. Launches Windows Terminal with Claude Code (YOLO) in top pane (70%) and Python TUI test runner in bottom pane (30%). TUI auto-picks up test progress from/run-tests.
With model selection:
item(type='dir|back' title='Claude Code (Opus)' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude --dangerously-skip-permissions --model opus')
With prompt:
item(type='dir|back' title='Claude Code + Review' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude --dangerously-skip-permissions -p "review this codebase"')
menu(type='dir|back' title='Claude Code' image='@app.dir\imports\claude-icon.ico')
{
item(title='YOLO mode' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude --dangerously-skip-permissions')
item(title='Normal' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude')
item(title='Sonnet' cmd='wt.exe' args='-d "@sel.path" -- cmd /k claude --dangerously-skip-permissions --model sonnet')
}
Read "C:\Program Files\Nilesoft Shell\imports\claude-code.nss"
Options:
Build the complete file content based on user's choice.
temp-nilesoft.nss in current working directoryC:\Program Files\Nilesoft Shell\imports\claude-code.nssTell the user:
Для применения: Ctrl+ПКМ на рабочем столе → Shell → Reload
| Flag | Description |
|---|---|
--dangerously-skip-permissions | Skip all permission prompts (YOLO mode) |
--model <model> | Use specific model: opus, sonnet, haiku |
-p "<prompt>" | Start with initial prompt |
--resume | Resume last conversation |
--continue | Continue last conversation |
--verbose | Enable verbose output |
--max-turns <n> | Limit agentic turns |
The auto-generated NSS file (via tools/context-menu/postinstall.ts) creates 6 entries: 3 standard + 3 in an "Admin" submenu. The admin submenu uses admin=true so Nilesoft Shell triggers UAC at click time, launching Claude Code elevated (required for Hyper-V cmdlets, ADK installs, modifying files in C:\Program Files\, etc.).
// Standard (non-elevated) entries — for normal coding sessions
item(type='dir|back' sep='top' title='Claude Code (YOLO + TUI)' image='@app.dir\imports\claude-icon.ico' cmd='powershell.exe' args='-ExecutionPolicy Bypass -File "<launchScript>" -Yolo -ProjectDir "@sel.dir"')
item(type='dir|back' where=package.exists("WindowsTerminal") title='Claude Code (YOLO)' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.dir\." -- cmd /k claude --dangerously-skip-permissions')
item(type='dir|back' where=package.exists("WindowsTerminal") title='Claude Code' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.dir\." -- cmd /k claude')
// Elevated (admin) submenu — required for system-level operations
menu(type='dir|back' sep='bottom' title='Claude Code (Admin)' image='@app.dir\imports\claude-icon.ico')
{
item(admin=true title='Claude Code (YOLO + TUI)' image='@app.dir\imports\claude-icon.ico' cmd='powershell.exe' args='-ExecutionPolicy Bypass -File "<launchScript>" -Yolo -ProjectDir "@sel.dir"')
item(where=package.exists("WindowsTerminal") admin=true title='Claude Code (YOLO)' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.dir\." -- cmd /k claude --dangerously-skip-permissions')
item(where=package.exists("WindowsTerminal") admin=true title='Claude Code' image='@app.dir\imports\claude-icon.ico' cmd='wt.exe' args='-d "@sel.dir\." -- cmd /k claude')
}
Use the Admin entries whenever the upcoming Claude Code session will need to:
Get-VM, New-VM, Restore-VMSnapshot, Checkpoint-VM, Set-VMFirmware, etc.)winget system-wideC:\Program Files\, C:\Windows\, registry HKLMEnable-WindowsOptionalFeature, Stop-Service, Set-ItemProperty HKLM:\...tools/hyperv-test-runner/ lifecycle scripts (vTPM, Secure Boot, snapshot ops)Standard entries are sufficient for normal coding, file editing in user space, and most non-system tasks.
| Problem | Solution |
|---|---|
| EPERM on write | Use elevated copy pattern (see File Permissions) |
| Menu not updating | Ctrl+ПКМ desktop → Shell → Reload |
| Icon not showing | Verify claude-icon.ico exists in imports dir |
wt.exe not found | winget install Microsoft.WindowsTerminal |
| UAC not appearing | Run elevated copy from interactive terminal |
| Nilesoft not in context menu | Check shell.nss has import 'imports/claude-code.nss' |
| winget not found | Install App Installer from Microsoft Store |
npx claudepluginhub stgmt/dev-pomogator --plugin dev-pomogatorGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.