You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A collection of /skill-name slash commands for the Copilot CLI, each translating a mature reasoning discipline from another field into a structured workflow an agent can invoke on demand.
The premise: most engineering reasoning errors aren't novel. They've been studied β and often named β by chemists, immunologists, structural engineers, hermeneuts, traders, chefs, and athletic coaches. These skills import that vocabulary so we can recognise the situation, reach for the right framework, and avoid reinventing the analysis.
Each skill follows the same shape: a framing paragraph, when-to-use triggers with an explicit escape hatch, a domain vocabulary table, a 6β8-step process with templates and weak-vs-strong examples, an output template, anti-patterns, and cross-references to related skills.
How to use
/skills reload # pick up new skills
/skills list # see what's installed
/<skill-name> # invoke a skill
Skills live at ~/.copilot/skills/<name>/SKILL.md. The CLI surfaces a small rotating subset of skills to the agent each turn based on session context, so a relevant one may be picked up automatically β but coverage is not guaranteed. Explicit invocation with /<skill-name> is the reliable way to engage a specific skill. Keep each skill's description: frontmatter trigger-rich, since that is what the auto-surfacing matches against.
Catalog
The third column tells you, in plain English, when to reach for it.
π Debugging & diagnosis
Skill
Lens
Reach for it whenβ¦
popperian-debug
Falsificationism β formulate, rank, and try to disprove hypotheses
You're stuck on a bug, the obvious fix didn't work, or you keep finding "the cause" and being wrong
differential-diagnosis-debugging
Medical triage β likelihood Γ severity Γ test cost
You have several plausible causes and need to decide which to investigate first
bayesian-reasoning
Belief updating with priors, likelihoods, posteriors
New evidence arrived and you need to know how much to update β especially when the evidence is striking but the base rate is low
statistical-debugging
Flaky tests, base rates, false positives, confidence
A test is intermittent, a metric is noisy, or you're tempted to act on a single observation
code-forensics
Reconstruct timelines from logs, commits, artifacts
An incident happened and you need a defensible chronology before drawing conclusions
observer-effect-debugging
Heisenbugs β when measurement perturbs the system
"It only fails when the debugger isn't attached" / "It only works when I add a log line"
π§ Reasoning & epistemology
Skill
Lens
Reach for it whenβ¦
assumption-audit
Surface and classify hidden assumptions
A design feels off but you can't say why; or you're handed a plan that "obviously" works
bias-audit
Anchoring, confirmation, availability, sunk cost
You've been deep in a problem and want to check if your reasoning has slid into a known cognitive trap
proof-tactics
Induction, contradiction, contrapositive, cases
You need to argue that a loop terminates, a recursion is exhaustive, or an edge case can't happen
fermi-estimation
Order-of-magnitude back-of-envelope reasoning
Before designing for a load, optimising a path, or sizing a machine β sanity-check the numbers
semantic-precision
Clarify overloaded terms, ambiguous specs
Two people are arguing using the same word for different things; a spec uses "must" without saying who must
interpretive-reading
Hermeneutics β charitable reading, hermeneutic circle
Reading legacy code, a confusing PR, an opaque error message, or an under-specified RFC
communication-pragmatics
Grice's maxims and speech act theory
Writing an error message, commit message, log line, agent prompt, or PR description that has to land correctly
mental-model-alignment
System model vs developer model vs user model
A bug isn't really a bug β it's a mismatch between how the system works and how someone thinks it works
π’ Mathematics & formal methods
Skill
Lens
Reach for it whenβ¦
formal-invariants
Discover invariants and encode as assertions/contracts
A subsystem keeps regressing in subtle ways; you want a property the code can never violate
dimensional-analysis
Track units of measure across boundaries
You suspect a units bug β bytes vs MB, ms vs s, count vs ratio β or you're crossing a system boundary that strips units
error-and-approximation-analysis
Floats, ULP, condition numbers, accumulated error
Money in floats, drifting clocks, geo coordinates, ML pipelines that don't add up
fixed-point-reasoning
Iteration, convergence, contraction, lfp/gfp
Designing a retry loop, type checker, scheduler, autoscaler, or any "iterate to stable" system
topological-refactoring
Behavior-preserving deformation; essential vs accidental structure
Mid-refactor and asking "is this still the same shape?" β what tests must keep passing
order-and-lattice-thinking
Posets, joins, monotonicity, CRDTs, type lattices
Designing version compatibility, permission models, CRDTs, type subtyping, or dataflow analyses
proof-tactics
Mathematical proof techniques
(See above β also under reasoning)
relativistic-causality
Lamport's logical time for distributed systems
Reasoning about event ordering, replicas, "did A happen before B?", consistency models
π Systems thinking
Skill
Lens
Reach for it whenβ¦
emergence-analysis
Local rules β surprising global behavior
A system is doing something nobody designed; small local changes have large global effects