Skip to content

Commit 6c2c0e4

Browse files
authored
Merge branch 'github:main' into main
2 parents e25be07 + fc0ffa8 commit 6c2c0e4

11 files changed

Lines changed: 511 additions & 10 deletions

File tree

.codespellrc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,13 @@
2828

2929
# TE - HTTP transfer coding header
3030

31+
# alle - Finnish word meaning "under/below" (not "all" or "alley")
32+
33+
# vai - Finnish word meaning "or"
34+
3135
# FillIn - pdftk-server skill reference file available permission
3236

33-
ignore-words-list = numer,wit,aks,edn,ser,ois,gir,rouge,categor,aline,ative,afterall,deques,dateA,dateB,TE,FillIn
37+
ignore-words-list = numer,wit,aks,edn,ser,ois,gir,rouge,categor,aline,ative,afterall,deques,dateA,dateB,TE,FillIn,alle,vai
3438

3539
# Skip certain files and directories
3640

.github/plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"name": "csharp-dotnet-development",
5151
"source": "./plugins/csharp-dotnet-development",
5252
"description": "Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices.",
53-
"version": "1.0.0"
53+
"version": "1.1.0"
5454
},
5555
{
5656
"name": "csharp-mcp-development",

docs/README.plugins.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Curated plugins of related prompts, agents, and skills organized around specific
2323
| [cast-imaging](../plugins/cast-imaging/README.md) | A comprehensive collection of specialized agents for software analysis, impact assessment, structural quality advisories, and architectural review using CAST Imaging. | 3 items | cast-imaging, software-analysis, architecture, quality, impact-analysis, devops |
2424
| [clojure-interactive-programming](../plugins/clojure-interactive-programming/README.md) | Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance. | 3 items | clojure, repl, interactive-programming |
2525
| [context-engineering](../plugins/context-engineering/README.md) | Tools and techniques for maximizing GitHub Copilot effectiveness through better context management. Includes guidelines for structuring code, an agent for planning multi-file changes, and prompts for context-aware development. | 5 items | context, productivity, refactoring, best-practices, architecture |
26-
| [csharp-dotnet-development](../plugins/csharp-dotnet-development/README.md) | Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices. | 8 items | csharp, dotnet, aspnet, testing |
26+
| [csharp-dotnet-development](../plugins/csharp-dotnet-development/README.md) | Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices. | 11 items | csharp, dotnet, aspnet, testing |
2727
| [csharp-mcp-development](../plugins/csharp-mcp-development/README.md) | Complete toolkit for building Model Context Protocol (MCP) servers in C# using the official SDK. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance. | 3 items | csharp, mcp, model-context-protocol, dotnet, server-development |
2828
| [database-data-management](../plugins/database-data-management/README.md) | Database administration, SQL optimization, and data management tools for PostgreSQL, SQL Server, and general database development best practices. | 8 items | database, sql, postgresql, sql-server, dba, optimization, queries, data-management |
2929
| [dataverse-sdk-for-python](../plugins/dataverse-sdk-for-python/README.md) | Comprehensive collection for building production-ready Python integrations with Microsoft Dataverse. Includes official documentation, best practices, advanced features, file operations, and code generation prompts. | 17 items | dataverse, python, integration, sdk |

docs/README.skills.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
3535
| [copilot-sdk](../skills/copilot-sdk/SKILL.md) | Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent. | None |
3636
| [create-web-form](../skills/create-web-form/SKILL.md) | Create robust, accessible web forms with best practices for HTML structure, CSS styling, JavaScript interactivity, form validation, and server-side processing. Use when asked to "create a form", "build a web form", "add a contact form", "make a signup form", or when building any HTML form with data handling. Covers PHP and Python backends, MySQL database integration, REST APIs, XML data exchange, accessibility (ARIA), and progressive web apps. | `references/accessibility.md`<br />`references/aria-form-role.md`<br />`references/css-styling.md`<br />`references/form-basics.md`<br />`references/form-controls.md`<br />`references/form-data-handling.md`<br />`references/html-form-elements.md`<br />`references/html-form-example.md`<br />`references/hypertext-transfer-protocol.md`<br />`references/javascript.md`<br />`references/php-cookies.md`<br />`references/php-forms.md`<br />`references/php-json.md`<br />`references/php-mysql-database.md`<br />`references/progressive-web-app.md`<br />`references/python-as-web-framework.md`<br />`references/python-contact-form.md`<br />`references/python-flask-app.md`<br />`references/python-flask.md`<br />`references/security.md`<br />`references/styling-web-forms.md`<br />`references/web-api.md`<br />`references/web-performance.md`<br />`references/xml.md` |
3737
| [excalidraw-diagram-generator](../skills/excalidraw-diagram-generator/SKILL.md) | Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw. | `references/element-types.md`<br />`references/excalidraw-schema.md`<br />`scripts/.gitignore`<br />`scripts/README.md`<br />`scripts/add-arrow.py`<br />`scripts/add-icon-to-diagram.py`<br />`scripts/split-excalidraw-library.py`<br />`templates/business-flow-swimlane-template.excalidraw`<br />`templates/class-diagram-template.excalidraw`<br />`templates/data-flow-diagram-template.excalidraw`<br />`templates/er-diagram-template.excalidraw`<br />`templates/flowchart-template.excalidraw`<br />`templates/mindmap-template.excalidraw`<br />`templates/relationship-template.excalidraw`<br />`templates/sequence-diagram-template.excalidraw` |
38+
| [finnish-humanizer](../skills/finnish-humanizer/SKILL.md) | Detect and remove AI-generated markers from Finnish text, making it sound like a native Finnish speaker wrote it. Use when asked to "humanize", "naturalize", or "remove AI feel" from Finnish text, or when editing .md/.txt files containing Finnish content. Identifies 26 patterns (12 Finnish-specific + 14 universal) and 4 style markers. | `references/patterns.md` |
3839
| [gh-cli](../skills/gh-cli/SKILL.md) | GitHub CLI (gh) comprehensive reference for repositories, issues, pull requests, Actions, projects, releases, gists, codespaces, organizations, extensions, and all GitHub operations from the command line. | None |
3940
| [git-commit](../skills/git-commit/SKILL.md) | Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping | None |
4041
| [github-issues](../skills/github-issues/SKILL.md) | Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task. | `references/templates.md` |

plugins/csharp-dotnet-development/.github/plugin/plugin.json

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
{
22
"name": "csharp-dotnet-development",
33
"description": "Essential prompts, instructions, and chat modes for C# and .NET development including testing, documentation, and best practices.",
4-
"version": "1.0.0",
4+
"version": "1.1.0",
55
"author": {
66
"name": "Awesome Copilot Community"
77
},
88
"repository": "https://github.com/github/awesome-copilot",
99
"license": "MIT",
10-
"tags": [
11-
"csharp",
12-
"dotnet",
13-
"aspnet",
14-
"testing"
15-
],
10+
"tags": ["csharp", "dotnet", "aspnet", "testing"],
1611
"display": {
1712
"ordering": "alpha",
1813
"show_badge": false
@@ -42,6 +37,18 @@
4237
"path": "prompts/csharp-xunit.prompt.md",
4338
"kind": "prompt"
4439
},
40+
{
41+
"path": "prompts/csharp-nunit.prompt.md",
42+
"kind": "prompt"
43+
},
44+
{
45+
"path": "prompts/csharp-mstest.prompt.md",
46+
"kind": "prompt"
47+
},
48+
{
49+
"path": "prompts/csharp-tunit.prompt.md",
50+
"kind": "prompt"
51+
},
4552
{
4653
"path": "prompts/dotnet-best-practices.prompt.md",
4754
"kind": "prompt"

plugins/csharp-dotnet-development/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ copilot plugin install csharp-dotnet-development@awesome-copilot
1818
| `/csharp-dotnet-development:csharp-async` | Get best practices for C# async programming |
1919
| `/csharp-dotnet-development:aspnet-minimal-api-openapi` | Create ASP.NET Minimal API endpoints with proper OpenAPI documentation |
2020
| `/csharp-dotnet-development:csharp-xunit` | Get best practices for XUnit unit testing, including data-driven tests |
21+
| `/csharp-dotnet-development:csharp-nunit` | Get best practices for NUnit unit testing, including data-driven tests |
22+
| `/csharp-dotnet-development:csharp-mstest` | Get best practices for MSTest 3.x/4.x unit testing, including modern assertion APIs and data-driven tests |
23+
| `/csharp-dotnet-development:csharp-tunit` | Get best practices for TUnit unit testing, including data-driven tests |
2124
| `/csharp-dotnet-development:dotnet-best-practices` | Ensure .NET/C# code meets best practices for the solution/project. |
2225
| `/csharp-dotnet-development:dotnet-upgrade` | Ready-to-use prompts for comprehensive .NET framework upgrade analysis and execution |
2326

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../prompts/csharp-mstest.prompt.md
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../prompts/csharp-nunit.prompt.md
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../prompts/csharp-tunit.prompt.md

skills/finnish-humanizer/SKILL.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
name: finnish-humanizer
3+
description: 'Detect and remove AI-generated markers from Finnish text, making it sound like a native Finnish speaker wrote it. Use when asked to "humanize", "naturalize", or "remove AI feel" from Finnish text, or when editing .md/.txt files containing Finnish content. Identifies 26 patterns (12 Finnish-specific + 14 universal) and 4 style markers.'
4+
---
5+
6+
# Finnish Humanizer
7+
8+
<role>
9+
Olet kirjoituseditori, joka tunnistaa ja poistaa suomenkielisen AI-tekstin tunnusmerkit. Et ole kieliopin tarkistaja, kääntäjä tai yksinkertaistaja. Tehtäväsi on tehdä tekstistä sellaista, jonka suomalainen ihminen olisi voinut kirjoittaa.
10+
</role>
11+
12+
<finnish_voice>
13+
Ennen kuin korjaat yhtään patternia, sisäistä miten suomalainen kirjoittaja ajattelee.
14+
15+
**Suoruus.** Suomalainen sanoo asian ja siirtyy eteenpäin. Ei johdattelua, ei pehmentämistä, ei turhia kehyksiä. "Tämä ei toimi" on täysi lause.
16+
17+
**Lyhyys on voimaa.** Lyhyt virke ei ole laiska — se on täsmällinen. Pitkä virke on perusteltava.
18+
19+
**Toisto on sallittu.** Suomessa saman sanan käyttö kahdesti on normaalia. Englannin synonyymikierto ("utilize" → "employ" → "leverage") kuulostaa suomessa teennäiseltä.
20+
21+
**Innostus epäilyttää.** Suomalainen kirjoittaja ei huuda eikä hehkuta. Kuiva toteamus on vahvempi kuin huutomerkki. "Ihan hyvä" on kehu.
22+
23+
**Hiljaisuus on tyylikeino.** Se mitä jätetään sanomatta voi olla yhtä tärkeää kuin se mitä sanotaan. Älä täytä jokaista aukkoa selityksellä.
24+
25+
**Partikkelit elävöittävät.** -han/-hän, -pa/-pä, kyllä, vaan, nyt, sit — nämä tekevät tekstistä elävää ja luonnollista. AI jättää ne pois koska ne ovat "turhia". Ne eivät ole.
26+
27+
### Esimerkki: sieluton vs. elävä
28+
29+
**Sieluton:**
30+
> Tämä on erittäin merkittävä kehitysaskel, joka tulee vaikuttamaan laajasti alan tulevaisuuteen. On syytä huomata, että kyseinen innovaatio tarjoaa lukuisia mahdollisuuksia eri sidosryhmille.
31+
32+
**Elävä:**
33+
> Iso juttu alalle. Tästä hyötyvät monet.
34+
35+
### Persoonallisuuden lisääminen
36+
37+
AI-tunnusmerkkien poistaminen ei yksin riitä — teksti tarvitsee myös persoonallisuutta.
38+
39+
- **Rytmin vaihtelu.** Vaihtele lyhyitä ja pitkiä virkkeitä. Monotoninen virkerakenne on AI:n tunnusmerkki.
40+
- **Monimutkaisuuden tunnustaminen.** Asiat voivat olla ristiriitaisia, epäselviä tai keskeneräisiä. AI yrittää ratkaista kaiken siististi.
41+
- **Konkreettiset yksityiskohdat.** Korvaa yleistykset yksityiskohdilla. "Monet yritykset" → "Kolme suurinta kilpailijaa".
42+
- **Harkittu epätäydellisyys.** Sivujuonteet, ajatuksen kehittyminen kesken tekstin, itsekorjaus — nämä ovat ihmisen kirjoittamisen merkkejä.
43+
</finnish_voice>
44+
45+
<process>
46+
## Prosessi
47+
48+
1. **Tunnista** — Lue teksti ja merkitse AI-patternit
49+
2. **Uudelleenkirjoita** — Korvaa patternit luonnollisilla rakenteilla
50+
3. **Säilytä merkitys** — Älä muuta asiasisältöä
51+
4. **Säilytä rekisteri** — Jos alkuperäinen on virallista, pidä virallisena
52+
5. **Lisää persoonallisuutta** — Tuo kirjoittajan ääni esiin
53+
54+
## Adaptiivinen workflow
55+
56+
**Lyhyt teksti (alle 500 sanaa):**
57+
Käsittele suoraan. Palauta luonnollistettu teksti + muutosyhteenveto.
58+
59+
**Pitkä teksti (yli 500 sanaa):**
60+
1. Analysoi ensin — listaa löydetyt AI-patternit ja niiden esiintymät
61+
2. Esitä löydökset käyttäjälle
62+
3. Kysy epäselvistä tapauksista (onko piirre AI-pattern vai tietoinen valinta?)
63+
4. Toteuta luonnollistaminen
64+
</process>
65+
66+
<examples>
67+
## Esimerkkipatternit
68+
69+
26 AI-patternia on jaettu kahteen ryhmään: suomenkieliset (suomelle ominaiset rakenteet) ja universaalit (kaikissa kielissä esiintyvät, tunnistetaan ja korjataan suomeksi). Alla 7 kanonista esimerkkiä. Täysi 26 kategorian patternilista: ks. references/patterns.md
70+
71+
### Suomenkieliset patternit
72+
73+
**#1 Passiivin ylikäyttö**
74+
AI käyttää passiivia kaikkialla välttääkseen tekijän nimeämistä.
75+
76+
Ennen: Sovellus on suunniteltu tarjoamaan käyttäjille mahdollisuus hallita omia tietojaan tehokkaasti.
77+
Jälkeen: Sovelluksella hallitset omat tietosi.
78+
79+
**#4 Puuttuvat partikkelit**
80+
AI ei käytä partikkeleita (-han/-hän, -pa/-pä, kyllä, vaan) koska ne ovat epämuodollisia. Suomessa ne ovat normaalia kirjoituskieltä.
81+
82+
Ennen: Tämä on totta. Kyse on kuitenkin siitä, että tilanne on monimutkainen.
83+
Jälkeen: Onhan se totta. Tilanne on vaan monimutkainen.
84+
85+
**#5 Käännösrakenteet**
86+
AI tuottaa suomea joka noudattaa englannin sanajärjestystä ja rakenteita.
87+
88+
Ennen: Tämän lisäksi, on tärkeää huomioida se tosiasia, että markkinat ovat muuttuneet.
89+
Jälkeen: Markkinatkin ovat muuttuneet.
90+
91+
**#6 Genetiiviketjut**
92+
Peräkkäiset genetiivimuodot kasautuvat kun AI yrittää ilmaista monimutkaisia suhteita yhdessä rakenteella.
93+
94+
Ennen: Tuotteen laadun parantamisen mahdollisuuksien arvioinnin tulokset osoittavat kehityspotentiaalia.
95+
Jälkeen: Arvioimme miten tuotteen laatua voisi parantaa. Kehityspotentiaalia löytyi.
96+
97+
### Universaalit patternit suomeksi
98+
99+
**#13 Merkittävyyden liioittelu**
100+
AI paisuttaa kaiken "merkittäväksi", "keskeiseksi" tai "ratkaisevaksi".
101+
102+
Ennen: Tekoäly tulee olemaan merkittävässä ja keskeisessä roolissa tulevaisuuden ratkaisevien haasteiden ratkaisemisessa.
103+
Jälkeen: Tekoälystä tulee tärkeä työkalu moniin ongelmiin.
104+
105+
**#15 Mielistelevä sävy**
106+
AI kehuu kysyjää tai aihevalintaa. Suomessa tämä on erityisen kiusallista.
107+
108+
Ennen: Hyvä kysymys! Tämä on ehdottomasti yksi tärkeimmistä aiheista tällä hetkellä.
109+
Jälkeen: Aihe on ajankohtainen.
110+
111+
**#17 Täytesanat ja -lauseet**
112+
AI aloittaa tai täyttää kappaleita fraaseilla jotka eivät lisää sisältöä.
113+
114+
Ennen: On syytä huomata, että tässä yhteydessä on tärkeää ymmärtää alustan arkkitehtuuri ennen käyttöönottoa.
115+
Jälkeen: Ymmärrä alustan arkkitehtuuri ennen käyttöönottoa.
116+
</examples>
117+
118+
<output_format>
119+
## Tulostusformaatti
120+
121+
Kun olet luonnollistanut tekstin, palauta:
122+
123+
1. **Uudelleenkirjoitettu teksti** — kokonaisuudessaan
124+
2. **Muutosyhteenveto** (valinnainen, oletuksena mukana) — lyhyt lista korjatuista patterneista
125+
126+
Jos käyttäjä pyytää vain tekstiä ilman selityksiä, jätä muutosyhteenveto pois.
127+
</output_format>
128+
129+
<constraints>
130+
## Reunaehdot
131+
132+
- **Älä muuta asiasisältöä.** Jos alkuperäisessä on fakta, se säilyy.
133+
- **Älä yksinkertaista.** Luonnollistaminen ei tarkoita lapsenkielistä versiota.
134+
- **Kunnioita rekisteriä.** Virallinen teksti pysyy virallisena — vain AI-patternit poistetaan.
135+
- **Älä lisää omaa sisältöä.** Et keksi uusia väitteitä tai esimerkkejä.
136+
- **Kysy epäselvissä tapauksissa.** Jos et ole varma onko jokin piirre AI-pattern vai kirjoittajan tietoinen valinta, kysy käyttäjältä.
137+
- **Jo luonnollinen teksti.** Jos teksti on jo luonnollista, ilmoita se äläkä tee turhia muutoksia.
138+
- **Koodiesimerkkit ja tekninen sanasto.** Säilytä englanninkieliset koodiesimerkkit, tekniset termit ja lainaukset sellaisinaan.
139+
- **Sekateksti (fi/en).** Käsittele vain suomenkieliset osat. Jätä englanninkieliset osiot koskematta.
140+
</constraints>
141+
142+
## References
143+
144+
- Full 26-pattern list with examples: [references/patterns.md](references/patterns.md)
145+
- Source repository: [Hakku/finnish-humanizer](https://github.com/Hakku/finnish-humanizer) (MIT)

0 commit comments

Comments
 (0)