Skip to content

Add dotnet-fsharp plugin#302

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/create-dotnet-fsharp-plugin
Draft

Add dotnet-fsharp plugin#302
Copilot wants to merge 3 commits intomainfrom
copilot/create-dotnet-fsharp-plugin

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 10, 2026

No dedicated home existed for F# skills — they would otherwise be scattered across unrelated plugins or omitted entirely.

Changes

  • plugins/dotnet-fsharp/plugin.json — new plugin registration
  • plugins/dotnet-fsharp/skills/fsharp-getting-started/SKILL.md — initial skill covering:
    • Project creation (dotnet new -lang F#)
    • F# file compilation order (the most common beginner gotcha)
    • Idiomatic types: records, discriminated unions, exhaustive pattern matching
    • Pipe operator (|>) for data transformation
    • Null-safety via option<'T> and Result<'T,'E>
    • Async patterns: async { } vs task { }
  • tests/dotnet-fsharp/fsharp-getting-started/eval.yaml — two eval scenarios (DU + pattern matching; file order diagnosis)
  • .github/plugin/marketplace.json — plugin registered in marketplace

Example: discriminated union eval scenario

- name: "Create an F# console app with discriminated unions and pattern matching"
  prompt: |
    Create a ShapeCalculator F# app using discriminated unions and pattern matching to compute areas.
  assertions:
    - type: output_contains
      value: "dotnet new console"
    - type: output_matches
      pattern: "-lang\\s+F#"
    - type: output_matches
      pattern: "type Shape"
    - type: output_matches
      pattern: "match\\s+shape\\s+with"
Original prompt

This section details on the original issue you should resolve

<issue_title>create a new plugin named dotnet-fsharp where all fsharp related skills would go</issue_title>
<issue_description></issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: ManishJayaswal <9527491+ManishJayaswal@users.noreply.github.com>
Copilot AI changed the title [WIP] Add new plugin named dotnet-fsharp for F# skills Add dotnet-fsharp plugin Mar 10, 2026
DO NOT USE FOR: C#-only projects, advanced F# type providers, or MSBuild/build pipeline configuration.
---

# Getting Started with F#
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I know this was Copilot-submitted initially, but we should ensure this type of getting started is necessary for F# -- this also kinda mixes multiple tasks.

@jeffschwMSFT
Copy link
Copy Markdown
Member

/evaluate

@danmoseley
Copy link
Copy Markdown
Member

/evaluate

@github-actions
Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality Skills Loaded Overfit Verdict
fsharp-getting-started Create an F# console app with discriminated unions and pattern matching 3.0/5 → 3.7/5 🟢 ✅ fsharp-getting-started; tools: skill, view, create / ✅ fsharp-getting-started; tools: skill, view, create ✅ 0.09
fsharp-getting-started Explain F# file compilation order 3.7/5 → 3.7/5 ✅ fsharp-getting-started; tools: report_intent, skill / ✅ fsharp-getting-started; tools: report_intent, skill ✅ 0.09 [1]

[1] (Isolated) Quality unchanged but weighted score is -8.3% due to: tokens (11925 → 26863), tool calls (0 → 2), time (9.7s → 12.9s)

Model: claude-opus-4.6 | Judge: claude-opus-4.6

📖 See InvestigatingResults.md for how to diagnose failures. Additional debugging guidance may be provided by your workflow.

🔍 Full results — includes quality and agent details

To investigate failures, paste this to your AI coding agent:

For PR 302 in dotnet/skills, download eval artifacts with gh run download 23678554667 --repo dotnet/skills --pattern "skill-validator-results-*" --dir ./eval-results, then fetch https://raw.githubusercontent.com/dotnet/skills/c4f657f0d7afe7d9a9816a10aa0da6dff47fdcf4/eng/skill-validator/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first.

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.

create a new plugin named dotnet-fsharp where all fsharp related skills would go

6 participants