Skip to content

Add dotnet-fsharp plugin#302

Closed
Copilot wants to merge 3 commits into
mainfrom
copilot/create-dotnet-fsharp-plugin
Closed

Add dotnet-fsharp plugin#302
Copilot wants to merge 3 commits into
mainfrom
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.

@github-actions
Copy link
Copy Markdown
Contributor

This PR has been automatically marked as stale because it has no activity for 30 days. It will be closed if no further activity occurs within another 7 days of this comment. If it is closed, you may reopen it anytime when you're ready again.

Note

🔒 Integrity filter blocked 24 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #565 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #502 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #486 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #376 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #358 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #357 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #329 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #303 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #269 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #267 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #266 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #265 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #263 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #246 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #245 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #244 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • ... and 8 more items

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by Close Stale Pull Requests · ● 626.9K ·

@github-actions
Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it has been open for more than 30 days with no recent activity.

If you believe this work is still relevant, please feel free to reopen or create a new pull request. Thank you for your contribution!

Note

🔒 Integrity filter blocked 29 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #623 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #617 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #609 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #607 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #601 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #598 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #502 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #486 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #376 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #358 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #357 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #329 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #303 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #269 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #267 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #266 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • ... and 13 more items

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by Close Stale Pull Requests · ● 1.1M

@github-actions github-actions Bot closed this May 11, 2026
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