dotnet-techne-refactor…
Use when the user asks for a phase-gated refactoring or redesign loop - session-blind workers map and trace the area, empirical probes precede the design, an…
Use when the user asks to verify a story or ticket implementation against its spec - per-AC verdicts, code reuse and design conformance, dead code, then adversarial maintainer verification. Requires the qa/review agent roles registered by scripts/install-codex.sh. Keywords:
$ npx -y skills add Metalnib/dotnet-episteme-skills --skill dotnet-techne-qa-pipeline --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dotnet-techne-qa-pipelineContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user asks to verify a story or ticket implementation against its spec - per-AC verdicts, code reuse and design conformance, dead code, then adversarial maintainer verification. Requires the qa/review agent roles registered by scripts/install-codex.sh. Keywords:
name: dotnet-techne-qa-pipeline description: "Use when the user asks to verify a story or ticket implementation against its spec - per-AC verdicts, code reuse and design conformance, dead code, then adversarial maintainer verification. Requires the qa/review agent roles registered by scripts/install-codex.sh. Keywords: story QA, acceptance criteria, spec conformance, AC coverage, QA this branch, verify story." license: MIT compatibility: Requires a Codex CLI with multi-agent tools enabled (agents.enabled, default true) and the qa-* and review-maintainer roles registered in config.toml. Without the roles, fall back to the single-context dotnet-techne-story-qa skill.
You are the orchestrator. Do not audit the code yourself - resolve the spec, dispatch, then format the result. Boundary: the review pipeline hunts defects in a diff; this pipeline verifies a story against its **spec**. Same branch, different question.
Paths below are relative to this skill's base directory. The spec-discovery cascade and output contract live in the sibling skill: `../../../skills/dotnet-techne-story-qa/references/`.
A spec-mode run spends **four agent turns** - three QA lanes plus the maintainer (three turns in no-spec mode). Say in one line what the run will cost; a small story on a constrained plan is better served by the single-context `dotnet-techne-story-qa` skill.
List your available agent roles. If `qa-acceptance`, `qa-reuse-design`, `qa-dead-code`, or `review-maintainer` is missing, stop and tell the user to run `scripts/install-codex.sh` from the plugin, and use the `dotnet-techne-story-qa` skill in the meantime.
The story diff: the current branch vs its merge-base with the default branch, unless the user names a branch, ticket, or base. Slug the story (ticket key if known, else branch name). Nothing to diff - halt and say so.
Follow `../../../skills/dotnet-techne-story-qa/references/spec-discovery.md` exactly: explicit spec path or pasted spec → ticket key from the argument or branch name (Jira-style `[A-Z][A-Z0-9]+-\d+`; fetch via an issue-tracker MCP tool when one is available) → repo artifacts (`.episteme/DESIGN-*.md`, PLAN files, docs) → **ask the user** with exactly two options: provide a reference, or continue without a spec. Never infer no-spec mode from a missing path.
Build the spec pack (numbered ACs, constraints, out-of-scope notes, claimed file/task lists, source, issue links and relevant ticket comments as one-liners, and the **contract source of truth** if the ticket names one - an external schema, consumer test suite, WSDL, or OpenAPI document, plus the consumer of the API; fetch its content yourself and put the relevant excerpts in the pack - the read-only roles cannot dereference a URL) and a practices pack (5-15 lines of the project's established conventions; when the host repo ships its own QA skill or QA instructions, fold its rules in - repo-local wins). Workers receive these packs and the diff - never conversation narration.
Capture the story diff once (read-only git), then spawn the lanes **in parallel, in one go**: `qa-acceptance` (only in spec mode) with the spec pack, `qa-reuse-design` with the practices pack, `qa-dead-code` with the comment-rules path (`../../../skills/dotnet-techne-story-qa/references/comment-rules.md`; host-repo conventions override it). Each with the repo root, the diff (the roles run read-only, so the inline diff saves redundant work), and the finding block format (Severity / Area / Owner / Location / Evidence / Impact / Fix / Confidence). In no-spec mode announce the skipped acceptance lane - degradation is stated, never silent. If your host caps concurrent agent threads, lanes run in waves - say so, and do not mistake a wave for a finished lane.
Merge and dedupe: same Location+Area merges, highest severity and strongest evidence win; number the list. Then spawn `review-maintainer` with the numbered findings, the AC coverage table, the spec pack (its issue links back the "another ticket covers it" counter-argument; its full criterion texts back any AC dispute), the diff scope, and both `../../../skills/dotnet-techne-code-review/references/maintainer-playbook.md` and `../../../skills/dotnet-techne-story-qa/references/falsification.md`. Spawn it even when the lanes returned zero findings in spec mode - an all-IMPLEMENTED table is exactly the result that needs an adversary. Apply its verdicts: drop REFUTED (keep a one-line Dropped list with the refutation), adjust DOWNGRADED and UPGRADED. The maintainer never rewrites the AC table; it may dispute a verdict whose evidence does not hold - a dispute is advisory, listed under the table, and gates CONCERNS. If the maintainer fails to run, say so and gate CONCERNS - unfalsified findings never read as a clean result.
The QA roles run read-only - they judge tests statically but cannot build or run them. You can. Build the touched projects, run the relevant tests, record the counts and warnings, and feed the result into the Summary and Checked table. A passing suite you executed outranks a test file only read; a failing build turns a PASS into a FAIL. Skip only when there is no runnable project or the user says so.
Format exactly per `../../../skills/dotnet-techne-story-qa/references/qa-output-contract.md`: the gate (FAIL / CONCERNS / PASS) and the skimmable verdict line first, then Summary (spec source, contract source of truth, build/test result, lanes run and any that failed), AC coverage table, findings ranked by consequence with Owner and Counter-check, the Dropped honesty section, the Checked table, and Yours to call.
Persist the verdict to `.episteme/QA-<slug>.md` (create `.episteme/` if mi
DotNet Episteme Skills - a curated, manual-first .NET AI skills library rooted in systematic knowledge (episteme) and shaped by disciplined craft (techne), designed for engineers who prioritise precision over hype.
Repo: Metalnib/dotnet-episteme-skills
Use when the user asks for a phase-gated refactoring or redesign loop - session-blind workers map and trace the area, empirical probes precede the design, an…
Use when the user asks for a multi-agent .NET code review - five parallel reviewers (correctness, performance, security/observability,…
Use when reviewing PRs/diffs/branches/documents for .NET quality, correctness, performance, security, data access, messaging, and observability. Includes…
Use when you need CRAP score and coverage risk analysis to find high-risk code before refactoring or release. Keywords: CRAP score, risk hotspots, cyclomatic…
Use when reviewing a .NET pull request for breaking changes that may affect other microservice repositories. Detects cross-repo API, DTO, endpoint, EF entity,…
Use when designing or changing public C#/.NET APIs with compatibility and versioning constraints. Keywords: breaking change, API design, backward…