@pierre/diffs Code Rendering
pierrecomputer/pierre
Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.
Build the Devolutions Gateway Windows MSI installer locally.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msi --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/build-gateway-msi .claude/skills/build-gateway-msi && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .claude/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msi --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/build-gateway-msi .agents/skills/build-gateway-msi && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .agents/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msi --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/build-gateway-msi .cursor/skills/build-gateway-msi && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .cursor/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Devolutions/devolutions-gateway.git --path .agents/skills/build-gateway-msi--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msi --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/build-gateway-msi .gemini/skills/build-gateway-msi && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .gemini/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/build-gateway-msi .github/skills/build-gateway-msi && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .github/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Devolutions/devolutions-gateway build-gateway-msi --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Devolutions/devolutions-gateway.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/build-gateway-msi .opencode/skills/build-gateway-msi && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "build-gateway-msi" agent skill from https://github.com/Devolutions/devolutions-gateway/tree/master/.agents/skills/build-gateway-msi into .opencode/skills/build-gateway-msi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-gateway-msi", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
build-gateway-msiBuild the Devolutions Gateway Windows MSI installer locally.
Build Gateway Msi is an agent skill from Devolutions/devolutions-gateway. Build the Devolutions Gateway Windows MSI installer locally. Use when asked to build, compile, or rebuild the gateway MSI.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. It works with pnpm and PowerShell. The repository describes itself as: A blazing fast relay server adaptable to different protocols and desired levels of traffic inspection. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 81a3141. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmcargopwshnpmdotnetFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
devolutions.jfrog.ioregistry.npmjs.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Build Gateway Msi loads about 2.3k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 620 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
2. Add these lines to `%USERPROFILE%\.npmrc` (they won't be added by `npm login` automatically):2. Append to `%USERPROFILE%\.npmrc`:Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Devolutions/devolutions-gateway at commit 81a3141, republished under its Apache-2.0 licence (© Devolutions). 620 words, ~2,300 tokens.
.claude/skills/build-gateway-msi/SKILL.md (or your agent's skills folder).C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exepwsh)Static CRT is required for CI-matching builds. Without +crt-static, the binary fails at runtime
with exit code -1073741515 (0xC0000135, DLL not found) on machines without the MSVC redistributable.
Always set $Env:RUSTFLAGS = "-C target-feature=+crt-static" before cargo build --release.
For a local debug build this is optional, but release builds must use it.
Version stripping. The MSI product version must have a major component < 256, so the century
prefix 20 must be stripped: 2026.1.0 → 26.1.0. This matches what ci/Build/Build.psm1 does
via $version.Substring(2).
MSBuild output filename. MSBuild writes Release\DevolutionsGateway.msi. Rename it to the
versioned form if needed for distribution.
Web app build is slow (~5-10 min). Skip it on repeated builds by reusing the existing
webapp\dist\ output; only rebuild if webapp source changed.
download-cadeau.ps1 runs from ci/ and always writes to ../native-libs/, which resolves to
the repo root's native-libs\ directory. The file you need is native-libs\xmf.dll.
cd D:\devolutions-gateway
$Env:RUSTFLAGS = "-C target-feature=+crt-static" # required for CI-matching release build
cargo build --release -p devolutions-gateway
# Output: target\release\devolutions-gateway.exeFor a quick local debug build (no static CRT required, faster):
cd D:\devolutions-gateway
cargo build -p devolutions-gateway
# Output: target\debug\devolutions-gateway.execd D:\devolutions-gateway
pwsh ci/download-cadeau.ps1 -Platform win -Architecture x64
# Output: native-libs\xmf.dllcd D:\devolutions-gateway
pwsh powershell/build.ps1
# Output: powershell\package\DevolutionsGateway\@devolutions/* packages are hosted on a private JFrog Artifactory registry.
Before running pnpm install for the first time, configure authentication:
npm login --registry=https://devolutions.jfrog.io/devolutions/api/npm/npm/%USERPROFILE%\.npmrc (they won't be added by npm login automatically):@devolutions:registry=https://devolutions.jfrog.io/devolutions/api/npm/npm/
registry=https://registry.npmjs.org
//devolutions.jfrog.io/artifactory/api/npm/npm/:_authToken=<same token as above>/artifactory/ paths (different from /devolutions/), so a second token entry is required.Then build:
cd D:\devolutions-gateway\webapp
pnpm install
# Build in dependency order: shadow-player → multi-video-player → apps
pnpm --filter '@devolutions/shadow-player' build # packages/shadow-player
pnpm --filter '@devolutions/multi-video-player' build # packages/multi-video-player (depends on shadow-player)
pnpm --filter './apps/gateway-ui' build
pnpm --filter './apps/recording-player' build # depends on multi-video-player and shadow-player
# Outputs:
# webapp\dist\gateway-ui\
# webapp\dist\recording-player\Note:
pnpm build:libsandpnpm build:appsmay report "No projects matched" depending on pnpm version/workspace state. Use the explicit--filtercommands above instead.
cd D:\devolutions-gateway\package\WindowsManaged
$msbuild = "C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe"
$base = "D:\devolutions-gateway"
# Point at release binary (or replace with target\debug\devolutions-gateway.exe for debug build)
$Env:DGATEWAY_EXECUTABLE = "$base\target\release\devolutions-gateway.exe"
$Env:DGATEWAY_LIB_XMF_PATH = "$base\native-libs\xmf.dll"
$Env:DGATEWAY_PSMODULE_PATH = "$base\powershell\package\DevolutionsGateway"
$Env:DGATEWAY_WEBCLIENT_PATH = "$base\webapp\dist\gateway-ui"
$Env:DGATEWAY_WEBPLAYER_PATH = "$base\webapp\dist\recording-player"
$version = (Get-Content "$base\VERSION" -Raw).Trim()
if ($version.StartsWith("20")) { $version = $version.Substring(2) } # strip century: 2026.1.0 → 26.1.0
$Env:DGATEWAY_VERSION = $version
& $msbuild DevolutionsGateway.sln /t:clean,restore,build /p:Configuration=Release /verbosity:minimalOutput: package/WindowsManaged/Release/DevolutionsGateway.msi
Optionally rename to a versioned filename and compute the SHA-256:
$msi = "D:\devolutions-gateway\package\WindowsManaged\Release\DevolutionsGateway.msi"
$versioned = "D:\devolutions-gateway\package\WindowsManaged\Release\DevolutionsGateway-x86_64-20$($Env:DGATEWAY_VERSION).0.msi"
Copy-Item $msi $versioned -Force
$hash = (Get-FileHash $versioned -Algorithm SHA256).Hash
$hash | Set-Content "$([System.IO.Path]::ChangeExtension($versioned, 'sha'))"The ci/package-gateway-windows.ps1 script sets env vars and runs MSBuild for you:
$base = "D:\devolutions-gateway"
New-Item -ItemType Directory -Force -Path "$base\output\msi" | Out-Null
pwsh "$base\ci\package-gateway-windows.ps1" `
-Exe "$base\target\release\devolutions-gateway.exe" `
-LibxmfFile "$base\native-libs\xmf.dll" `
-PsModuleDir "$base\powershell\package\DevolutionsGateway" `
-WebClientDir "$base\webapp\dist\gateway-ui" `
-WebPlayerDir "$base\webapp\dist\recording-player" `
-OutputDir "$base\output\msi"
# Copies MSI to output\msi\DevolutionsGateway.msiNote: the script requires MSBuild.exe to be on $Env:PATH. If it isn't, prepend it:
$Env:PATH = "C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin;$Env:PATH"Always install with administrator rights. Double-clicking from Explorer runs the installer under an
impersonated (non-elevated) token, which causes Error code 5 or silent failures in custom actions.
Install from an already-elevated PowerShell prompt:
# Option 1 — msiexec with log (recommended for debugging)
msiexec /i "C:\path\to\DevolutionsGateway.msi" /l*v "C:\path\to\log.log"
# Option 2 — silent install
msiexec /i "C:\path\to\DevolutionsGateway.msi" /quietWixSharp.wix.bin NuGet Packageerror MSB4018: The "MSBuild" task failed unexpectedly.cd D:\devolutions-gateway\package\WindowsManaged
dotnet add package WixSharp.wix.bin --prerelease0xC0000135 / Exit Code -1073741515 at RuntimeThe binary was built without static CRT. Rebuild with $Env:RUSTFLAGS = "-C target-feature=+crt-static"
(see Step 1). This matches CI and eliminates the dependency on the MSVC redistributable.
DGATEWAY_EXECUTABLE Not FoundProgram.cs checks that the file exists at MSBuild time. Ensure cargo build completed successfully
and the path in $Env:DGATEWAY_EXECUTABLE is correct (debug vs. release).
DGATEWAY_PSMODULE_PATH Not Found / EmptyRun pwsh powershell/build.ps1 first. The output directory is powershell\package\DevolutionsGateway.
If the build fails due to a missing NuGet source, the script adds api.nuget.org automatically; ensure
internet access or restore from cache.
DGATEWAY_WEBCLIENT_PATH / DGATEWAY_WEBPLAYER_PATH Not FoundRun pnpm install && pnpm build:libs && pnpm build:apps in webapp/. Both gateway-ui and
recording-player must exist under webapp\dist\ before the MSI build starts.
pnpm install Fails with ERR_PNPM_FETCH_404 for @devolutions/icons@devolutions/icons is a private package not available on the public npm registry. It requires
access to a private npm registry (JFrog Artifactory). Fix:
npm login --registry=https://devolutions.jfrog.io/devolutions/api/npm/npm/%USERPROFILE%\.npmrc:@devolutions:registry=https://devolutions.jfrog.io/devolutions/api/npm/npm/
registry=https://registry.npmjs.org
//devolutions.jfrog.io/artifactory/api/npm/npm/:_authToken=<same token as the /devolutions/ line>/artifactory/ token entry is needed because some packages in the lockfile resolve
to that URL path rather than /devolutions/.pnpm build:libs / pnpm build:apps — "No projects matched"Use explicit --filter calls instead (see Step 4). The glob filters in package.json scripts
may not resolve depending on pnpm version.
The workspace library packages (shadow-player, multi-video-player) are in packages/ and
must be built before the apps that consume them. Build order: shadow-player → multi-video-player
→ gateway-ui and recording-player.
© Devolutions, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/build-gateway-msi of Devolutions/devolutions-gateway.
Open the folder on GitHubat commit 81a3141
Build Gateway Msi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Build Gateway Msi this skillDevolutions/devolutions-gateway | 161 | — | ~2.3k | Automated safety check: Warn | Apache-2.0 | |
| @pierre/diffs Code Renderingpierrecomputer/pierre | 6.2k | 2 repos | ~803 | Automated safety check: Pass | Apache-2.0 | |
| React Router Release Notes Prepremix-run/react-router | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Pull Requestspnpm/pnpm | 37k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Link Workspace Packagesnomcopter/react-mosaic | 4.8k | 5 repos | ~760 | Automated safety check: Pass | Custom licence | |
| Windows App SDK Issue Triage Reportmicrosoft/WindowsAppSDK | 4.7k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 |
pierrecomputer/pierre
Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
pnpm/pnpm
Take a change through a pull request in the pnpm repository — opening it, then staying with it after every push until CI is green and the review round is quiet.
nomcopter/react-mosaic
Link workspace packages in monorepos (npm, yarn, pnpm, bun).
microsoft/WindowsAppSDK
Generates GitHub Feature Area Status reports for the Windows App SDK repository, scoring issues so teams can see what needs attention in each area.
pnpm/pnpm
Curate a pending release page - merging entries that describe one change, dropping notes for defects that never shipped, ordering by importance, and checking the version the intents ask for.
Devolutions/devolutions-gateway
Review, lint, create, edit, refine, optimize, compress, or validate any agent skill in this repository, including any SKILL.md.
Devolutions/devolutions-gateway
Build the Devolutions Agent Windows MSI installer locally. An agent skill from Devolutions/devolutions-gateway.
Devolutions/devolutions-gateway
Creates missing DGW Jira tickets from CHANGELOG.md entries and updates the file with the new ticket links.
Devolutions/devolutions-gateway
Follow the adopted commit and pull-request conventions. An agent skill from Devolutions/devolutions-gateway.
Devolutions/devolutions-gateway
Prepares a Devolutions Gateway / Devolutions Agent release commit: bumps the version, generates and inserts the changelog, creates Jira tickets, generates the ToolBox changelog, and produces the…
Devolutions/devolutions-gateway
Add or change Windows installer (MSI) strings or languages for Devolutions Gateway or Devolutions Agent.
Works with
Categories
Build the Devolutions Gateway Windows MSI installer locally. Build Gateway Msi is an agent skill from Devolutions/devolutions-gateway. Build the Devolutions Gateway Windows MSI installer locally.
Build Gateway Msi fits situations like: rebuild the gateway MSI.
Run `npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a claude-code`. Or copy the skill folder (.agents/skills/build-gateway-msi in Devolutions/devolutions-gateway) into .claude/skills/build-gateway-msi in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a codex`. Or copy the skill folder (.agents/skills/build-gateway-msi in Devolutions/devolutions-gateway) into .agents/skills/build-gateway-msi in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Devolutions/devolutions-gateway --skill build-gateway-msi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-gateway-msi, .gemini/skills/build-gateway-msi, .github/skills/build-gateway-msi and .opencode/skills/build-gateway-msi in your project.
Going by SKILL.md and its folder, Build Gateway Msi needs the command-line tools its instructions call (pnpm, cargo, pwsh, npm and dotnet).
SKILL.md names 2 domains. In commands or code: devolutions.jfrog.io and registry.npmjs.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 2 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Build Gateway Msi is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Build Gateway Msi: @pierre/diffs Code Rendering (pierrecomputer/pierre, 6.2k stars), React Router Release Notes Prep (remix-run/react-router, 57k stars), Pull Requests (pnpm/pnpm, 37k stars) and Link Workspace Packages (nomcopter/react-mosaic, 4.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Devolutions (a GitHub organization) maintains it in Devolutions/devolutions-gateway, which has 161 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 6, 2026.
Source: Devolutions/devolutions-gateway on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.