Generated banner for Feasibility
Generated logo for Feasibility

Feasibility

MicrosoftOfficialPublished by Microsoft

  • Skill
  • Workflow
  • Software development
  • CC-BY-4.0
  • Low risk
  • Has scripts

From the author

Author and validate durable data and ML feasibility studies using the Feasibility Study Interchange Profile, constrained YAML authority, UUID URN identity, lifecycle lineage, and evidence traceability. Use when assessing whether available data and technical evidence support a proposed outcome.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The feasibility skill provides a structured approach to assessing the viability of data and machine learning projects. It enforces a rigorous, machine-readable format using a constrained YAML block embedded within a Markdown document. By utilizing UUID-based identity, lifecycle lineage, and explicit evidence traceability, the skill ensures that feasibility studies remain durable, auditable, and ready for downstream consumption by product planning processes. It includes validation scripts to ensure structural and semantic integrity, as well as a mechanism to generate a handoff artifact for PRD authoring.

What it does

  • Defines a structured format for feasibility studies using Markdown and constrained YAML.
  • Enforces identity management using UUID URNs for concepts, revisions, and relations.
  • Supports lifecycle tracking, including lineage for splits, merges, and supersessions.
  • Provides validation tools to check structural integrity and semantic closure.
  • Generates a formal handoff artifact for transitioning findings into PRD authoring.
  • Maintains clear separation between machine-readable facts and narrative evidence.

When to use it

  • When assessing whether technical evidence and data support a proposed project outcome.
  • When you need to maintain a durable, auditable record of feasibility decisions.
  • When preparing to hand off validated findings to a product requirements process.
  • When you need to track the lineage and provenance of feasibility evidence over time.

Advantages

  • Ensures consistency and machine-readability across all feasibility studies.
  • Provides clear traceability from evidence to conclusions.
  • Prevents ambiguity by requiring explicit status and criteria definitions.
  • Facilitates reliable downstream integration with product planning workflows.
  • Maintains a clear audit trail for decisions and revisions.

Usage examples

“Initialize a new feasibility study for the proposed data ingestion pipeline.”
The agent creates a new Markdown file using the feasibility template, ready for the user to define the study scope and allocate initial UUIDs.
“Validate the current feasibility study and generate the PRD handoff.”
The agent runs the validation script to check the YAML block and lineage, then generates the required handoff file if the study is in a Recommend state.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/feasibility/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip feasibility.zip -d .agents/skills

Documentation by Microsoft

Data and ML Feasibility Workflow

Goal

Produce one durable Markdown feasibility study that remains useful to people and can be consumed later by a Functional Planner. One constrained YAML block owns machine facts; narrative sections preserve evidence, interpretation, and context.

Flow

  1. Confirm the proposed outcome, decision boundary, study scope, and durable output path.

  2. Allocate UUIDv4 URNs for the study concept, study revision, each item concept, each item revision, and each relation. Never derive identity from a title, class, path, or content.

  3. Capture candidate capabilities, constraints, assumptions, findings, risks, dependencies, decisions, evidence, gaps, and non-goals. Preserve uncertainty and source-authored criteria without promoting every item to a requirement.

  4. Record lifecycle and provenance. Reclassification keeps conceptual identity and creates a new revision. Split, merge, derivation, withdrawal, and supersession retain explicit lineage.

  5. Write or update the single named FEASIBILITY-STUDY-INTERCHANGE YAML block. Narrative can explain machine facts but cannot redefine them.

  6. Validate constrained YAML, JSON Schema 2020-12 structure, semantic closure, revision lineage, tombstones, and narrative anchors with scripts/validate_feasibility.py.

  7. Present the recommendation and unresolved review gaps. Preserve the study as read-only evidence for downstream consumers.

  8. After the study is final, emit the sibling feasibility-to-PRD handoff described in feasibility-to-prd-handoff.md. Regenerate it after any material study revision, then validate both artifacts with scripts/validate_feasibility.py <study.md> --handoff <handoff.yml>.

Inputs

  • Problem definition, desired outcome, and decision the study must support

  • Data access, discovery, architecture, exploration, preprocessing, and experiment evidence

  • Source-authored acceptance criteria, when known

  • Risk, privacy, Responsible AI, performance, and operational evidence

  • Prior study revision and item identity registry, when revising an existing study

Success criteria

  • Exactly one named constrained YAML block declares profile: feasibility-study-interchange and profile_version: 1.0.0.

  • Study, item, relation, and revision IDs are RFC 9562 UUID URNs. Conceptual and revision IDs are unique and never reused.

  • Item class, status, alias, planning relevance, relations, provenance, confidence, review, and location remain separate fields.

  • Revision lineage is closed and acyclic. Current revisions appear in the revision registry.

  • Withdrawn and superseded items remain as complete tombstones. Split, merge, supersession, and derivation targets resolve.

  • Every item has one matching narrative anchor, and narrative has no unknown item anchor.

  • Missing criteria remain explicit. The workflow does not invent acceptance criteria.

  • Each confirmed Recommend exit produces a handoff carrying the verdict, evidence, constraints, gaps, and the study_revision_id it was generated from.

Constraints

  • The study does not assign FR-### or NFR-###. display_ref uses the study-local, type-neutral FS-### alias only.

  • The study's constrained YAML block remains the authority for every machine fact. The handoff is a derived summary that never redefines a study fact; a disagreement resolves in favor of the study.

  • The handoff carries no version constant and no content hash. Recognition uses kind, and freshness is judged from study_revision_id.

  • Downstream Functional Planner adoption is a separate workstream. This package does not claim current direct compatibility with Functional Planner.

  • Downstream consumers remain read-only toward the study. They own their UUID-to-requirement mapping and traceability views.

  • Do not claim SpecIF, OSLC RM, ReqIF, PROV, DCMI, or JSON-LD conformance. The profile maps selected concepts without implementing those complete standards.

  • Keep YAML JSON-compatible: string keys, JSON scalar values, arrays, and objects only. Do not use aliases, anchors, merge keys, custom tags, timestamps as native YAML objects, or ordering-dependent meaning.

Stop rules

  • Stop at a hard decision boundary when the problem or desired outcome remains ambiguous.

  • Stop and record needs_review when criteria, evidence, lifecycle disposition, or relation meaning cannot be established from sources.

  • Stop before changing a conceptual ID because a title, class, status, alias, or location changed. Create a new revision instead.

  • Stop before deleting a withdrawn or superseded concept. Retain a tombstone with reason, effective time, last revision, and explicit successor state.

  • Stop before any downstream writeback to the study. Record mappings in downstream-owned artifacts.

Package resources

ResourceUse
interchange-profile.mdRead for authority, constrained YAML, identity, lifecycle, compatibility, and producer rules
standards-crosswalk.mdRead for SpecIF, OSLC RM, PROV, and DCMI mappings and non-conformance boundaries
provenance.mdRead for source licensing, attribution, and profile independence
feasibility-to-prd-handoff.mdRead for the sibling handoff's emission trigger, field set, verdict presence rules, and regeneration obligation
feasibility-study.mdCopy when starting a study
valid-study.mdRead as a valid profile fixture with revision, evidence, and dependency relations
assets/feasibility-study-interchange-1.0.0.schema.jsonUse as the local structural JSON Schema 2020-12 profile
assets/feasibility-to-prd-handoff.schema.jsonUse through the validator for handoff shape, verdict presence rules, and vocabulary
scripts/validate_feasibility.pyExecute with uv run python scripts/validate_feasibility.py <study.md> [--handoff <handoff.yml>] before publishing a revision or handoff

Attribution

The Feasibility Study Interchange Profile, schema, template, examples, and validator are independently authored repository content licensed CC BY 4.0.

Selected concepts are mapped to open specifications for interoperability vocabulary only. No upstream schema, example, or substantial prose is reproduced. See provenance.md.

Files

references/feasibility-to-prd-handoff.md


description: 'Producer contract for the feasibility-to-PRD handoff: emission trigger, field set, verdict presence rules, candidate semantics, and regeneration obligation'

Feasibility-to-PRD Handoff — Producer Contract

Purpose

The handoff is a short, derived summary that carries a confirmed feasibility verdict and its evidence-backed candidates into PRD authoring. It exists so a PRD session can act on the study's conclusions without re-reading the whole study.

The durable study remains the authority for every machine fact. The handoff never redefines a study fact, and a disagreement between the two is always resolved in favor of the study.

feasibility owns this producer contract. The PRD consumer rules live in the requirements-author skill.

Recognition

The payload declares its artifact kind:

kind: feasibility-to-prd-handoff

kind states what the artifact is. It is not a compatibility version, and a consumer does not compare it against a generation number. This repository ships producer and consumer together, so there is no independent-deployment skew to negotiate.

Emission

Emit the handoff at a confirmed Recommend exit, after the study content is final. Write it as a sibling of the study using the study filename plus the -feasibility-to-prd-handoff.yml suffix.

Emit for every verdict. A negative verdict still carries useful evidence into PRD authoring, so suppressing the artifact would discard it.

Regeneration

Regenerate the handoff after every material study revision, once the revised study is final and before any downstream handoff. A material revision changes a verdict, recommendation, candidate, constraint, gap, or the evidence a candidate rests on.

The handoff carries the study_revision_id it was generated from. A reader compares that value against the study's current revision to judge freshness. Do not add a content hash: nothing in this repository recomputes one, so a hash field would assert a check no reader performs.

Field set

FieldPresenceMeaning
kindRequiredAlways feasibility-to-prd-handoff
handoff_idRequiredUUID URN identifying this handoff instance
generated_atRequiredISO 8601 timestamp of generation
study_pathRequiredWorkspace-relative path to the study this summarizes
study_revision_idRequiredUUID URN of the exact study revision this was generated from
verdictRequiredOne of the four verdicts below
recommendationRequiredProse recommendation carried from the study
evidence_sectionsRequiredNamed study sections supporting the recommendation
constraintsRequiredConstraints the PRD must respect; each category uses the PRD set below
gapsRequiredUnresolved evidence gaps, including unmet readiness items
functional_candidatesForward verdicts onlyProposed capability candidates
nfr_candidatesForward verdicts onlyProposed quality-attribute candidates

Each candidate carries candidate_id, study_item_id, statement, evidence_refs, and an advisory concern_hint.

Functional candidate IDs match FC-[0-9]{2,}; NFR candidate IDs match NC-[0-9]{2,}. Each prefix is valid only in its corresponding array.

Each constraint carries a category and a statement. The category value comes from the PRD's own set and no other: regulatory, contractual, technical, financial, schedule, organizational, or operational. Describe the specific limit in statement, not by inventing a narrower category name.

Evidence reference types

The handoff carries two kinds of evidence reference. They sit at different levels, resolve against different parts of the study, and are never interchangeable.

FieldLevelResolves to
evidence_sectionsTop levelA named section heading in the study
evidence_refsCandidate onlyAn FS-### display reference on a study item

evidence_sections values come from this closed set and no other:

  • Recommendation

  • Problem definition and desired outcome

  • Evidence and analysis

  • Item narratives

  • Review notes

Candidate evidence_refs values match FS-[0-9]{3,} and must resolve to an item display_ref in the referenced study, with its matching narrative anchor.

study_item_id remains the durable identity. It is the item's UUID URN, and an FS-### display reference never substitutes for it. A display reference is a human-facing alias that can be renumbered; the UUID is what survives a revision.

The study interchange block uses its own evidence_refs field, whose values are UUID URNs pointing at items of class evidence. That field belongs to the study and is unrelated to the handoff's candidate field of the same name. Resolve each against the artifact that declares it.

Verdict presence rules

VerdictDirectionCandidate fields
proceedForwardBoth present; empty arrays only when evidence supports no candidates
proceed-with-scope-reductionForwardBoth present; empty arrays only when evidence supports no candidates
do-not-proceedNegativeBoth omitted
insufficient-evidenceNegativeBoth omitted

Negative verdicts always retain recommendation, evidence_sections, constraints, and gaps.

Candidate semantics

Candidates are evidence-backed proposals, never final requirements. The producer does not allocate FR-###, NFR-###, or CON-###, and does not route a candidate to any downstream planner.

concern_hint is advisory evidence describing what the concern appears to touch, such as privacy, Responsible AI, or observability. It does not select a final PRD category and does not name an owner. PRD Build decides every classification.

Producer validation

Before publishing, confirm:

  • Candidate IDs are unique, and candidate counts match the underlying study records.

  • Every evidence_sections entry is drawn from the closed section set above.

  • Every candidate evidence_refs entry matches FS-[0-9]{3,} and resolves to an item display_ref in the referenced study.

  • Every candidate study_item_id is the item's UUID URN, not an FS-### alias.

  • Constraint categories are drawn from the PRD set: regulatory, contractual, technical, financial, schedule, organizational, or operational.

  • study_revision_id matches the revision of the finalized study.

  • No concern_hint names a final PRD category or a downstream planner.

Example — forward verdict

kind: feasibility-to-prd-handoff
handoff_id: urn:uuid:6f3a1c58-9c2b-4d21-8f0e-2b7c5d9a4e13
generated_at: 2026-08-03T14:22:00Z
study_path: docs/data/claims-triage-feasibility.md
study_revision_id: urn:uuid:1d9b7f42-05c8-4a6e-9b31-7c2e8a5f0d64
verdict: proceed-with-scope-reduction
recommendation: >
  Adjudicated claims support automated triage. Provider notes lack the
  retention needed for the original scope, so exclude them from the first
  release.
evidence_sections:
  - Evidence and analysis
  - Item narratives
constraints:
  - category: regulatory
    statement: Provider notes retain for 90 days, below the 24-month training window.
gaps:
  - Label quality for denial reasons is unmeasured beyond a 200-row sample.
functional_candidates:
  - candidate_id: FC-01
    study_item_id: urn:uuid:2a4c6e80-3f19-4b72-a5d8-9e1f3c7b0a25
    statement: Rank incoming claims by predicted adjudication complexity.
    evidence_refs:
      - FS-001
    concern_hint: none
nfr_candidates:
  - candidate_id: NC-01
    study_item_id: urn:uuid:8b1d3f57-6c40-4e29-b7a3-5d0e2f9c4b18
    statement: Triage scores need an explanation a reviewer can act on.
    evidence_refs:
      - FS-002
    concern_hint: responsible-ai

Example — negative verdict

kind: feasibility-to-prd-handoff
handoff_id: urn:uuid:c47e2a91-8d63-4f05-b2ae-1f6d0c8b3947
generated_at: 2026-08-03T16:05:00Z
study_path: docs/data/inventory-forecast-feasibility.md
study_revision_id: urn:uuid:5e8a0b36-2c74-49d1-8f63-0a4b7d1e9c52
verdict: insufficient-evidence
recommendation: >
  Store-level demand history is too sparse to judge forecast feasibility.
  Revisit after two additional seasonal cycles are captured.
evidence_sections:
  - Evidence and analysis
  - Problem definition and desired outcome
constraints:
  - category: technical
    statement: Only 14 of 190 stores have continuous two-year history.
gaps:
  - No held-out period exists for seasonal validation.

Ownership boundary

This contract defines production only. PRD Assess ingestion, Create persistence, Build disposition, and BRD coexistence are owned by the requirements-author skill. Downstream consumers remain read-only toward the study and own their own requirement mapping.

Requirements and compatibility

Written for: GitHub Copilot, Claude Code

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Claude Code frontmatter, Needs Python

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/hve-core · .github/skills/data-science-engineering/feasibility · commit f425e94
Licence
Creative Commons Attribution 4.0 International (redistribution allowed)
  • LICENSE (written by AutoGineer)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download feasibility.zip