Pester Failure Analysis
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
Find the most relevant external agent skills for the current task, then submit grounded feedback about which skills were actually used and useful in the same session.
$ npx skills add MemTensor/skills-vote --skill skills-vote -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MemTensor/skills-vote skills-vote --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/MemTensor/skills-vote.git skills-src && mkdir -p .claude/skills && cp -r skills-src/integration/skills/skills-vote .claude/skills/skills-vote && 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 "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .claude/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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/MemTensor/skills-vote/tree/main/integration/skills/skills-voteType 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 MemTensor/skills-vote --skill skills-vote -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MemTensor/skills-vote skills-vote --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemTensor/skills-vote.git skills-src && mkdir -p .agents/skills && cp -r skills-src/integration/skills/skills-vote .agents/skills/skills-vote && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .agents/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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 MemTensor/skills-vote --skill skills-vote -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MemTensor/skills-vote skills-vote --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemTensor/skills-vote.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/integration/skills/skills-vote .cursor/skills/skills-vote && 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 "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .cursor/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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/MemTensor/skills-vote.git --path integration/skills/skills-vote--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 MemTensor/skills-vote --skill skills-vote -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MemTensor/skills-vote skills-vote --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemTensor/skills-vote.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/integration/skills/skills-vote .gemini/skills/skills-vote && 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 "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .gemini/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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 MemTensor/skills-vote skills-voteInstalls 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 MemTensor/skills-vote --skill skills-vote -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MemTensor/skills-vote.git skills-src && mkdir -p .github/skills && cp -r skills-src/integration/skills/skills-vote .github/skills/skills-vote && 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 "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .github/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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 MemTensor/skills-vote --skill skills-vote -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MemTensor/skills-vote skills-vote --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MemTensor/skills-vote.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/integration/skills/skills-vote .opencode/skills/skills-vote && 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 "skills-vote" agent skill from https://github.com/MemTensor/skills-vote/tree/main/integration/skills/skills-vote into .opencode/skills/skills-vote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skills-vote", 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.
skills-voteFind the most relevant external agent skills for the current task, then submit grounded feedback about which skills were actually used and useful in the same session.
Skills Vote is an agent skill from MemTensor/skills-vote. Find the most relevant external agent skills for the current task, then submit grounded feedback about which skills were actually used and useful in the same session. Whenever you start a task, use this skill first.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts (for example `docs/feedback_guide.md`, `scripts/check_api_key.sh` and `scripts/download.py`).
It works with PowerShell. The repository describes itself as: SkillsVote: Lifecycle Governance of Agent Skills from Collection, Recommendation to Evolution. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 55ea783. 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.
Ships 8 files in scripts/ (Python, PowerShell and Shell), which the agent can run.
Shell commands in SKILL.md call:
uvshbashcurlwgetcodexclaudecursorgeminiopencodeFrom 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:
astral.shAlso links to:
docs.astral.shFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SKILLS_VOTE_API_KEYGITHUB_TOKENGH_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skills Vote loads about 1.2k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 573 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 noted patterns worth knowing about, such as sudo or a known installer.
- If curl is available, `curl -LsSf https://astral.sh/uv/install.sh | sh`- Otherwise `wget -qOhttps://astral.sh/uv/install.sh | sh``powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"`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); the scripts in this folder are not scanned.
The full file from MemTensor/skills-vote at commit 55ea783, republished under its MIT licence (© MemTensor). 573 words, ~1,220 tokens.
.claude/skills/skills-vote/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Read only this file first. Do not read scripts/ or any other files in this skill unless this file or a script output explicitly tells you to do so.
Use this skill in two moments:
Skip this skill if you are not considering any external skills at all.
All paths mentioned in this file are relative to this skill root. cd to this root directory before running any command here.
Before using this skill, ensure that:
SKILLS_VOTE_API_KEY is set in the environmentuv is installed and available on PATHuv runGITHUB_TOKEN or GH_TOKEN may be needed later if GitHub blocks skill downloads because the repo is private or rate-limitedSKILLS_VOTE_API_KEY is set:bash scripts/check_api_key.shpowershell -ExecutionPolicy Bypass -File scripts/check_api_key.ps1uv is installed: uv -Vuv is missing, install it from the official docs.curl -LsSf https://astral.sh/uv/install.sh | shwget -qOhttps://astral.sh/uv/install.sh | shpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv -Vrecommend.py accepts one JSON object with these fields:
query (str): A standalone, explicit, and retrieval-optimized description of the user's task. Rewrite the original request to improve clarity, specificity, and usefulness for search, retrieval, or downstream planning. When appropriate, include reasonable implied constraints, likely substeps, supporting tasks, or candidate approaches that are directly relevant to completing the task. Favor expansions that make the task easier to retrieve against or execute, but avoid adding weakly supported assumptions, unrelated details, or excessive verbosity. For example, if the original query is "make a video," the rewritten query may expand it into a fuller task such as planning the content, identifying the audience, drafting a script, preparing slides, designing charts or visual assets, considering animation tools like Manim, recording narration, editing the final video, and rehearsing delivery.
client_name (Literal["codex", "codex-app", "claude-code", "cursor", "gemini-cli", "openclaw-cli", "opencode"] | None = None): Name of this agent. If unknown/unverified or not listed, omit the field or return null.client_version (str | None = None): Version of this agent. Prefer the exact version string reported by the client itself. If unknown/unverified, omit the field or return null.download_dir (str = ".skills_vote/"): Directory to download recommended skills into. Relative paths are resolved from the current working directory. The path must be writable from the current runtime.Before sending the request, try to identify the client_name and client_version from the executable or CLI when possible. If no command exists to extract the version and it cannot be retrieved from the environment (e.g., some desktop apps), omit these fields.
client_name | client_version | command | output |
|---|---|---|---|
openclaw-cli | 2026.3.24 | openclaw -v | OpenClaw 2026.3.24 (cff6dc9) |
codex | 0.117.0 | codex -V | codex-cli 0.117.0 |
codex-app | 26.325.21221 | N/A | N/A |
claude-code | 2.1.85 | claude -v | 2.1.85 (Claude Code) |
cursor | 2.6.13 | cursor -v | 2.6.13 |
gemini-cli | 0.35.1 | gemini -v | 0.35.1 |
opencode | 1.3.0 | opencode -v | 1.3.0 |
Next, run recommend.py exactly once with one JSON object on stdin via EOF. Do not pass prose around the JSON, multiple JSON objects, or extra shell flags.
recommend.py may take around 5 minutes end to end. You must wait for it to finish completely and must not do other work before it exits. If you need progress, keep watching stdout until the command finishes.
uv run -qq scripts/recommend.py <<'EOF'
{
"query": "Add integration tests for a FastAPI skill recommendation flow, mock the gateway, and verify the returned skills and feedback flow.",
"client_name": "codex",
"client_version": "0.117.0",
"download_dir": ".skills_vote/"
}
EOF© MemTensor, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts) in integration/skills/skills-vote of MemTensor/skills-vote.
Open the folder on GitHubat commit 55ea783
Skills Vote 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 |
|---|---|---|---|---|---|---|
| Skills Vote this skillMemTensor/skills-vote | 304 | — | ~1.2k | Automated safety check: Notes | MIT | |
| Pester Failure AnalysisPowerShell/PowerShell | 56k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Copilot Session Failure Analysisdotnet/maui | 23k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Windows App SDK Issue Triage Reportmicrosoft/WindowsAppSDK | 4.7k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Evaluate PR Testsdotnet/maui | 23k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Translation ReviewDevolutions/UniGetUI | 26k | — | ~1.3k | Automated safety check: Pass | MIT |
PowerShell/PowerShell
Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.
dotnet/maui
Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.
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.
dotnet/maui
Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.
Devolutions/UniGetUI
Reviews UniGetUI .json language files for localization quality, detects parity issues, English-equal entries, wrong-script content, and cross-language outliers, then generates a dataset for…
Kuddev/pebrel
Control the live Pebrel terminal workspace from Codex or Claude Code.
MemTensor/skills-vote
A skill your agent uses when retrieving the most relevant skills from a local or private skill library instead of relying on network-based skill discovery.
Works with
Find the most relevant external agent skills for the current task, then submit grounded feedback about which skills were actually used and useful in the same session. Skills Vote is an agent skill from MemTensor/skills-vote. Find the most relevant external agent skills for the current task, then submit grounded feedback about which skills were actually used and useful in the same session.
Run `npx skills add MemTensor/skills-vote --skill skills-vote -a claude-code`. Or copy the skill folder (integration/skills/skills-vote in MemTensor/skills-vote) into .claude/skills/skills-vote in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MemTensor/skills-vote --skill skills-vote -a codex`. Or copy the skill folder (integration/skills/skills-vote in MemTensor/skills-vote) into .agents/skills/skills-vote 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 MemTensor/skills-vote --skill skills-vote -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skills-vote, .gemini/skills/skills-vote, .github/skills/skills-vote and .opencode/skills/skills-vote in your project.
Going by SKILL.md and its folder, Skills Vote needs Python, PowerShell and a shell for the scripts in its folder, the command-line tools its instructions call (uv, sh, bash, curl, wget and codex) and credentials named SKILLS_VOTE_API_KEY, GITHUB_TOKEN and GH_TOKEN. Our summary lists: Python 3; A Bash shell; PowerShell; A credential in SKILLS_VOTE_API_KEY; A credential in GITHUB_TOKEN.
SKILL.md names 2 domains. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. As links in the text: docs.astral.sh. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Skills Vote is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.9k 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 Skills Vote: Pester Failure Analysis (PowerShell/PowerShell, 56k stars), Copilot Session Failure Analysis (dotnet/maui, 23k stars), Windows App SDK Issue Triage Report (microsoft/WindowsAppSDK, 4.7k stars) and Evaluate PR Tests (dotnet/maui, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MemTensor (a GitHub organization) maintains it in MemTensor/skills-vote, which has 304 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 1, 2026.
Source: MemTensor/skills-vote on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.