Skip to content

Add spec-review skill: independent, multi-model design/spec review#614

Merged
nmetulev merged 3 commits into
mainfrom
nmetulev-spec-review-skill
Jul 13, 2026
Merged

Add spec-review skill: independent, multi-model design/spec review#614
nmetulev merged 3 commits into
mainfrom
nmetulev-spec-review-skill

Conversation

@nmetulev

Copy link
Copy Markdown
Member

What & why

Adds a new developer skill under .github/skills/spec-review/ that reviews a design or spec before any code is written — answering "should we build this, and is the approach right?"

This is the pre-code companion to the pr-review skill. pr-review reviews code that already exists and deliberately avoids the "should this exist" debate; spec-review is the opposite — it evaluates a proposal and makes the necessity + approach questions its whole point.

The motivating need: contributors want to validate a design with multiple sub-agents that use different model families (Opus / GPT / Gemini) and, crucially, get their information from their own research against reality — not by blindly trusting the spec. That independent-research + multi-model-family emphasis is the heart of this skill.

Scope note: this PR only adds files under .github/skills/spec-review/. It does not touch the pr-review skill (owned by #613). The .github/skills/README.md index and the top-level README skills blurb are intentionally left for a follow-up to avoid conflicts with #613.

How it works

Given a spec (usually a markdown file path) or a described feature, the orchestrator captures it, maps the real codebase areas it touches, establishes model-family diversity, fans out parallel sub-agents, and consolidates into a decision-oriented recommendation on stdout: proceed / proceed-with-changes / reconsider, plus top risks, the single best alternative, open questions to resolve before implementation, and per-dimension coverage. It does not write code or edit the spec.

Dimensions (kept lean — 6, not a sprawling set)

  1. necessity-and-scope — should this exist? fits winapp's mission? real need vs speculative generality? could it be smaller / staged?
  2. approach-and-alternatives — is this the simplest reasonable approach? names concrete in-repo (AppxManifestDocument, ManifestHelper, existing services) and ecosystem (SDK tools, Windows App SDK APIs) alternatives with tradeoffs.
  3. feasibility-vs-reality — do the spec's load-bearing assumptions actually match how the code / Windows APIs / build work today? The key anti-"trust the spec" dimension; each assumption is independently verified and labelled verified / unverified / false.
  4. risks-unknowns-edge-cases — what's underspecified, compat/migration concerns, and what needs a prototype/spike before committing.
  5. dx-and-user-impact — is the proposed CLI UX / API coherent with winapp conventions? breaking changes? comprehensible?
  6. multi-model — an independent pass from a different model family than the orchestrator (latest Opus / GPT / Gemini, no pinned versions), doing its own research, disputing weak conclusions, and recording which family ran.

Reuses pr-review's proven patterns

  • Parallel sub-agent fan-out and a self-contained sub-agent prompt template.
  • Its own adapted dimensions/_shared-contract.md (retargeted from "diff" to "spec") keeping the Team Lead Test signal-to-noise gate and the severity/confidence guides.
  • The no-quota principle — a well-researched "the approach is sound, proceed" is a complete, valuable result; findings are never manufactured to have something to say.
  • The latest-per-family multi-model approach — select the newest model in each family at run time rather than pinning version numbers, and record which families ran.

Files

.github/skills/spec-review/
  SKILL.md                                  (orchestrator; name: spec-review, infer: true)
  dimensions/_shared-contract.md
  dimensions/necessity-and-scope.md
  dimensions/approach-and-alternatives.md
  dimensions/feasibility-vs-reality.md
  dimensions/risks-unknowns-edge-cases.md
  dimensions/dx-and-user-impact.md
  dimensions/multi-model.md

These are hand-written developer skills (not the shipped winapp plugin skills), so there is nothing to auto-generate or build.

Opening as draft for review.

nmetulev and others added 2 commits July 10, 2026 14:32
Adds a new developer skill under .github/skills/spec-review/ that reviews a
design or spec BEFORE any code is written — answering "should we build this,
and is the approach right?". It is the pre-code companion to the pr-review
skill (which reviews already-written code).

The skill fans out parallel sub-agents, each doing its OWN research against
the real codebase and ecosystem rather than trusting the spec, across six lean
dimensions: necessity-and-scope, approach-and-alternatives, feasibility-vs-
reality, risks-unknowns-edge-cases, dx-and-user-impact, and a multi-model
cross-check from a different model family (latest Opus / GPT / Gemini, no
pinned versions). It emits a decision-oriented recommendation (proceed /
proceed-with-changes / reconsider) to stdout and does not write code or edit
the spec.

Reuses pr-review's proven patterns via its own adapted _shared-contract.md:
the Team Lead Test signal-to-noise gate, the no-quota principle (a reasoned
"the approach is sound" is a complete result), and the latest-per-family
multi-model approach.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
List the new spec-review skill in .github/skills/README.md, directly after the
existing pr-review row. Index-only change; the pr-review row is untouched.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Build Metrics Report

Binary Sizes

Artifact Baseline Current Delta
CLI (ARM64) 31.71 MB 31.71 MB ✅ 0.0 KB (0.00%)
CLI (x64) 32.04 MB 32.04 MB ✅ 0.0 KB (0.00%)
MSIX (ARM64) 13.30 MB 13.30 MB 📉 -0.2 KB (-0.00%)
MSIX (x64) 14.15 MB 14.15 MB 📉 -0.1 KB (-0.00%)
NPM Package 27.77 MB 27.77 MB 📈 +0.0 KB (+0.00%)
NuGet Package 27.79 MB 27.79 MB 📈 +0.5 KB (+0.00%)
VS Code Extension 20.60 MB 20.60 MB 📈 +0.5 KB (+0.00%)

Test Results

1545 passed, 1 skipped out of 1546 tests in 424.6s (-61.6s vs. baseline)

Test Coverage

18% line coverage, 37.2% branch coverage · ⚠️ -0.1% vs. baseline

CLI Startup Time

43ms median (x64, winapp --version) · ✅ no change vs. baseline


Updated 2026-07-10 22:22:38 UTC · commit 6f48ec9 · workflow run

Reverse the no-execution rule: dimensions now verify load-bearing mechanics
with cheap, temp-dir experiments (evidence hierarchy: experiment > authoritative
docs > code-read > spec assertion). Add load-bearing-assumption identification
and verified/refuted/unproven tagging to feasibility-vs-reality, backward-compat
verification framing, cross-model agreement counting (confirmed by N families)
as the strongest signal, evidence-based disagreement resolution, and a distinct
'Must prove before ship' report section for unclosed load-bearing assumptions.
Examples updated with generic, framework-agnostic content.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
nmetulev added a commit that referenced this pull request Jul 10, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@nmetulev nmetulev marked this pull request as ready for review July 13, 2026 19:07
Copilot AI review requested due to automatic review settings July 13, 2026 19:07
@nmetulev nmetulev merged commit 9bc081d into main Jul 13, 2026
22 checks passed
@nmetulev nmetulev deleted the nmetulev-spec-review-skill branch July 13, 2026 19:07
Copilot stopped reviewing on behalf of nmetulev due to an error July 13, 2026 19:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new spec-review GitHub skill for microsoft/winappcli, including a shared output contract and dimension-specific instructions to drive independent, pre-implementation design reviews.

Changes:

  • Introduces the spec-review orchestrator skill definition and workflow guidance.
  • Adds dimension guides + a shared output contract to standardize sub-agent outputs.
  • Updates the skills README to list and describe the new spec-review skill.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/skills/spec-review/SKILL.md Defines the spec-review orchestrator skill, workflow, and reporting format.
.github/skills/spec-review/dimensions/_shared-contract.md Establishes a common output contract for all spec-review dimensions.
.github/skills/spec-review/dimensions/necessity-and-scope.md Adds guidance for evaluating mission fit, duplication, and scope.
.github/skills/spec-review/dimensions/approach-and-alternatives.md Adds guidance for validating approach soundness and identifying alternatives.
.github/skills/spec-review/dimensions/feasibility-vs-reality.md Adds guidance for verifying load-bearing assumptions via experiments/docs/code.
.github/skills/spec-review/dimensions/risks-unknowns-edge-cases.md Adds guidance for surfacing concrete risks, edge cases, and failures.
.github/skills/spec-review/dimensions/dx-and-user-impact.md Adds guidance for CLI/API UX consistency, breaking changes, and cross-surface impact.
.github/skills/spec-review/dimensions/multi-model.md Adds instructions for cross-model-family validation and disagreement resolution.
.github/skills/README.md Lists the new spec-review skill alongside existing skills.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +9 to +11
Ground risks in reality — a risk worth raising points at a concrete failure mode,
an actual compat surface, or a specific unknown, not generic "there could be
bugs." Do your own research into the affected surfaces.
Comment on lines +34 to +40
- **Service shape** (from the repo's architecture guide):
| Pattern | When |
|---------|------|
| Interface + DI service | stateful, needs deps |
| Static helper | pure functions |
| Data document | wraps a file/data format |
| Partial class | splitting a large tightly-coupled service |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants