Commit Graph
11 Commits
Author SHA1 Message Date
Adrien Clerbois aa01464ccb Update dotnet-mcp-builder skill to ModelContextProtocol 2.x (#2487)
* Update dotnet-mcp-builder skill to ModelContextProtocol 2.x

Align the skill with the C# SDK 2.0.0 release and the MCP 2026-07-28
spec: stable line is now 2.x, HttpServerTransportOptions.Stateless
defaults to true, roots/sampling/MCP-channel logging are [Obsolete]
(MCP9005) with the multi-round-trip input_required pattern as the
replacement, discovery-first negotiation (server/discover) supersedes
the initialize handshake, Mcp-Method/Mcp-Name routable headers, raw
structuredContent for non-object results, required Tool.inputSchema,
and the new ModelContextProtocol.Extensions.Tasks and
ModelContextProtocol.Extensions.Apps packages (typed MCP Apps support
replacing the hand-rolled _meta/ui:// pattern on 1.x).

* Address Copilot review: Apps extension accuracy, header scope, capability ownership

- packages.md: the Apps package replaces the manual _meta wiring, not the
  ui:// resource; note the experimental MCPEXP003 diagnostic; label the
  1.x -> 2.0 list as highlights and add the OAuth/SSE runtime changes
  with a pointer to the full release notes.
- transport-http.md: Mcp-Method is on every POST, Mcp-Name only on named
  invocations (tools/call, prompts/get, resources/read) - do not require
  it globally at gateways.
- mcp-apps.md: current MIME type is text/html;profile=mcp-app (skybridge
  is a legacy draft value); document [McpAppUi] + WithMcpApps().
- server-features.md: roots/sampling are client capabilities, only
  logging sits on ServerCapabilities.

* Correct stateful HTTP guidance: 2026-07-28 has no HTTP sessions

Per the official SDK v2 elicitation docs, a server with Stateless=false
refuses the 2026-07-28 revision so dual-path clients fall back to an
initialize-capable revision; ElicitAsync cannot be used on 2026-07-28
Streamable HTTP at all. Reframe stateful HTTP as down-level
compatibility mode and document the multi-round-trip pattern
(InputRequiredException / InputRequest.ForElicitation, retry with
InputResponses -> ElicitResult) as the current-protocol way to ask
mid-tool, across SKILL.md, transport-http.md, and elicitation.md.
2026-07-31 10:31:14 +10:00
Adrien Clerbois ed3d68dd66 Update typescript-mcp-server-generator skill to MCP TypeScript SDK v2 (#2486)
* Update typescript-mcp-server-generator skill to MCP TypeScript SDK v2

Replace the retired monolithic @modelcontextprotocol/sdk with the v2
focused packages (server, node, core, framework adapters), require
zod@^4.2 and Node 20+, document the registerTool config-object API,
the ctx handler context, the new error hierarchy, removed SSE/WebSocket
transports, and the v1-to-v2 codemod migration path.

* Address Copilot review: adapter peer frameworks and sampling consistency

Framework adapters now note their required peer framework install
(e.g. @modelcontextprotocol/express + express), and the two remaining
sampling recommendations are replaced with the multi-round
input_required pattern that v2 recommends over the deprecated
sampling subsystem.
2026-07-31 10:27:27 +10:00
Adrien ClerboisandAaron Powell 45305f1602 Add azure-container-registry-cli skill (#2450)
* Add azure-container-registry-cli skill

* Address Copilot review: 2025 ACR changes (ABAC, zone redundancy, task network bypass) and secure credential handling

* Add ACI (Azure Container Instances) to codespell ignore list

* Address second Copilot review wave: DCT deprecation, purge --untagged caveat, soft-delete tiers, Catalog Lister scope, secret quoting

---------

Co-authored-by: Aaron Powell <me@aaron-powell.com>
2026-07-30 11:52:42 +10:00
Adrien ClerboisandAaron Powell b94ae92ab0 Fix nested code fences in aws-well-architected-review issue template (#2449)
The issue-body template was wrapped in a three-backtick fence while
containing three-backtick HCL and Bash blocks, so the HCL example's
closing fence terminated the wrapper early and the following fence
swallowed the remaining workflow sections. Use a four-backtick wrapper
so the nested blocks render intact.

Co-authored-by: Aaron Powell <me@aaron-powell.com>
2026-07-28 11:25:36 +10:00
Adrien Clerbois 5c1ce5f3bd Add azure-well-architected-review skill (#2448)
* Add azure-well-architected-review skill

Adds a skill that performs a structured Azure Well-Architected Framework
review of a workload's IaC (Bicep, Terraform, ARM) and deployed
infrastructure across the 5 WAF pillars, then creates GitHub issues to
track remediation. Mirrors the existing aws-well-architected-review
skill, which had no Azure equivalent.

* Address Copilot review feedback on azure-well-architected-review

- Step 2: always inventory live Azure resources and compare with IaC to
  surface drift, instead of scanning IaC only
- Step 5: add an explicit confirmation gate before any GitHub issue
  creation; ambiguous or negative responses stop with a console report
- Fix nested code fences in the issue-body template by using a
  four-backtick wrapper
2026-07-28 11:13:13 +10:00
Adrien ClerboisandCopilot Autofix powered by AI 541d8f0499 Add gitmoji skill and gitmoji-setup agent (#2355)
* Add gitmoji skill and gitmoji-setup agent

Adds two complementary artifacts for the gitmoji commit convention
(https://gitmoji.dev):

- skills/gitmoji: generates gitmoji commit messages from a diff, staged
  changes, or a change description. Message-only by design (never runs
  git commands), with disambiguation rules and a full reference table of
  the 75 official gitmojis generated from the official gitmojis.json.
- agents/gitmoji-setup: sets up gitmoji tooling in a repository. Audits
  the existing hook manager and commit convention, then installs either
  a non-interactive prepare-commit-msg prefill hook (default, works in
  GUI clients and CI), the gitmoji-cli interactive picker, or commitlint
  enforcement, without clobbering existing hooks.

Generated README indexes updated via npm start.

* Use local commitlint binary instead of npx in verify step

Addresses the package-exec-command finding from the PR risk scan: the
verification example now calls the locally installed
./node_modules/.bin/commitlint rather than npx, which could fetch and
execute a package on the fly.

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Address Copilot review feedback

- Quote the agent description in single quotes per AGENTS.md convention
- Resolve the effective hooks directory via git rev-parse --git-path
  hooks for both audit and installation, instead of hard-coding
  .git/hooks (core.hooksPath, linked worktrees)
- Correct the prefill-hook compatibility claim: it prefills only when
  the message editor opens and silently no-ops for -m/-F, GUI message
  boxes, and CI
- Match the official gitmoji set explicitly when detecting an existing
  emoji, instead of treating any non-ASCII start as one
- Drop .txt from the docs heuristic (it shadowed requirements.txt) and
  remove the dependency-manifest fallback entirely: filenames cannot
  distinguish upgrade/add/remove/pin/downgrade
- Restrict gitmoji -i to repos whose effective hooks dir is .git/hooks;
  wire the picker through the hook manager otherwise
- Merge gitmoji into an existing commitlint config instead of
  overwriting commitlint.config.mjs
- Fix the verification sequence: clean starting state, non-colliding
  scratch file, abort by clearing the editor, explicit unstage/remove/
  switch-back/branch-delete cleanup
- Skill: ask the user for commit history instead of running git log,
  honoring the message-only contract

* Address second round of Copilot review feedback

- Pair the prefill hook with a commit-msg guard: prefilling an empty
  COMMIT_EDITMSG defeats git abort-on-empty-message, so an untouched
  prefill would create a commit named only with the emoji. The guard
  rejects messages that contain nothing but the prefilled gitmoji.
- Extract the gitmoji alternation into a GITMOJI_RE variable shared by
  both hooks.
- Document the commitlint-config-gitmoji format mismatch: it enforces
  the hybrid <gitmoji> type(scope?): subject format and rejects the
  plain gitmoji format produced by Options A/B and the gitmoji skill.
  Option C now asks the team to choose a format first, and the
  verification example uses a valid hybrid message.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-27 14:23:20 +10:00
Adrien ClerboisandCopilot 2c275f2ef9 feat(skills): add dotnet-mcp-builder, deprecate csharp-mcp-server-gen… (#1645)
* feat(skills): add dotnet-mcp-builder, deprecate csharp-mcp-server-generator

Adds a comprehensive skill for building MCP (Model Context Protocol)
servers in C#/.NET against the official ModelContextProtocol 1.x NuGet
packages. Covers both transports (STDIO, Streamable HTTP — SSE is
deprecated) and every primitive in the current MCP spec (2025-11-25):
tools, prompts, resources, elicitation (form + URL mode), sampling,
roots, completions, logging, and MCP Apps. Includes a thin .NET MCP
client reference and testing guidance (MCP Inspector + in-memory
transport for unit tests).

Steers the model toward the current stable 1.x packages instead of the
0.x previews it tends to pin by default, and enforces the STDIO
stdout/stderr trap.

Also deprecates the existing csharp-mcp-server-generator skill, which
predates ModelContextProtocol 1.0 and only covered a subset of the
current spec. Its SKILL.md now redirects users to dotnet-mcp-builder so
existing install URLs keep working without surprises.

* fix: address PR review from aaronpowell

- Delete csharp-mcp-server-generator skill (rather than deprecating it)
- Update mcp-apps.md pitfalls section to reference .NET Tool.Meta type
  instead of the serialized _meta JSON property names
- Rebuild docs/README.skills.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove C# MCP development plugin files

* chore: remove csharp-mcp-development plugin entry from marketplace

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-11 09:35:26 +10:00
Adrien Clerbois a514ab3edc Merge branch 'main' into skill/fluentui-blazor 2026-02-17 08:48:46 +01:00
Adrien Clerbois 576d486c73 feat: Add AGENTS.md file with project guidance for AI coding agents (#477)
* feat: Add AGENTS.md file with project guidance for AI coding agents

* docs: Update AGENTS.md with line endings script requirement

* fix: Correct 'mode' field to 'agent' in prompt files documentation and add AGENTS.md reference to README
2025-12-11 10:08:26 +11:00
Adrien Clerbois 164b61e169 Revise MCP agent documentation for clarity and detail (#465)
Updated expertise and guidelines for MCP tools, prompts, and resources. Enhanced best practices for attributes and resource management.
2025-12-08 09:41:23 +11:00
Adrien ClerboisandAaron Powell 53aa3b04c3 Add generate custom instructions from codebase prompt (#168)
* Add generate custom instructions from codebase prompt

* Update README.md

* Fixing line ending

---------

Co-authored-by: Aaron Powell <me@aaron-powell.com>
2025-08-11 10:58:11 +10:00