From 090efd486c95ee8d0f494f3d2e37dd9e4630a11a Mon Sep 17 00:00:00 2001 From: Alessandro Fragnani Date: Sun, 11 Jan 2026 12:20:47 -0300 Subject: [PATCH 1/4] Add skills for contributing commands and localization in VS Code extensions --- docs/README.skills.md | 2 ++ skills/vscode-ext-commands/SKILL.md | 21 +++++++++++++++++++++ skills/vscode-ext-localization/SKILL.md | 25 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 skills/vscode-ext-commands/SKILL.md create mode 100644 skills/vscode-ext-localization/SKILL.md diff --git a/docs/README.skills.md b/docs/README.skills.md index 7c371a6e..99478369 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -27,5 +27,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | [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` | | [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None | | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | +| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices. | None | +| [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices. | None | | [web-design-reviewer](../skills/web-design-reviewer/SKILL.md) | This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level. | `references/framework-fixes.md`
`references/visual-checklist.md` | | [webapp-testing](../skills/webapp-testing/SKILL.md) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. | `test-helper.js` | diff --git a/skills/vscode-ext-commands/SKILL.md b/skills/vscode-ext-commands/SKILL.md new file mode 100644 index 00000000..1cf0d586 --- /dev/null +++ b/skills/vscode-ext-commands/SKILL.md @@ -0,0 +1,21 @@ +--- +name: vscode-ext-commands +description: 'Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices' +--- + +# VS Code extension command contribution + +This skill helps you to contribute commands in VS Code extensions + +## When to use this skill + +Use this skill when you need to: +- Add or update commands to your VS Code extension + +# Instructions + +VS Code commands must always define a `title`, independent of its category, visibility or location. We use a few patterns for each "kind" of command, with some characteristics, described below: + +* Regular commands: By default, all commands should be accessible in the Command Palette, must define a `category`, and don't need an `icon`, unless the command will be used in the Side Bar. + +* Side Bar commands: It's name follow a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice define the condition (`when`) for the new command is visible. diff --git a/skills/vscode-ext-localization/SKILL.md b/skills/vscode-ext-localization/SKILL.md new file mode 100644 index 00000000..e9a956d8 --- /dev/null +++ b/skills/vscode-ext-localization/SKILL.md @@ -0,0 +1,25 @@ +--- +name: vscode-ext-localization +description: 'Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices' +--- + +# VS Code extension localization + +This skill helps you localize every aspect of VS Code extensions + +## When to use this skill + +Use this skill when you need to: +- Localize new or existing contributed configurations (settings), commands, menus, views or walkthroughs +- Localize new or existing messages or other string resources contained in extension source code, that are used displayed to end user + +# Instructions + +VS Code localization is composed by three different approaches, depending on the resource that is being localized. When a new localizable resource is created or updated, the corresponding localization for all currently available languages must be created/updated. + +1. Configurations like Settings, Commands, Menus, Views, ViewsWelcome, Walkthrough Titles and Descriptions, defined in `package.json` + -> An exclusive `package.nls.LANGID.json` file, like `package.nls.pt-br.json` of Brazilian Portuguese (`pt-br`) localization +2. Walkthough content (defined in its own `Markdown` files) + -> An exclusive `Markdown` file like `walkthrough/someStep.pt-br.md` for Brazilian Portuguese localization +3. Messages and string located in extension source code (JavaScript or TypeScript files) + -> An exclusive `bundle.l10n.pt-br.json` for Brazilian Portuguese localization From da7f2032de02cc3e1d8469cb834db69f2d529437 Mon Sep 17 00:00:00 2001 From: Alessandro Fragnani Date: Sun, 11 Jan 2026 12:56:22 -0300 Subject: [PATCH 2/4] Fix typo --- docs/README.skills.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/README.skills.md b/docs/README.skills.md index 99478369..79352bbb 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -27,7 +27,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | [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` | | [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None | | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | -| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices. | None | -| [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices. | None | +| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices | None | +| [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices | None | | [web-design-reviewer](../skills/web-design-reviewer/SKILL.md) | This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level. | `references/framework-fixes.md`
`references/visual-checklist.md` | | [webapp-testing](../skills/webapp-testing/SKILL.md) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. | `test-helper.js` | From 5424543abfa302eee39c9842ca4de63b4e9d5210 Mon Sep 17 00:00:00 2001 From: Alessandro Fragnani Date: Sun, 11 Jan 2026 13:15:56 -0300 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/README.skills.md | 2 +- skills/vscode-ext-commands/SKILL.md | 4 ++-- skills/vscode-ext-localization/SKILL.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/README.skills.md b/docs/README.skills.md index 79352bbb..6d91c7a4 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -27,7 +27,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code | [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` | | [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None | | [snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md) | Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None | -| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices | None | +| [vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md) | Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices | None | | [vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md) | Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices | None | | [web-design-reviewer](../skills/web-design-reviewer/SKILL.md) | This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level. | `references/framework-fixes.md`
`references/visual-checklist.md` | | [webapp-testing](../skills/webapp-testing/SKILL.md) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs. | `test-helper.js` | diff --git a/skills/vscode-ext-commands/SKILL.md b/skills/vscode-ext-commands/SKILL.md index 1cf0d586..30ab8637 100644 --- a/skills/vscode-ext-commands/SKILL.md +++ b/skills/vscode-ext-commands/SKILL.md @@ -1,6 +1,6 @@ --- name: vscode-ext-commands -description: 'Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension develoment guidelines, libraries and good practices' +description: 'Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices' --- # VS Code extension command contribution @@ -18,4 +18,4 @@ VS Code commands must always define a `title`, independent of its category, visi * Regular commands: By default, all commands should be accessible in the Command Palette, must define a `category`, and don't need an `icon`, unless the command will be used in the Side Bar. -* Side Bar commands: It's name follow a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice define the condition (`when`) for the new command is visible. +* Side Bar commands: It's name follow a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice to define the condition (`when`) for the new command is visible. diff --git a/skills/vscode-ext-localization/SKILL.md b/skills/vscode-ext-localization/SKILL.md index e9a956d8..b92def23 100644 --- a/skills/vscode-ext-localization/SKILL.md +++ b/skills/vscode-ext-localization/SKILL.md @@ -11,7 +11,7 @@ This skill helps you localize every aspect of VS Code extensions Use this skill when you need to: - Localize new or existing contributed configurations (settings), commands, menus, views or walkthroughs -- Localize new or existing messages or other string resources contained in extension source code, that are used displayed to end user +- Localize new or existing messages or other string resources contained in extension source code that are displayed to the end user # Instructions @@ -19,7 +19,7 @@ VS Code localization is composed by three different approaches, depending on the 1. Configurations like Settings, Commands, Menus, Views, ViewsWelcome, Walkthrough Titles and Descriptions, defined in `package.json` -> An exclusive `package.nls.LANGID.json` file, like `package.nls.pt-br.json` of Brazilian Portuguese (`pt-br`) localization -2. Walkthough content (defined in its own `Markdown` files) +2. Walkthrough content (defined in its own `Markdown` files) -> An exclusive `Markdown` file like `walkthrough/someStep.pt-br.md` for Brazilian Portuguese localization 3. Messages and string located in extension source code (JavaScript or TypeScript files) -> An exclusive `bundle.l10n.pt-br.json` for Brazilian Portuguese localization From 0eb1a4f1f70a0fad203d021e7daf9f88d7d9b5be Mon Sep 17 00:00:00 2001 From: Alessandro Fragnani Date: Sun, 11 Jan 2026 13:18:36 -0300 Subject: [PATCH 4/4] Apply suggestions from code review --- skills/vscode-ext-commands/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/vscode-ext-commands/SKILL.md b/skills/vscode-ext-commands/SKILL.md index 30ab8637..0d44dc1c 100644 --- a/skills/vscode-ext-commands/SKILL.md +++ b/skills/vscode-ext-commands/SKILL.md @@ -18,4 +18,4 @@ VS Code commands must always define a `title`, independent of its category, visi * Regular commands: By default, all commands should be accessible in the Command Palette, must define a `category`, and don't need an `icon`, unless the command will be used in the Side Bar. -* Side Bar commands: It's name follow a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice to define the condition (`when`) for the new command is visible. +* Side Bar commands: Its name follows a special pattern, starting with underscore (`_`) and suffixed with `#sideBar`, like `_extensionId.someCommand#sideBar` for instance. Must define an `icon`, and may or may not have some rule for `enablement`. Side Bar exclusive commands should not be visible in the Command Palette. Contributing it to the `view/title` or `view/item/context`, we must inform _order/position_ that it will be displayed, and we can use terms "relative to other command/button" in order to you identify the correct `group` to be used. Also, it's a good practice to define the condition (`when`) for the new command is visible.