Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/README.skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [pr-screenshots](../skills/pr-screenshots/SKILL.md)<br />`gh skills install github/awesome-copilot pr-screenshots` | Embed before/after screenshots and annotated images in pull request descriptions. Covers PR description patterns, image upload for Azure DevOps and GitHub, and sizing best practices. | None |
| [prd](../skills/prd/SKILL.md)<br />`gh skills install github/awesome-copilot prd` | Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis. | None |
| [premium-frontend-ui](../skills/premium-frontend-ui/SKILL.md)<br />`gh skills install github/awesome-copilot premium-frontend-ui` | A comprehensive guide for GitHub Copilot to craft immersive, high-performance web experiences with advanced motion, typography, and architectural craftsmanship. | None |
| [product-design-harness](../skills/product-design-harness/SKILL.md)<br />`gh skills install github/awesome-copilot product-design-harness` | Use when a product direction, feature, workflow, experiment, launch, feedback signal, automation, or scale decision needs judgment before execution or the next iteration. | `LICENSE`<br />`resources/agents/README.md`<br />`resources/agents/business-flow-reviewer.md`<br />`resources/agents/claim-analyst.md`<br />`resources/agents/council-facilitator.md`<br />`resources/agents/evidence-flow-reviewer.md`<br />`resources/agents/registry.json`<br />`resources/agents/uncertainty-reviewer.md`<br />`resources/agents/user-flow-reviewer.md`<br />`resources/assets/decision-gate.svg`<br />`resources/assets/harness-sequence.svg`<br />`resources/docs/ADOPTION.md`<br />`resources/docs/ANTI-PATTERNS.md`<br />`resources/docs/CLAIMS.md`<br />`resources/docs/CODING-HARNESS-COMPARISON.md`<br />`resources/docs/CONTRACTS.md`<br />`resources/docs/COUNCIL.md`<br />`resources/docs/DECISION-RULES.md`<br />`resources/docs/GLOSSARY.md`<br />`resources/docs/HARNESS.md`<br />`resources/docs/LEARNING-LOOP.md`<br />`resources/docs/LIVE-CODING.md`<br />`resources/docs/MULTI-AGENT-ALIGNMENT.md`<br />`resources/docs/OPERATING-PROTOCOL.md`<br />`resources/docs/ORCHESTRATION.md`<br />`resources/docs/PRINCIPLES.md`<br />`resources/docs/README.md`<br />`resources/docs/UNCERTAINTY.md`<br />`resources/docs/UX3.md`<br />`resources/docs/rfcs/0001-override-protocol.md`<br />`resources/examples/README.md`<br />`resources/examples/evidence-response.json`<br />`resources/examples/feature-gate-review.md`<br />`resources/examples/human-decision.json`<br />`resources/examples/live-coding-context-pack.json`<br />`resources/examples/live-coding-product-brief.json`<br />`resources/examples/live-coding-review.json`<br />`resources/examples/quick-context-pack.json`<br />`resources/examples/quick-gate-review.json`<br />`resources/examples/quick-gate-review.md`<br />`resources/examples/red-team-review.json`<br />`resources/examples/standard-gate-review.json`<br />`resources/examples/stop-reframe-review.json`<br />`resources/examples/stop-reframe-review.md`<br />`resources/examples/ux3-council-input.json`<br />`resources/examples/ux3-council-review.json`<br />`resources/examples/ux3-council-review.md`<br />`resources/examples/verdict-override.json`<br />`resources/examples/verdict-override.md`<br />`resources/knowledge/ontology.json`<br />`resources/knowledge/rules.json`<br />`resources/knowledge/source-chapters.json`<br />`resources/prompts/README.md`<br />`resources/prompts/claim-analysis.md`<br />`resources/prompts/gate-review.md`<br />`resources/prompts/intake.md`<br />`resources/prompts/mode-selector.md`<br />`resources/prompts/red-team.md`<br />`resources/prompts/start-review.md`<br />`resources/prompts/ux3-council.md`<br />`resources/requirements-dev.txt`<br />`resources/schemas/README.md`<br />`resources/schemas/actor-boundary.schema.json`<br />`resources/schemas/claim-analysis.schema.json`<br />`resources/schemas/claim.schema.json`<br />`resources/schemas/context-pack.schema.json`<br />`resources/schemas/council-input.schema.json`<br />`resources/schemas/decision-rule.schema.json`<br />`resources/schemas/evidence-request.schema.json`<br />`resources/schemas/evidence-response.schema.json`<br />`resources/schemas/evidence.schema.json`<br />`resources/schemas/human-decision.schema.json`<br />`resources/schemas/ontology.schema.json`<br />`resources/schemas/product-brief.schema.json`<br />`resources/schemas/red-team-review.schema.json`<br />`resources/schemas/review-result.schema.json`<br />`resources/schemas/reviewer-verdict.schema.json`<br />`resources/schemas/session-config.schema.json`<br />`resources/schemas/uncertainty-review.schema.json`<br />`resources/schemas/verdict-override.schema.json`<br />`resources/scripts/check_override.py`<br />`resources/scripts/check_review.py`<br />`resources/scripts/jev_gate.py`<br />`resources/templates/README.md`<br />`resources/templates/context-pack.md`<br />`resources/templates/decision-log.md`<br />`resources/templates/gate-review.md`<br />`resources/templates/override-ledger.md`<br />`resources/templates/product-brief.md`<br />`resources/templates/ux3-council-review.md` |
| [project-workflow-analysis-blueprint-generator](../skills/project-workflow-analysis-blueprint-generator/SKILL.md)<br />`gh skills install github/awesome-copilot project-workflow-analysis-blueprint-generator` | Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows. Automatically detects project architecture patterns, technology stacks, and data flow patterns to generate detailed implementation blueprints covering entry points, service layers, data access, error handling, and testing approaches across multiple technologies including .NET, Java/Spring, React, and microservices architectures. | None |
| [prompt-optimizer](../skills/prompt-optimizer/SKILL.md)<br />`gh skills install github/awesome-copilot prompt-optimizer` | Turn any rough prompt, half-formed idea, or task description into a finished, ready-to-send prompt optimized for any LLM model inside a chat interface — NOT the API. Use this skill whenever the user wants to write, rewrite, optimize, improve, sharpen, or polish a prompt for chat. Trigger phrases include "rewrite this prompt", "make this a better prompt", "optimize this prompt", "turn this into a prompt", "help me prompt this", "draft a prompt that...", "I want to ask...", or whenever the user pastes a draft prompt and asks for improvements. Also trigger when the user describes a task they plan to send to an LLM model and clearly wants a reusable, well-structured prompt rather than a direct answer. The output is always a single, copy-pasteable prompt in a code block that the user sends as-is — never a template with placeholders. | None |
| [protobuf-grpc-api-review](../skills/protobuf-grpc-api-review/SKILL.md)<br />`gh skills install github/awesome-copilot protobuf-grpc-api-review` | Review Protocol Buffer (.proto) and gRPC API changes for wire and JSON compatibility, safe schema evolution, rollout hazards, and RPC contract quality. Use when reviewing proto diffs, adding or changing messages and services, planning migrations, or diagnosing cross-version failures. | `references/grpc-contract-review.md`<br />`references/protobuf-compatibility.md` |
Expand Down
21 changes: 21 additions & 0 deletions skills/product-design-harness/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Product Design Harness contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
126 changes: 126 additions & 0 deletions skills/product-design-harness/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
name: product-design-harness
description: 'Use when a product direction, feature, workflow, experiment, launch, feedback signal, automation, or scale decision needs judgment before execution or the next iteration.'
license: MIT
---

# Product Design Harness

Decide whether a product direction should continue, be verified, or be
reframed anywhere in the product loop.

Execution includes design, implementation, prototype, launch, growth,
automation, or investment.

## Start

Load in this order:

1. `resources/schemas/session-config.schema.json`: set `working_language`; keep
`canonical_identifiers` in English.
2. `resources/knowledge/ontology.json`: use the canonical UX3 knowledge kernel and its
approved Flow definitions.
3. `resources/knowledge/rules.json`: load required rules plus only triggered conditional
rules.
4. `resources/prompts/start-review.md`.

Then fill `resources/templates/product-brief.md`, select the smallest responsible mode,
and return `resources/schemas/review-result.schema.json`.

Validate every review result with `resources/scripts/check_review.py`. JSON Schema checks
shape and conditional fields; `check_review.py` is the canonical validator for
the worst-verdict, weakest-flow, and headline-tier semantic checks.

## Modes

| Mode | Use when |
|---|---|
| Quick Gate | Small, reversible, low-risk change. |
| Standard Gate | New feature, workflow, or experiment. |
| UX3 Council | High uncertainty, external evidence, meaningful risk, multiple reviewers, or human-owned trade-off. |

Handoff is not a review mode. When a prior review already returned continue,
reuse its context pack instead of running a new review.

Reversibility lowers mode, not the review requirement.

## UX3

Review three connected dimensions:

| Flow | Core question |
|---|---|
| User Flow | Who is the product for, who is affected, what are they trying to accomplish, and what cost or loss of control exists now? |
| Evidence Flow | What signal was observed, where did it come from, what interpretation is being made, what counter-signal weakens it, and what decision impact follows? |
| Business Flow | Who creates value, receives value, pays or decides, bears cost or risk, and can the exchange remain viable and legitimate? |

Then inspect the intersections: Situated Understanding, Viable Learning,
and Sustainable Value Exchange.

## UX3 Decision Kernel

Apply the same reduction sequence to every submitted review:

1. Validate lane contracts and evidence references with `resources/scripts/check_review.py`.
2. Reduce to the worst verdict and deterministic weakest flow.
3. Gate uncertainty, risk, reversibility, and human-owned calls.
4. Emit one canonical verdict, next action, execution boundary, and stop conditions.

Do not average lanes. Human-owned calls are recorded through an accountable
decision record; they are not converted into a machine score.

Before handoff, name product organization, issuer, stakeholder effects, and
accountable owner. Missing issuer or owner blocks implementation.

## Operating Rules

- Do not implement during review.
- `verify` branch: verify authorizes only the exact proof_step and never
general coding.
- `continue` branch: continue plus a valid context pack authorizes implementation.
- Every result states `may_do`, `must_not_do`, and `must_ask`.
- List disconfirming evidence before support.
- Do not average reviewer verdicts.
- The weakest flow controls the next action.
- External tools return evidence receipts, not verdicts.
- Evidence tier controls action size; confidence does not upgrade weak proof.
- Council mode requires independent reviews and a challenge round.
- If all independent Council reviews return continue, a valid
resources/schemas/red-team-review.schema.json result must be attached to
the Council input before synthesis.
- Designer taste is a human-owned input, never an evidence score.
- Incoming feedback must be classified before it changes direction or work.
- Human-owned decisions stay human-owned.

## Triggered Distilled Rules

Load only rules whose observable trigger applies. These families refine the
three Flow reviews; they do not create new verdicts or allow a strong Flow to
outvote a weak one.

| Situation | Required rule |
|---|---|
| Mental-model mismatch, hidden capability, or misunderstood consequence | `ux3.rule.mental_model_alignment` |
| Cognitive or recovery burden across human, task, tool, and environment | `ux3.rule.human_factors_load` |
| Research claim, synthetic user, simulation, interview, survey, test, or analytics result | `ux3.rule.research_validity` |
| Value proposition, positioning, buyer, channel, or GTM path before fit is proven | `ux3.rule.value_market_path` |
| Agent plan or tool action that needs visibility, control, handoff, or recovery | `ux3.rule.human_agent_interaction` |
| Retention, personalization, or gamification that changes repeated behavior | `ux3.rule.motivation_ethics` |

## Outcome

| Verdict | Required next step |
|---|---|
| continue | Create resources/templates/context-pack.md within the execution boundary. |
| verify | Run one proof step only. |
| stop_reframe | Stop execution and return a better product question. |

Use triggered rule IDs for detail instead of duplicating every rule in prompts.
Common triggers include ux3.rule.actor_boundary,
ux3.rule.problem_hypothesis, ux3.rule.evidence_separation,
ux3.rule.minimum_validated_proof, ux3.rule.feedback_classification, and
ux3.rule.human_judgment. The distilled trigger table above covers additional
rules that activate only when their specific product condition appears.

Use resources/docs/HARNESS.md for the handbook, resources/docs/OPERATING-PROTOCOL.md for the six-gate protocol,
resources/docs/CONTRACTS.md for output rules, and resources/examples/ for worked reviews.
16 changes: 16 additions & 0 deletions skills/product-design-harness/resources/agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Agents

These files define reviewer roles.

`registry.json` is the machine-readable role registry. The Markdown files are
the human-readable instructions.

| File | Role |
|---|---|
| `user-flow-reviewer.md` | Checks actor, problem, affected people, and user reality. |
| `evidence-flow-reviewer.md` | Checks proof, measurement, failure criteria, and traceability. |
| `business-flow-reviewer.md` | Checks value, cost, distribution, retention, and defensibility. |
| `claim-analyst.md` | Breaks product directions into testable claims. |
| `uncertainty-reviewer.md` | Reviews unknowns, confidence, reversibility, and proof bar. |
| `council-facilitator.md` | Combines reviewer outputs into one verdict. |
| `registry.json` | Maps each role to its input and output schema. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Business Flow Reviewer

## Role

Protect sustainable value: value exchange, ownership cost, priority,
distribution, retention, defensibility, and trust.

Do not ask only whether the direction can be built. Ask whether it deserves
ownership.

Use `knowledge/ontology.json` for the Business Flow definition and stakeholder
roles. Use `knowledge/rules.json` for triggered rule IDs, especially
ux3.rule.actor_boundary, ux3.rule.whole_ownership_cost,
ux3.rule.false_product_market_fit, ux3.rule.depth_accumulation, and
ux3.rule.human_judgment. Answer in `working_language`; keep schema fields,
rule IDs, and Flow identifiers canonical.

## Checks

| Check | Continue signal | Stop signal |
|---|---|---|
| Value exchange | User value and product value are explicit and fair. | The direction is only interesting. |
| Ownership cost | Support, trust, maintenance, exceptions, and opportunity cost are bounded. | Only initial build cost is counted. |
| Distribution | A credible route to adoption exists. | No channel or workflow entry exists. |
| Retention | Value survives novelty. | Usage depends on curiosity. |
| Defensibility | Workflow depth, domain knowledge, community, data, or edge cases compound. | It is a generic feature. |

Approved Business Flow question: who creates value, who receives value, who
pays or decides, who bears cost or risk, and can the exchange remain viable and
legitimate?

Require product organization, issuer, stakeholder effects, and accountable
owner before handoff. A strong business lane cannot average out missing user or
evidence proof. Reversibility lowers mode, not the review requirement. verify authorizes only the exact proof_step and never general coding. continue plus a valid context pack authorizes implementation.

## Contract

Input: `schemas/product-brief.schema.json`

Output: `schemas/reviewer-verdict.schema.json` with `reviewer: business_flow`.

Compare against the current workaround and doing nothing. In the challenge
round, question whether User Flow value and Evidence Flow proof can support the
claimed ownership cost.
24 changes: 24 additions & 0 deletions skills/product-design-harness/resources/agents/claim-analyst.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Claim Analyst

## Role

Break a product direction into testable claims and dependency edges before the
council reviews it. Do not decide whether to build.

## Method

1. Split broad statements into user, evidence, business, risk, and taste claims.
2. Give each claim a stable identifier.
3. Add support and counter-signal.
4. Connect depends_on and breaks_if_false.
5. Name a proof step and stop condition.
6. Identify the claim whose failure changes the decision most.

## Contract

Input: `schemas/product-brief.schema.json`

Output: `schemas/claim-analysis.schema.json`

Use `docs/CLAIMS.md`. A claim without counter-signal, dependency edges, or a
stop condition is incomplete.
Loading
Loading