Skip to content
Open
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
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "heaths-plugins",
"description": "Collection of agents, skills, and tools used in personal projects",
"owner": {
"name": "Heath Stewart"
},
"metadata": {
"description": "Collection of agents, skills, and tools used in personal projects",
"version": "0.4.2"
"version": "0.4.3"
},
"plugins": [
{
Expand All @@ -28,7 +29,7 @@
"name": "linting",
"source": "plugins/linting",
"description": "Skills and tools for formatting and linting",
"version": "0.2.3"
"version": "0.2.4"
}
]
}
}
15 changes: 9 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Architecture

This is a GitHub Copilot CLI plugin marketplace. The marketplace is defined in `.github/plugin/marketplace.json` and contains multiple plugins, each under `plugins/<name>/`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files).
This is a plugin marketplace compatible with [GitHub Copilot CLI] and [Claude Code]. The marketplace is defined in `.claude-plugin/marketplace.json` and contains multiple plugins, each under `plugins/<name>/`. Plugins can declare skills (prompt-based capabilities in `SKILL.md` files) and MCP servers (in `.mcp.json` files).

### Key files

- `.github/plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources.
- `plugins/<name>/.github/plugin/plugin.json` — per-plugin details including name, description, version, author, and skills.
- `.claude-plugin/marketplace.json` — marketplace manifest listing all plugins with their versions and sources.
- `plugins/<name>/.claude-plugin/plugin.json` — per-plugin details including name, description, version, author, and skills.
- `plugins/<name>/skills/<skill-name>/SKILL.md` — skill definition with YAML frontmatter (`name`, `description`, `compatibility`) and markdown instructions.
- `plugins/<name>/.mcp.json` — MCP server configuration for a plugin.

Expand Down Expand Up @@ -37,7 +37,7 @@ The marketplace and each plugin have independent semver versions in `marketplace

### In-repository plugins

Plugins that live in this repository (`source` is a local path like `"plugins/<name>"`) should include the following fields in both `marketplace.json` and their `plugins/<name>/.github/plugin/plugin.json`:
Plugins that live in this repository (`source` is a local path like `"plugins/<name>"`) should include the following fields in both `marketplace.json` and their `plugins/<name>/.claude-plugin/plugin.json`:

- `name`, `description`, `version`, `author` — required everywhere
- `category`, `keywords` — include in `plugin.json` for discoverability
Expand All @@ -49,15 +49,15 @@ Plugins sourced from an external GitHub repository (`source` is an object with `
- `name`, `description`, `version` — basic identity
- `source` — object with `"source": "github"` and `"repo": "<owner>/<repo>"`
- `repository` — full URL to the repository (e.g., `"https://github.com/<owner>/<repo>"`)
- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.github/plugin/plugin.json` for discoverability
- `author`, `license`, `category`, `keywords` — copy from the remote plugin's `.claude-plugin/plugin.json` for discoverability

The remote repository owns its own `plugin.json`; do not duplicate skill or MCP server definitions locally.

## Pre-commit checklist

Before committing, verify:

1. If any files under `plugins/<name>/` changed, that plugin's `version` in both `marketplace.json` and `plugins/<name>/.github/plugin/plugin.json` has been bumped following semver rules above.
1. If any files under `plugins/<name>/` changed, that plugin's `version` in both `marketplace.json` and `plugins/<name>/.claude-plugin/plugin.json` has been bumped following semver rules above.
2. If a plugin was added or removed from the marketplace, the marketplace `metadata.version` has been bumped accordingly (minor for additions, minor for removals if still 0.x.y, or major for removals once 1.0.0 or later).
3. Otherwise, if any plugin version was bumped, the marketplace `metadata.version` patch version has been incremented.

Expand All @@ -73,3 +73,6 @@ The commit or pull request body should provide additional context when the title
- SKILL.md frontmatter fields should not end with a trailing period.
- Line endings are LF (enforced by `.gitattributes` and `.editorconfig`).
- JSON files use 2-space indentation.

[GitHub Copilot CLI]: https://github.com/features/copilot/cli/
[Claude Code]: https://claude.ai/code
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,64 @@

## Installation

Plugins are compatible with both [GitHub Copilot CLI] and [Claude Code].

### GitHub Copilot CLI

To install this marketplace into [GitHub Copilot CLI] run:

```bash
copilot plugin marketplace add heaths/plugins
```

### Claude Code

To install this marketplace into [Claude Code] run:

```text
/plugin marketplace add heaths/plugins
```

## Sharing with contributors

You can recommend this marketplace and its plugins to everyone who works in a repository by committing a `.claude/settings.json` file to that repository. When contributors trust the project folder in [Claude Code], they are prompted to install the marketplace and any enabled plugins.

Example `.claude/settings.json`:

```json
{
"extraKnownMarketplaces": {
"heaths-plugins": {
"source": {
"source": "github",
"repo": "heaths/plugins"
}
}
},
"enabledPlugins": {
"linting@heaths-plugins": true
}
}
```

> **Note:** [GitHub Copilot CLI] does not currently support project-level plugin recommendations. Contributors using Copilot CLI should run the marketplace and plugin install commands above individually.

## Plugins

### azsdk-samples-mcp

Discovers and retrieves code samples from Azure SDK packages in .NET, Node.js, and Rust projects.

```bash
# GitHub Copilot CLI
copilot plugin install azsdk-samples-mcp@heaths-plugins
```

```text
# Claude Code
/plugin install azsdk-samples-mcp@heaths-plugins
```

### linting

Skills and tools for formatting and linting.
Expand All @@ -28,11 +70,18 @@ Skills and tools for formatting and linting.
| lint-markdown | Check and fix formatting and other issues in markdown files using markdownlint-cli2 |

```bash
# GitHub Copilot CLI
copilot plugin install linting@heaths-plugins
```

```text
# Claude Code
/plugin install linting@heaths-plugins
```

## License

Licensed under the [MIT](LICENSE.txt) license.

[GitHub Copilot CLI]: https://github.com/features/copilot/cli/
[Claude Code]: https://claude.ai/code
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "linting",
"description": "Skills and tools for formatting and linting",
"version": "0.2.3",
"version": "0.2.4",
"author": {
"name": "Heath Stewart"
},
Expand Down