Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .changeset/patch-add-explanatory-output-style-plugin.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .github/workflows/smoke-claude.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-claude.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ engine:
id: claude
max-turns: 15
plugins:
- explanatory-output-style@claude-plugins-official
- anthropics/claude-code/plugins/explanatory-output-style
strict: true
imports:
- shared/mood.md
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/smoke-codex.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-codex.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permissions:
name: Smoke Codex
engine: codex
plugins:
- explanatory-output-style@claude-plugins-official
- anthropics/claude-code/plugins/explanatory-output-style
strict: true
imports:
- shared/mood.md
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/smoke-copilot.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-copilot.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:
name: Smoke Copilot
engine: copilot
plugins:
- explanatory-output-style@claude-plugins-official
- anthropics/claude-code/plugins/explanatory-output-style
imports:
- shared/mood.md
- shared/gh.md
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/smoke-project.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ permissions:
name: Smoke Project
engine: codex
plugins:
- explanatory-output-style@claude-plugins-official
- anthropics/claude-code/plugins/explanatory-output-style
imports:
- shared/mood.md
- shared/gh.md
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/smoke-test-tools.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/smoke-test-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ permissions:
name: Agent Container Smoke Test
engine: copilot
plugins:
- explanatory-output-style@claude-plugins-official
- anthropics/claude-code/plugins/explanatory-output-style
strict: true
runtimes:
node:
Expand Down
5 changes: 2 additions & 3 deletions docs/src/content/docs/reference/frontmatter.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ plugins:
- github/test-plugin
- acme/custom-tools
- anthropics/claude-code/plugins/explanatory-output-style
- pyright-lsp@claude-plugins-official
```

**Object format** (with custom token):
Expand All @@ -123,8 +122,8 @@ plugins:
**Plugin identifier formats:**
- **GitHub repository**: `org/repo` (e.g., `github/test-plugin`)
- **Sub-plugin path**: `org/repo/path/to/plugin` (e.g., `anthropics/claude-code/plugins/explanatory-output-style`)
- **Marketplace reference**: `plugin-name@marketplace` (e.g., `pyright-lsp@claude-plugins-official`)
- **Repository with marketplace**: `org/repo@marketplace` (e.g., `anthropics/claude-code@anthropic-plugins`)

**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines.
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

The docs remove marketplace examples but the new note doesn’t explicitly call out that @marketplace identifiers are currently not supported (even though the schema still permits them). Adding an explicit sentence here would better align the docs with the actual CLI behavior/error and prevent users from assuming plugin@marketplace will work.

Suggested change
**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines.
**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines. `@marketplace` identifiers (for example, `plugin@marketplace`) are not currently supported and will result in a CLI error, even though the schema permits them.

Copilot uses AI. Check for mistakes.

**Token precedence** for plugin installation (highest to lowest):
1. Custom `plugins.github-token` from object format
Expand Down
9 changes: 4 additions & 5 deletions pkg/parser/schemas/main_workflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2483,11 +2483,10 @@
]
},
"plugins": {
"description": "Plugin configuration for installing plugins before workflow execution. Supports array format (list of repos/plugin configs) and object format (repos + custom token). Plugin paths can include sub-paths to specific plugins within a repository, or marketplace references using @marketplace syntax.",
"description": "Plugin configuration for installing plugins before workflow execution. Supports array format (list of repos/plugin configs) and object format (repos + custom token). Plugin paths can include sub-paths to specific plugins within a repository (e.g., 'anthropics/claude-code/plugins/explanatory-output-style').",
"examples": [
["github/copilot-plugin", "acme/custom-tools"],
["anthropics/claude-code/plugins/explanatory-output-style"],
["pyright-lsp@claude-plugins-official"],
[
"github/simple-plugin",
{
Expand All @@ -2513,7 +2512,7 @@
{
"type": "string",
"pattern": "^([a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)+|[a-zA-Z0-9_-]+)(@[a-zA-Z0-9_-]+)?$",
"description": "Plugin identifier in one of these formats: 'org/repo', 'org/repo/path/to/plugin', 'plugin-name@marketplace', or 'org/repo@marketplace' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style', 'pyright-lsp@claude-plugins-official')"
"description": "Plugin identifier in GitHub repository format: 'org/repo' or 'org/repo/path/to/plugin' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style'). The pattern allows @marketplace syntax for potential future support, but current engines only support GitHub repository paths."
},
Comment on lines 2513 to 2516
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

The regex pattern for plugin IDs still allows a single segment (e.g., plugin-name) and an optional @marketplace suffix, but the updated description states that current engines only support GitHub repository paths (org/repo with optional sub-paths). This mismatch means schema validation will accept values that will later fail at runtime; consider tightening the pattern to require at least org/repo, or explicitly documenting that these legacy forms are accepted by schema only for backward compatibility and are not supported by engines.

This issue also appears on line 2564 of the same file.

Copilot uses AI. Check for mistakes.
{
"type": "object",
Expand All @@ -2523,7 +2522,7 @@
"id": {
"type": "string",
"pattern": "^([a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)+|[a-zA-Z0-9_-]+)(@[a-zA-Z0-9_-]+)?$",
"description": "Plugin repository slug in the format 'org/repo', 'org/repo/path/to/plugin', 'plugin-name@marketplace', or 'org/repo@marketplace' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style')"
"description": "Plugin repository slug in GitHub repository format: 'org/repo' or 'org/repo/path/to/plugin' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style')"
},
"mcp": {
"type": "object",
Expand Down Expand Up @@ -2564,7 +2563,7 @@
{
"type": "string",
"pattern": "^([a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)+|[a-zA-Z0-9_-]+)(@[a-zA-Z0-9_-]+)?$",
"description": "Plugin identifier in one of these formats: 'org/repo', 'org/repo/path/to/plugin', 'plugin-name@marketplace', or 'org/repo@marketplace' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style', 'pyright-lsp@claude-plugins-official')"
"description": "Plugin identifier in GitHub repository format: 'org/repo' or 'org/repo/path/to/plugin' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style'). The pattern allows @marketplace syntax for potential future support, but current engines only support GitHub repository paths."
},
{
"type": "object",
Expand Down
Loading