Best for
- Public types, methods, records, or interfaces in an assembly referenced
- ASP.NET controllers, minimal-API endpoints, route constants, or HTTP
- EF Core entity classes, DbContext overrides, OnModelCreating
Metalnib/dotnet-episteme-skills/skills/dotnet-techne-cross-repo-impact/SKILL.md
Use when reviewing a .NET pull request for breaking changes that may affect other microservice repositories. Detects cross-repo API, DTO, endpoint, EF entity, and NuGet-package breaks, and checks whether a compatible downstream PR already exists. Keywords: cross-repo impact, breaking change, microservice compatibility, downstream break, compatible PR, blast radius review, api compatibility, contract break, dto shape change, endpoint break.
Decision brief
Procedural recipe for reviewing a .NET pull request against a multi-repo microservice workspace: detect breaking changes, trace their blast radius across repo boundaries, check for a compatible downstream PR, and render a structured cross-repo-impact.md report.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/Metalnib/dotnet-episteme-skills --skill "skills/dotnet-techne-cross-repo-impact"Inspect the Agent Skill "dotnet-techne-cross-repo-impact" from https://github.com/Metalnib/dotnet-episteme-skills/blob/d169327d980a07c207b935215342071941c00ff6/skills/dotnet-techne-cross-repo-impact/SKILL.md at commit d169327d980a07c207b935215342071941c00ff6. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Mode A: call reindexrepository { path: , ref: }. Wait for response. Inspect returned delta stats to confirm at least one node changed.
Synopsis v1.6.0+ binary available, either:
Trigger this skill when a PR diff touches any of:
Pick the mode based on what is available:
Used when a long-running synopsis mcp daemon is already serving a combined multi-repo graph (typical deployment for an autonomous review agent).
Permission review
The documentation asks the agent to create, modify, or delete local files.
If not, write the file to the workspace root and print its path.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 12 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Procedural recipe for reviewing a .NET pull request against a multi-repo
microservice workspace: detect breaking changes, trace their blast radius
across repo boundaries, check for a compatible downstream PR, and render
a structured cross-repo-impact.md report.
This skill is procedural only. It does not describe agent identity, default stance, or severity philosophy — those belong in the consuming agent's system prompt. This skill tells the agent how to run the analysis when invoked.
dotnet-techne-synopsis skill to auto-download and
detect the binary.gh for GitHub (authenticated, repo read).glab for GitLab (authenticated, MR read).searchOpenPrs tool..git markers under the root).Trigger this skill when a PR diff touches any of:
DbContext overrides, OnModelCreating
configurations, ToTable / HasColumnName calls, or migration files.[JsonPropertyName], [DataMember],
[JsonConverter], or used as HttpClient request/response bodies.PackageReference elements in .csproj or Directory.Packages.props
where the package is also referenced by other repos.appsettings.json keys that appear as ConfigurationKey nodes in the
Synopsis graph.If the diff is pure internal refactor (no public surface change, no cross-repo edges touched), skip this skill and run standard review skills only.
Pick the mode based on what is available:
Used when a long-running synopsis mcp daemon is already serving a
combined multi-repo graph (typical deployment for an autonomous review
agent).
reindex_repository) at
the head SHA before analysis; other repos stay warm.Used when Synopsis is not running as a daemon (Claude Code user running this skill manually, CI one-shot, etc.).
synopsis scan to produce
head.graph.json.synopsis scan →
base.graph.json).synopsis breaking-diff base.graph.json head.graph.json --json to
get classified breaking changes.synopsis query symbol --fqn <name> --blast-radius --json.Both modes produce the same findings; the skill text below uses MCP tool names and notes CLI equivalents where relevant.
.git directories exist.git diff --name-only <base>...<head>.Mode A: call reindex_repository { path: <pr-repo-abs-path>, ref: <head-sha> }.
Wait for response. Inspect returned delta stats to confirm at least one
node changed.
Mode B: synopsis scan <workspace-root> -o head.graph.json
at head SHA, then git checkout <base-ref>, then
synopsis scan <workspace-root> -o base.graph.json, then restore head.
Mode A: call breaking_diff { before: <base.graph.json>, after: <head.graph.json> }.
(The daemon may cache before as part of its pre-PR baseline; confirm in
the returned metadata.)
Mode B: synopsis breaking-diff base.graph.json head.graph.json --json.
The response is a typed list of changes. Each change has:
kind — paired change kinds (ApiSignatureChange, EndpointRouteChange,
EndpointVerbChange, TableRename, NugetVersionBump), removal kinds
(ApiRemoved, EndpointRemoved, TableRemoved, PackageRemoved), or
detection-pending kinds (DtoShapeChange, EntityColumnChange,
SerializationContractChange — not yet emitted; reserved for future
pass work).severity — classifier's base severity (Critical/High/Medium/Low).certainty — Synopsis certainty (Exact / Inferred / Ambiguous /
Unresolved).affectedNodes[] — graph node IDs touched.beforeSnippet, afterSnippet — one-line summaries.sourceLocation — file + line (where applicable).If the list is empty, skip to step 7 and emit a clean pass.
For each classified change, call blast_radius { symbol: <nodeId>, direction: "upstream", depth: 4 }
(CLI equivalent: synopsis query symbol --fqn <name> --blast-radius --depth 4).
Retain only changes whose upstream callers include at least one node with
repositoryName != prRepo.name. Group hits by downstream repository.
Changes with no cross-repo callers are not reported by this skill — they are handled by the standard code-review skills. Always count them in the summary as "internal-only changes: N".
For each affected downstream repo, search open PRs/MRs that likely fix
the break. See references/compat-pr-search.md for the full heuristic
catalogue; the minimum set:
fix/*<symbol>*,
chore/sync-<pr-number>, bump/<package>-<version>).#N, search open
PRs in downstream repos mentioning that issue number.GitHub example:
gh pr list --repo <owner>/<downstream-repo> --state open \
--search "<symbol> in:title,body" --json number,title,url,headRefName
GitLab example:
glab mr list --repo <group>/<downstream-repo> --state opened \
--search "<symbol>"
Record for each affected repo: compatiblePrUrl: <url> OR compatiblePr: NONE FOUND.
If the search hits its rate limit or errors, mark compatiblePr: UNKNOWN
for that repo and proceed — never fail the whole analysis on search
flakiness.
Start with the classifier's base severity, then apply these transforms:
search-failed warning.Ambiguous or Unresolved: cap severity
at Medium and add an ambiguous-evidence warning.See references/severity-rubric.md for the full table including edge
cases.
Produce the cross-repo-impact.md report following the schema in
references/report-schema.md. Output destinations:
Always also emit a structured JSON summary for programmatic consumers:
{
"severity": "<highest finding severity>",
"counts": { "critical": 0, "high": 0, "medium": 0, "low": 0 },
"affectedRepos": 0,
"compatiblePrsFound": 0,
"compatiblePrsMissing": 0,
"findings": [
{ "kind": "...", "symbol": "...", "severity": "...", "recommendation": "..." }
]
}
Recommendation values: BLOCK | REQUIRE-COORDINATED-PR | FLAG | OK.
The report's Confidence field mirrors the weakest Synopsis certainty
contributing to the finding:
| Synopsis certainty | Confidence |
|---|---|
Exact | High |
Inferred | Medium |
Ambiguous | Low |
Unresolved | Unknown |
When a finding has mixed certainty across its evidence, report the lowest value.
| Situation | Behaviour |
|---|---|
| Synopsis daemon unreachable (Mode A) | Fall back to Mode B. If that also fails, emit a degraded report with severity: Unknown, reason stated, and still run standard review skills. |
breaking_diff returns no changes | Emit the summary JSON with all zero counts and a one-line "no cross-repo-relevant breaking changes detected" note. No markdown report. |
git checkout <base-ref> fails in Mode B | Fall back to last common commit via git merge-base; record a warning in the report. |
| Compat-PR search CLI absent | Mark all findings compatiblePr: UNKNOWN, escalate one level, emit warning in each finding. |
| LLM suggests a cross-repo caller Synopsis did not report | Reject the suggestion. Every caller in the report must cite a Synopsis node or edge. If evidence is missing, omit the claim. |
These invariants apply every run. Consumers cannot override them:
breaking_diff output AND at least one node/edge from
blast_radius.BLOCK, etc.) are
suggestions. Gate enforcement is the code host's responsibility.references/severity-rubric.md — full
rules table including edge cases.references/report-schema.md — exact
markdown format for cross-repo-impact.md.references/compat-pr-search.md —
heuristics and CLI recipes for GitHub, GitLab, and others.dotnet-techne-synopsis — installs the Synopsis binary, exposes the
graph query surface. This skill depends on it.dotnet-techne-code-review — standard .NET PR review skill. Runs
alongside this skill; this one only handles cross-repo findings.dotnet-techne-csharp-api-design — guidance on designing API changes
to avoid creating cross-repo breaks in the first place.Frequently asked questions
Procedural recipe for reviewing a .NET pull request against a multi-repo microservice workspace: detect breaking changes, trace their blast radius across repo boundaries, check for a compatible downstream PR, and render a structured cross-repo-impact.md report.
The source record exposes this install command: npx skills add https://github.com/Metalnib/dotnet-episteme-skills --skill "skills/dotnet-techne-cross-repo-impact". Inspect the command and pinned source before running it.
Static rules flagged write-files in the source; the page lists the matching lines and excerpts.
Alternatives
magnus919/agent-skills
Use this skill to reverse-engineer an existing software system, map its architecture, data flow, privacy posture, coupling, quality characteristics, and feature surface, then produce an evidence-grounded clean-room design document, PRD, or migration plan under new constraints. Use for codebase archaeology, implicit contract extraction, architecture health assessment, or decomposition-readiness analysis. Do not use for greenfield architecture design, direct code review, bug hunting, security audi
VincentChuWaiChow/vanguard-frontier-agentic
Retrieves and analyzes Apex debug logs from a connected Salesforce org to identify governor-limit hits, SOQL N+1 patterns, unhandled exceptions, and async job failures. T1 read-only runtime — retrieves logs only, never executes code or mutates data. TRIGGER when: user asks to analyze an Apex log, debug a trigger failure, diagnose a governor limit hit, interpret a stack trace from a Salesforce org, or review a DEBUG log for performance issues. Trigger phrases: analyze apex log, debug this trigger
ruvnet/RuView
Comprehensive GitHub code review with AI-powered swarm coordination
nirholas/three.ws
Complete mastery guide for smart contract security auditing — from first principles of EVM bytecode to advanced exploit patterns. Covers manual code review methodology, automated tooling (Slither, Mythril, Foundry fuzz), common vulnerability taxonomy (reentrancy, flash-loan attacks, oracle manipulation, access control, integer math), audit report writing, severity classification (Critical/High/Medium/Low/Informational), gas optimization reviews, upgrade safety, and DeFi-specific audit checklists