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.
A skill your agent uses when encountering a bug, test failure, or unexpected behavior, before proposing fixes
$ npx skills add GanyuanRan/Aegis --skill systematic-debugging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GanyuanRan/Aegis systematic-debugging --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/GanyuanRan/Aegis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/systematic-debugging .claude/skills/systematic-debugging && 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 "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .claude/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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/GanyuanRan/Aegis/tree/main/skills/systematic-debuggingType 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 GanyuanRan/Aegis --skill systematic-debugging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GanyuanRan/Aegis systematic-debugging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GanyuanRan/Aegis.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/systematic-debugging .agents/skills/systematic-debugging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .agents/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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 GanyuanRan/Aegis --skill systematic-debugging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GanyuanRan/Aegis systematic-debugging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GanyuanRan/Aegis.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/systematic-debugging .cursor/skills/systematic-debugging && 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 "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .cursor/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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/GanyuanRan/Aegis.git --path skills/systematic-debugging--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 GanyuanRan/Aegis --skill systematic-debugging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GanyuanRan/Aegis systematic-debugging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GanyuanRan/Aegis.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/systematic-debugging .gemini/skills/systematic-debugging && 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 "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .gemini/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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 GanyuanRan/Aegis systematic-debuggingInstalls 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 GanyuanRan/Aegis --skill systematic-debugging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GanyuanRan/Aegis.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/systematic-debugging .github/skills/systematic-debugging && 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 "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .github/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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 GanyuanRan/Aegis --skill systematic-debugging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GanyuanRan/Aegis systematic-debugging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GanyuanRan/Aegis.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/systematic-debugging .opencode/skills/systematic-debugging && 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 "systematic-debugging" agent skill from https://github.com/GanyuanRan/Aegis/tree/main/skills/systematic-debugging into .opencode/skills/systematic-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systematic-debugging", 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.
systematic-debuggingA skill your agent uses when encountering a bug, test failure, or unexpected behavior, before proposing fixes
Systematic Debugging is an agent skill from GanyuanRan/Aegis. Use when encountering a bug, test failure, or unexpected behavior, before proposing fixes
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `advanced-debugging-governance.md`, `condition-based-waiting-example.ts` and `condition-based-waiting.md`).
It sits in Testing & QA, covering Debugging and Failing and flaky tests. The repository describes itself as: Make AI coding agents architecture-aware: baseline-first, evidence-verified, drift-checked, and safe across long tasks. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4edf34e. 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 script files (TypeScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Systematic Debugging loads about 2.8k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 1,316 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 no risky patterns in SKILL.md.
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 GanyuanRan/Aegis at commit 4edf34e, republished under its MIT licence (© GanyuanRan). 1,316 words, ~2,765 tokens.
.claude/skills/systematic-debugging/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Bug, failure, or unexpected behavior:
code-change and before the first repair edit, own the TDD Route for
the repair slice per test-driven-development (off default; strict on
behavior/bugfix/shared/contract/persistence/permission/migration risk).TDD Route: strict; with TDD Mode: off, do not require a failing test or
RED/GREEN cycle. Three failed fixes means stop and question architecture.Done: confidence ≥ B, causal status matches recurrence evidence or an external terminal, tracks explicit, no H signal, and required D evidence passes.
Find root cause and fix the bug class at its canonical owner. A minimal fix is not the smallest textual diff; it is the smallest sufficient owner-level repair.
For a low-risk, reproducible, single-owner bug with no patch-shape signal, keep
the readback compact: Symptom, Reproduction, Root Cause, Change Necessity, Fix Boundary, and Verification. Skip the causal card only when
the causal-proof owner's Quick Exit Proof passes.
Quick bug lane must surface Change Necessity before source edits. One sentence
may cover the user-visible need, no-change/non-code option, why code must
change, minimum boundary, and an explicit decision token such as
Decision: code-change. If shared logic, a contract, fallback, duplicate
owner, consumer patch, or cross-module behavior appears, leave this lane.
Aegis Visibility names the evidence/owner/patch-shape/verification effect.
Pass root cause, avoided misfix, boundary, evidence, complexity, and risk to
verification-before-completion; no separate receipt.
For UI/interaction defects, compose ui-ux-governance for relevant state and
recovery rules at the user-visible seam. Keep reproduction/root-cause ownership
here; a proposed manual check is not executed evidence.
feedback-loop-construction.md only when evidence shows intermittent or
timing-dependent reproduction and build a bounded loop. Shrink the repro
to load-bearing elements as the test input, never the fix scope: still drill
upward; test at the correct seam.establishing-project-context rather than silently redefining a term.root-cause-tracing.md only when the observed bad value is several
calls or components downstream from its origin.Goal | DeeperCause | Evidence | Risk/Unknown | Decision.Before editing, continue upward unless evidence proves the local site is the canonical owner when the candidate is any of these signals:
try/catch, early return, or one-off branch;PatchShape:
CanonicalOwner:
UpwardDrillSignal:
Decision: fix owner | continue investigation | escalateA locally green test does not erase triage; a renamed carrier is not a new direction.
When a repair may reinterpret or retire existing semantics, responsibility, contract, or relationship, name the behavior to preserve, highest-risk counterexample, and material unknown. For each known explicit anchor or upstream/downstream reference, state its role and disposition: preserve, rebind to the canonical owner, retire with reason, or reject because of conflict. Leave unresolved relationships unknown; do not re-infer them downstream. Bind role before value and retire invalid responsibility, not evidenced carrier capability. This bounded reminder is not a behavior matrix, relationship graph, referential-integrity proof, or exhaustive discovery claim. It adds no artifact, TDD risk signal, or regression scope; the existing TDD route owner and configured/default mode still apply.
If the diagnosis crosses L3, a patch-shape signal fires, a user disputes the
root claim, a prior fix leaves a symptom, compound/root topology is plausible,
two or more anchored manifestations of one incident exist, reproduction
conditions diverge across occurrences, or an
upstream producer/config/default/contract/spec remains unexcluded, read
root-cause-claim-contract.md before claiming a root cause. It is the sole
owner of the Pre-Claim Gate, causal-closure/falsifier proof, layer-ceiling
proof, and Causal Topology Gate.
This decision is behavior-triggered, not prompt-triggered. It applies to any new source-code path. Before that path or a non-trivial source edit, expose the Change Necessity decision (no-change | docs/config-only | code-change | needs-clarification); field detail lives in advanced-debugging-governance.md.
For any proposed branch, fallback, adapter, compatibility path, or new owner, run Minimality Check (fields in advanced-debugging-governance.md) with verdict sufficient repair | local patch | needs first-principles review, and retire invalid responsibility: a local patch needs a retention reason and retirement trigger. For a new non-ordinary repair surface, run the Existence Check in docs/current/AEGIS_MINIMALITY_REFERENCE.md. If retirement involves old code,
external compatibility, or persistent-state risk, compose
anti-entropy-governance; it chooses the retirement path but never grants
destructive authority.
Before editing an overloaded or mixed-purpose owner, complete Pre-Edit Complexity Check and Pre-Edit Owner-Fit Decision (templates in advanced-debugging-governance.md).
Use using-aegis/references/complexity-governance.md for pressure signals.
Do not add new-responsibility in place by default. If the safer boundary
changes the approved shape, update the plan/spec first.
Implement one owner fix; no bundled “while here” work. Under strict TDD, create the smallest failing test first. With TDD off, a reproduction is diagnostic evidence, not a RED gate or a prerequisite for production edits.
Verification must match the risk:
condition-based-waiting.md only when
evidence identifies polling, sleeps, or race timing as part of the cause;defense-in-depth.md only after the root repair is known and evidence shows
a second independent validation boundary is required.Read advanced-debugging-governance.md before another fix for failed/
persistent / divergent repair or three failures; for unclear/disputed stop /
Layer Stop Card / intervention; or plausible compound root. Closeout triggers:
repair-added patch-shape; multi-site/one-regression;
remaining pattern/anomaly/duplicate/wrong-owner/downstream repair;
uninspected same-symptom fix; open recurrence/unsupported root status;
missing compound topology-specific member/anti-disguise proof;
outside-repo authority; unmigrated
published-contract break; undefined spec; missing permission/info. They route H/T/D;
detail is not causal proof.
For non-trivial debugging with configured workspace support:
python <aegis-workspace-helper> init --root <target-project-root>
python <aegis-workspace-helper> new-work --root <target-project-root> ...
python <aegis-workspace-helper> add-evidence --root <target-project-root> --work <YYYY-MM-DD-slug> ...
python <aegis-workspace-helper> check --root <target-project-root>Failed attempts use <aegis-workspace-helper> add-attempt; add-evidence is terminal-only.
Fast bug fix or quick bug fix pressure does not skip this: if Ripple Signal Triage fires, record it before editing and verify the canonical owner plus affected downstream path. Records are advisory, not completion authority.
Always report:
Confirm the reproduction, same-pattern handling, authority, complexity, and
retirement. Prefix debug logs (e.g. [DEBUG-a4f2]); confirm one-grep removal before close. Confidence: A = direct regression evidence; B = strong evidence
with bounded unknowns; C = partial and not resolved.
Trace Digest may summarize audit evidence; never expose chain-of-thought or
replace root-cause, rule-effect, and verification evidence.
© GanyuanRan, 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 8 other files in skills/systematic-debugging of GanyuanRan/Aegis.
Open the folder on GitHubat commit 4edf34e
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GanyuanRan/Aegis, which our catalogue first saw on October 7, 2026.
Systematic Debugging 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 |
|---|---|---|---|---|---|---|
| Systematic Debugging this skillGanyuanRan/Aegis | 1.3k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Pester Failure AnalysisPowerShell/PowerShell | 56k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Testingkortix-ai/suna | 20k | — | ~3.6k | Automated safety check: Notes | Custom licence | |
| OpenLogi Change VerificationAprilNEA/OpenLogi | 23k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| RustPython Test Failure InvestigationRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| Issue To Regression Testbrunosabot/streamline-card | 269 | — | ~529 | 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.
kortix-ai/suna
A skill your agent uses for every Kortix test task, behavior change, bug fix, refactor, API route change, CLI change, SDK change, browser journey, test failure, coverage question, local benchmark…
AprilNEA/OpenLogi
Plans the smallest check that could disprove a code change in the OpenLogi project, then escalates through reproduction, focused tests and a final gate before a push.
RustPython/RustPython
Investigates a failing RustPython test by comparing it with CPython, then either fixes it or gathers the details for an incompatibility report.
brunosabot/streamline-card
A skill your agent uses when the user asks to fix a bug, references a GitHub issue number, or describes an issue and wants a fix.
JasonMa0012/MooaToon
A skill your agent uses when writing or modifying UE automated tests (Automation, CQTest, Functional, Gauntlet, LowLevel) with Rider MCP available.
GanyuanRan/Aegis
A skill your agent uses when touching retiring old logic, collapsing duplicate owners, removing fallbacks, or schema/persistence/source-of-truth boundaries; identify opportunities automatically…
GanyuanRan/Aegis
A skill your agent uses when executing a written implementation plan across sessions or with review checkpoints.
GanyuanRan/Aegis
A skill your agent uses when asked for first-principles or Occam's-razor review, or when high-risk decisions involve competing constraints, fallback growth, duplicate owners, or architecture…
GanyuanRan/Aegis
A skill your agent uses when the user explicitly sets an Aegis goal with /aegis-goal, Aegis goal:, or asks to define goal, success evidence, stop condition, or task boundaries before work.
GanyuanRan/Aegis
A skill your agent uses when the user asks to establish shared project language, or project work exposes a conflicting, renamed, or deprecated domain term that needs active semantic modeling.
GanyuanRan/Aegis
A skill your agent uses when the user asks to create, write, update, amend, supersede, or evaluate an ADR, architecture decision record, durable architecture decision, decision log, or baseline sync…
Categories
A skill your agent uses when encountering a bug, test failure, or unexpected behavior, before proposing fixes. Systematic Debugging is an agent skill from GanyuanRan/Aegis.
Systematic Debugging fits situations like: encountering a bug; unexpected behavior; before proposing fixes.
Run `npx skills add GanyuanRan/Aegis --skill systematic-debugging -a claude-code`. Or copy the skill folder (skills/systematic-debugging in GanyuanRan/Aegis) into .claude/skills/systematic-debugging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GanyuanRan/Aegis --skill systematic-debugging -a codex`. Or copy the skill folder (skills/systematic-debugging in GanyuanRan/Aegis) into .agents/skills/systematic-debugging 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 GanyuanRan/Aegis --skill systematic-debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/systematic-debugging, .gemini/skills/systematic-debugging, .github/skills/systematic-debugging and .opencode/skills/systematic-debugging in your project.
Going by SKILL.md and its folder, Systematic Debugging needs TypeScript and a shell for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3; Node.js; A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Systematic Debugging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 Systematic Debugging: Pester Failure Analysis (PowerShell/PowerShell, 56k stars), Testing (kortix-ai/suna, 20k stars), OpenLogi Change Verification (AprilNEA/OpenLogi, 23k stars) and RustPython Test Failure Investigation (RustPython/RustPython, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GanyuanRan (a GitHub user) maintains it in GanyuanRan/Aegis, which has 1,322 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 3, 2026.
Source: GanyuanRan/Aegis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.