Skip to content
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
ca759f0
feat(skills): add outcome hypothesis authoring
zeier Aug 12, 2026
73121e9
feat(skills): merge outcome hypothesis readiness updates
zeier Aug 12, 2026
cbf9ee4
Merge remote-tracking branch 'upstream/main' into feat/outcome-hypoth…
zeier Aug 13, 2026
8f671b7
feat(skills): add distinct outcome assessment mode
zeier Aug 13, 2026
c583946
fix(skills): reconcile outcome indicator count
zeier Aug 13, 2026
aa523a0
Merge branch 'zeier-fix-outcome-indicator-count' into feat/outcome-hy…
zeier Aug 13, 2026
41523d1
feat(skills): define outcome hypothesis persistence
zeier Aug 13, 2026
2357248
Merge branch 'zeier-finding-3-persistence' into feat/outcome-hypothes…
zeier Aug 13, 2026
69022a0
feat(skills): constrain individual-level outcome indicators
zeier Aug 13, 2026
ec0fb4e
Merge branch 'zeier-finding-7-privacy-aggregation' into feat/outcome-…
zeier Aug 13, 2026
4e72625
fix(evals): tighten outcome hypothesis graders
zeier Aug 13, 2026
a94f876
Merge branch 'zeier-finding-5-eval-precision' into feat/outcome-hypot…
zeier Aug 13, 2026
9a8cc54
fix(skills): move OH.0 before outcome drafting
zeier Aug 13, 2026
50b2f22
Merge branch 'zeier-fix-oh0-gate-sequence' into feat/outcome-hypothes…
zeier Aug 13, 2026
637acec
fix(skills): frame investability as evidence readiness
zeier Aug 13, 2026
74add84
Merge branch 'zeier-finding-9-advisory-framing' into feat/outcome-hyp…
zeier Aug 13, 2026
e8fc42d
feat(skills): route material AI outcomes to RAI planning
zeier Aug 13, 2026
ac1ec14
Merge branch 'zeier-finding-8-rai-routing' into feat/outcome-hypothes…
zeier Aug 13, 2026
73222d2
feat(skills): add affected-group trade-off prompts
zeier Aug 13, 2026
8a9f19f
fix(skills): require indicator source and owner
zeier Aug 13, 2026
188fcf5
Merge branch 'zeier-finding-6-affected-groups' into feat/outcome-hypo…
zeier Aug 13, 2026
830171f
fix(skills): clarify investigate delivery behavior
zeier Aug 13, 2026
dd1f165
Merge branch 'zeier-finding-12-indicator-owners' into feat/outcome-hy…
zeier Aug 13, 2026
9bdd75a
Merge branch 'zeier-investigate-delivery-wording' into feat/outcome-h…
zeier Aug 13, 2026
d0fb87c
fix(skills): connect beneficiary correction to affected groups
zeier Aug 13, 2026
f010544
feat(skills): derive outcome-hypothesis confidence
zeier Aug 13, 2026
ee7cef7
Merge commit 'f010544e1f1e1e023551f699da6c4a4cc67bfea1' into feat/out…
zeier Aug 13, 2026
ae17a35
feat(skills): add outcome hypothesis BRD handoff
zeier Aug 13, 2026
d9d05f1
Merge commit 'ae17a3534fc52ee2c6978ff5d9ec09e26a1ef689' into feat/out…
zeier Aug 13, 2026
9cbc287
fix(skills): harden outcome hypothesis contracts
zeier Aug 14, 2026
4d96164
chore: merge upstream main
zeier Aug 14, 2026
d6a81ce
fix(skills): correct outcome hypothesis license
zeier Aug 14, 2026
b4b83e3
Merge remote-tracking branch 'origin/main' into zeier-pr-2680-plugin-…
zeier Aug 18, 2026
94d73ac
fix(plugins): align outcome hypothesis with aggregate manifest
zeier Aug 18, 2026
14b8f7e
refactor(skills): centralize outcome hypothesis caution
zeier Aug 18, 2026
bb273d8
fix(skills): close outcome hypothesis status lifecycle
zeier Aug 18, 2026
bade85c
Merge commit 'bb273d8649bb40fb7f1cc933299fec93a36f236e' into feat/out…
zeier Aug 18, 2026
6e4935d
Merge branch 'zeier-pr-2680-plugin-refactor' into feat/outcome-hypoth…
zeier Aug 18, 2026
1819349
fix(skills): close final outcome hypothesis findings
zeier Aug 18, 2026
c335aae
fix(skills): satisfy spell and table checks
zeier Aug 18, 2026
49252dc
Merge branch 'main' into feat/outcome-hypothesis-skill
zeier Aug 19, 2026
31bb0ec
chore(build): merge origin/main into outcome hypothesis skill
zeier Aug 19, 2026
fb316cb
chore(build): merge remote outcome hypothesis updates
zeier Aug 19, 2026
b037e72
Merge branch 'main' into feat/outcome-hypothesis-skill
zeier Aug 20, 2026
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
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@
"azuredeploy",
"BABOK",
"backlinked",
"baselined",
"baselining",
"behaviour",
"behavioural",
"behaviours",
Expand Down Expand Up @@ -152,6 +154,7 @@
"Infima",
"invalidat",
"ISTQB",
"investability",
"langchain",
"learning",
"licence",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: "Centralized disclaimer language for AI-assisted planning and review agents requiring professional review acknowledgment"
applyTo: '**/.copilot-tracking/rai-plans/**, **/.copilot-tracking/rai-reviews/**, **/.copilot-tracking/security-plans/**, **/.copilot-tracking/sssc-plans/**, **/.copilot-tracking/sssc-reviews/**, **/.copilot-tracking/performance-plans/**, **/.copilot-tracking/adr-plans/**, **/.copilot-tracking/dt/**, **/.copilot-tracking/ds/**, **/docs/planning/adrs/**, **/.copilot-tracking/reviews/code-reviews/**, **/.copilot-tracking/security/**, **/.copilot-tracking/accessibility/**, **/.copilot-tracking/privacy-plans/**, **/.copilot-tracking/privacy-reviews/**, **/.copilot-tracking/prd-sessions/**, **/.copilot-tracking/brd-sessions/**, **/.copilot-tracking/documentation/**'
applyTo: '**/.copilot-tracking/rai-plans/**, **/.copilot-tracking/rai-reviews/**, **/.copilot-tracking/security-plans/**, **/.copilot-tracking/sssc-plans/**, **/.copilot-tracking/sssc-reviews/**, **/.copilot-tracking/performance-plans/**, **/.copilot-tracking/adr-plans/**, **/.copilot-tracking/dt/**, **/.copilot-tracking/ds/**, **/docs/planning/adrs/**, **/docs/planning/outcome-hypotheses/**, **/.copilot-tracking/reviews/code-reviews/**, **/.copilot-tracking/security/**, **/.copilot-tracking/accessibility/**, **/.copilot-tracking/privacy-plans/**, **/.copilot-tracking/privacy-reviews/**, **/.copilot-tracking/prd-sessions/**, **/.copilot-tracking/brd-sessions/**, **/.copilot-tracking/documentation/**'
---

# Disclaimer Language
Expand Down Expand Up @@ -42,6 +42,11 @@ Authoring contract (parsed by scripts/linting/Validate-PlannerArtifacts.ps1):
> [!CAUTION]
> **Disclaimer:** This agent is an assistive tool only. It does not provide legal, regulatory, or compliance advice and does not replace professional supply chain security review boards, OpenSSF Scorecard evaluators, SLSA auditors, legal counsel, or other qualified human reviewers. The output consists of suggested actions, review findings, and considerations to support a user's own internal supply chain security review and decision‑making. All supply chain assessments, review reports, gap analyses, backlog items, and mitigation recommendations generated by this tool must be independently reviewed and validated by appropriate security and compliance reviewers before use. Outputs from this tool do not constitute security approval, compliance certification, or regulatory sign‑off.

## Outcome-Hypothesis

> [!CAUTION]
> **Disclaimer:** This skill is an assistive decision-support tool only. It does not provide financial or professional investment advice and does not replace affected stakeholders, measurement owners, accountable sponsors or decision owners, or other qualified human reviewers. The investability verdict is an evidence-readiness signal only: "investable" means the defined evidence gates passed, and "not investable" means required evidence is incomplete. All scorecards, outcome hypotheses, investability verdicts, targets, and measurement plans must be independently reviewed and validated by affected stakeholders, the measurement owner, and the accountable sponsor or decision owner before funding, commitment, or implementation. Outputs from this tool do not constitute investment approval, funding authorization, stakeholder commitment, or measurement sign-off.

## ADR Planning

> [!CAUTION]
Expand Down
1 change: 1 addition & 0 deletions .github/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@
"skills/project-planning/functional-planner",
"skills/project-planning/gitlab",
"skills/project-planning/jira",
"skills/project-planning/outcome-hypothesis",
"skills/project-planning/performance-slo-planner",
"skills/project-planning/privacy-standards",
"skills/project-planning/rai-planner",
Expand Down
203 changes: 203 additions & 0 deletions .github/skills/project-planning/outcome-hypothesis/SKILL.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
title: "Outcome Hypothesis: <Title>"
description: "Evidence-grounded outcome hypothesis for <Project or initiative>."
author: "<Name or Author TBD>"
ms.date: 2026-08-18
ms.topic: concept
---

<!-- Replace this marker with the complete `Outcome-Hypothesis` CAUTION from
../../../../instructions/shared/disclaimer-language.instructions.md verbatim.
Do not retain this marker in the rendered document. -->

`ms.date` is template metadata. Replace it with the actual ISO 8601 render date and, before saving, the actual persistence or update date.

**Project / Initiative:** `<Project or initiative>`
**Status:** `<Draft | Provisional | Committed>`
**Confidence:** `<Low | Medium | High>`
Comment thread
WilliamBerryiii marked this conversation as resolved.

The status lifecycle is closed: `Draft`, `Provisional`, and `Committed`. Status is human-owned. Persist a Ready hypothesis as `Draft` and a Provisional hypothesis as `Provisional`. Only explicit human approval may update an existing persisted, eligible artifact to `Committed`; do not set `Committed` automatically.

## Background

Write one to three concise paragraphs that connect:

* The strategic priority and why this outcome matters now
* The specific problem and its current operational or business cost
* The beneficiary's role, segment, scale, geography, channel, and before/after workflow
* The capability or workflow intervention at a level engineers can scope and sponsors can endorse

Describe an MVP or proof of concept only as a delivery vehicle, never as the outcome.

## Expected Outcomes

Use the initiative-level form below. Keep each clause in a separate paragraph and bold only the clause lead.

**Due to** `<business context or pain point>`,

**We believe that** `<capability or workflow intervention>`

**Will result in** `<measurable business outcome>`,

**Observable by** `<specific role, segment, or business unit>`,

**Within** `<specific window anchored to an event or date>`,

**Validated by:**

* **Leading indicator 1:** `<predictive metric with numeric target and units>`
* **Leading indicator 2:** `<optional predictive metric with numeric target and units>`
* **Lagging indicator:** `<outcome metric with numeric target and units>`

For a tightly scoped pilot sub-hypothesis, this one-sentence form is permitted:

> If we `<intervention>` for `<beneficiary>`, then `<KPI>` will improve from `<baseline>` to `<target>` within `<timeframe>`, as measured by `<method>`.

The targets in either Expected Outcomes form are authoritative. Each indicator-table Target value must exactly match its corresponding statement target.

## Validation & Measurement

### Indicator detail

| Type | Indicator | Definition | Baseline | Target | Source | Owner |
|---------|---------------------|----------------------------|-------------------------------------------------------------------------------|------------------------------------|---------------------------------------|----------------------------------------|
| Leading | `<Named indicator>` | `<Operational definition>` | `<Current value and measurement period, or explicit baselining prerequisite>` | `<Exact Expected Outcomes target>` | `<System or dashboard, or dated gap>` | `<Named person or role, or dated gap>` |
| Lagging | `<Named indicator>` | `<Operational definition>` | `<Current value and measurement period, or explicit baselining prerequisite>` | `<Exact Expected Outcomes target>` | `<System or dashboard, or dated gap>` | `<Named person or role, or dated gap>` |

Include at least one leading and one lagging indicator. Limit the document to three indicators total.

### Outcome chain

* **Business outcome:** `<beneficiary result>`
* **Lagging indicator:** `<metric that confirms the outcome>`
* **Leading indicators:** `<metrics that predict progress>`
* **Technical intervention:** `<specific capability or workflow change>`

### Measurement plan

* Measurement granularity: `<Aggregate | Cohort | Individual>`
* Individual-level necessity and proportionality: `<Why aggregate or cohort-level measurement cannot answer the hypothesis, or Not applicable>`
* Privacy Planner result: `<Completed result or evidence reference when individual-level measurement uses personal or sensitive data, or Not applicable>`
* Measurement method and source: `<system, query, or dashboard>`
* Measurement owner: `<name or explicit owner resolution gap>`
* Attribution approach: `<control, pre/post, counterfactual, or matched cohort>`
* Leading checkpoints: `<dates or intervals and reviewer>`
* Lagging checkpoints: `<dates or intervals and reviewer>`

Default to aggregate or cohort-level indicators. Complete the individual-level justification only when that granularity is necessary and proportionate. If an individual-level measure uses personal or sensitive data, stop before drafting and invoke `Privacy Planner`; create or resume the draft only after its completed result is available.

## Assumptions & Risks

### Assumptions

| # | Assumption | Evidence / Status | If false, impact |
|----|-------------------------|------------------------------------------------|------------------|
| A1 | `<Load-bearing belief>` | `<Untested / Partially supported / Evidenced>` | `<What breaks>` |
| A2 | `<Load-bearing belief>` | `<Untested / Partially supported / Evidenced>` | `<What breaks>` |
| A3 | `<Load-bearing belief>` | `<Untested / Partially supported / Evidenced>` | `<What breaks>` |

Add up to four more assumptions when needed.

### Affected groups and trade-offs

* Other affected groups or paths: `<adjacent teams, excluded segments, and people relying on fallback or accessibility paths>`
* Transferred impacts: `<privacy, accessibility, workload, or operational impacts, plus mitigation or an explicit evidence gap>`

### Risks and falsification criteria

* Hypothesis is disproved when: `<numeric lagging-indicator threshold within the timeframe>`
* Potential confounds: `<false-positive and false-negative conditions>`
* Exit or pivot criteria: `<decision threshold and action>`

## Open Questions & Resolution Gaps
Comment thread
WilliamBerryiii marked this conversation as resolved.

Map every Amber and Red D1-D7 pillar. Keep the table even when no gaps remain.

| ID | Gap | Why it matters | Owner | Target date (ISO 8601) |
|----|------------------|---------------------------------------------|------------------------------|----------------------------|
| Q1 | `<Specific gap>` | `<How it weakens or blocks the hypothesis>` | `<Named owner or Owner TBD>` | `<YYYY-MM-DD or Date TBD>` |

Use unique `Q1`-style IDs for source gaps. When no gaps remain, retain the table with no body rows; do not add a `None` row. Every populated target date must use ISO 8601 `YYYY-MM-DD`.

For a Provisional hypothesis:

* Set Status to `Provisional` and Confidence to `Low`.
* Complete Background, Expected Outcomes, and Open Questions & Resolution Gaps from available evidence.
* Insert this marker in any unsupported section:

> **TBD**: This section is blocked on `<specific scorecard gap>`. Owner: `<name or Owner TBD>`. Target resolution: `<date or Date TBD>`.
37 changes: 34 additions & 3 deletions .github/skills/project-planning/requirements-author/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ user-invocable: false
metadata:
authors: "microsoft/hve-core"
spec_version: "1.1"
last_updated: "2026-06-14"
last_updated: "2026-08-13"
---

# Requirements Author Skill
Expand All @@ -28,6 +28,7 @@ Shared (`references/_shared/`):
BRD scope (`references/brd/`):

* [BRD-to-PRD Handoff](references/brd/brd-to-prd-handoff-v1.md)
* [Outcome Hypothesis-to-BRD Handoff](references/brd/outcome-hypothesis-to-brd-handoff-v1.md)
* [BRD Quality Formats](references/brd/brd-quality-formats.md)

PRD scope (`references/prd/`):
Expand All @@ -52,6 +53,35 @@ PRD scope (`references/prd/`):
* Identify stakeholders, decision owners, and review participants.
* Define scope boundaries, assumptions, and dependency surfaces.
* Draft initial requirement candidates and map early traceability placeholders.
* Validate and disposition an `OUTCOME_HYPOTHESIS_TO_BRD_HANDOFF_V1` payload when one is supplied.

### Outcome hypothesis intake

Use [Outcome Hypothesis-to-BRD Handoff](references/brd/outcome-hypothesis-to-brd-handoff-v1.md)
as the canonical contract.

1. Accept the YAML inline or from a user-supplied artifact path.
2. Validate the complete payload before copying any value into the BRD.
3. Reject unsupported versions, incomplete seeds, placeholder values, and
invalid provenance. Do not reinterpret a rejected payload as unstructured
evidence.
4. Assign the next stable `BG-###` identifier.
5. Record distinct statement, KPI, baseline, target, timeframe, measurement
source, and owner values.
6. Mark each seed field `accepted` or `revised`. For a revision, preserve the
source value, current BRD value, and rationale.
7. Map assumptions and open questions into their canonical BRD sections.
Initialize each imported question to `Open` unless Discover explicitly
confirms another BRD-owned status. Every deferred question requires a
rationale for deferral and one target phase: `PRD`, `Implementation`,
`Operations`, or `Future-Release`.
8. Record the handoff ID, source path, source SHA-256, and KPI measurement
source in the BRD provenance receipt.

Before Discover accepts the handoff, the validated payload is authoritative
for imported seed values. Discover may explicitly accept or revise those
values. After Discover exits, the BRD is authoritative. A later hypothesis
change requires a new validated payload and explicit Discover re-entry.

### Hard exit gate

Expand All @@ -60,13 +90,16 @@ Discover exits only when:
* Scope is bounded and stakeholder ownership is explicit.
* Core assumptions and constraints are documented and reviewable.
* Seed artifacts needed for Define are present and internally consistent.
* Any outcome-hypothesis handoff has passed validation, every imported seed
field has an explicit disposition, and its provenance receipt is complete.

### Output artifacts

* Discover summary and scope statement.
* Stakeholder inventory with role and ownership mapping.
* Initial assumption and constraint register.
* Seed requirement and traceability scaffold for Define.
* Outcome-hypothesis receipt and field dispositions when a handoff was supplied.

## Define {#define}

Expand Down Expand Up @@ -437,5 +470,3 @@ The bundled reference bodies cite third-party standards and frameworks by name a
## License

This skill is original Microsoft content licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).


Loading
Loading