Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 6 additions & 0 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,12 @@
"description": "Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python to help you create AI-powered applications.",
"version": "1.0.0"
},
{
"name": "cowork-converter",
"source": "cowork-converter",
"description": "Convert a GitHub Copilot CLI / Claude Code plugin to a Microsoft 365 Copilot Cowork package (.zip). Handles skill discovery, shared-reference resolution, manifest generation, icon placeholders, validation, and zip packaging.",
"version": "1.0.0"
},
{
"name": "csharp-dotnet-development",
"source": "csharp-dotnet-development",
Expand Down
1 change: 1 addition & 0 deletions docs/README.plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-plugins) for guidelines on how t
| [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. | 4 items | context, productivity, refactoring, best-practices, architecture |
| [context-matic](../plugins/context-matic/README.md) | Coding agents hallucinate APIs. ContextMatic gives them curated, versioned API and SDK docs. Ask your agent to "integrate the payments API" and it guesses — falling back on outdated training data and generic patterns that don't match your actual SDK. ContextMatic solves this by giving the agent deterministic, version-aware, SDK-native context at the exact moment it's needed. | 2 items | api-context, api-integration, mcp, sdk, apimatic, third-party-apis, sdks |
| [copilot-sdk](../plugins/copilot-sdk/README.md) | Build applications with the GitHub Copilot SDK across multiple programming languages. Includes comprehensive instructions for C#, Go, Node.js/TypeScript, and Python to help you create AI-powered applications. | 1 items | copilot-sdk, sdk, csharp, go, nodejs, typescript, python, ai, github-copilot |
| [cowork-converter](../plugins/cowork-converter/README.md) | Convert a GitHub Copilot CLI / Claude Code plugin to a Microsoft 365 Copilot Cowork package (.zip). Handles skill discovery, shared-reference resolution, manifest generation, icon placeholders, validation, and zip packaging. | 1 items | cowork, microsoft-365, m365, plugin-converter, agent-skills, copilot |
| [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. | 9 items | csharp, dotnet, aspnet, testing |
| [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. | 6 items | database, sql, postgresql, sql-server, dba, optimization, queries, data-management |
| [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. | 4 items | dataverse, python, integration, sdk |
Expand Down
1 change: 1 addition & 0 deletions docs/README.skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [copilot-spaces](../skills/copilot-spaces/SKILL.md)<br />`gh skills install github/awesome-copilot copilot-spaces` | Use Copilot Spaces to provide project-specific context to conversations. Use this skill when users mention a "Copilot space", want to load context from a shared knowledge base, discover available spaces, or ask questions grounded in curated project documentation, code, and instructions. | None |
| [copilot-usage-metrics](../skills/copilot-usage-metrics/SKILL.md)<br />`gh skills install github/awesome-copilot copilot-usage-metrics` | Retrieve and display GitHub Copilot usage metrics for organizations and enterprises using the GitHub CLI and REST API. | `get-enterprise-metrics.sh`<br />`get-enterprise-user-metrics.sh`<br />`get-org-metrics.sh`<br />`get-org-user-metrics.sh` |
| [cosmosdb-datamodeling](../skills/cosmosdb-datamodeling/SKILL.md)<br />`gh skills install github/awesome-copilot cosmosdb-datamodeling` | Step-by-step guide for capturing key application requirements for NoSQL use-case and produce Azure Cosmos DB Data NoSQL Model design using best practices and common patterns, artifacts_produced: "cosmosdb_requirements.md" file and "cosmosdb_data_model.md" file | None |
| [cowork-converter](../skills/cowork-converter/SKILL.md)<br />`gh skills install github/awesome-copilot cowork-converter` | Convert a GitHub Copilot CLI plugin, Claude Code plugin, or any agent-skills directory into a Microsoft 365 Copilot Cowork package (.zip). Use when the user asks to convert, package, or publish a plugin to Cowork, mentions 'Cowork plugin', 'M365 Cowork', or asks to create a cowork.zip. Also triggers if the user asks to transform skills for Microsoft 365 Copilot distribution. | `scripts/convert.py`<br />`skill.md` |
| [create-agentsmd](../skills/create-agentsmd/SKILL.md)<br />`gh skills install github/awesome-copilot create-agentsmd` | Prompt for generating an AGENTS.md file for a repository | None |
| [create-architectural-decision-record](../skills/create-architectural-decision-record/SKILL.md)<br />`gh skills install github/awesome-copilot create-architectural-decision-record` | Create an Architectural Decision Record (ADR) document for AI-optimized decision documentation. | None |
| [create-github-action-workflow-specification](../skills/create-github-action-workflow-specification/SKILL.md)<br />`gh skills install github/awesome-copilot create-github-action-workflow-specification` | Create a formal specification for an existing GitHub Actions CI/CD workflow, optimized for AI consumption and workflow maintenance. | None |
Expand Down
22 changes: 22 additions & 0 deletions plugins/cowork-converter/.github/plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "cowork-converter",
"version": "1.0.0",
"description": "Convert a GitHub Copilot CLI / Claude Code plugin to a Microsoft 365 Copilot Cowork package (.zip). Handles skill discovery, shared-reference resolution, manifest generation, icon placeholders, validation, and zip packaging.",
"keywords": [
"cowork",
"microsoft-365",
"m365",
"plugin-converter",
"agent-skills",
"copilot"
],
"author": {
"name": "sebastian-sieber",
"url": "https://github.com/sebastian-sieber"
},
"repository": "https://github.com/github/awesome-copilot",
"license": "MIT",
"skills": [
"./skills/cowork-converter/"
]
}
61 changes: 61 additions & 0 deletions plugins/cowork-converter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# cowork-converter

Convert a GitHub Copilot CLI plugin, Claude Code plugin, or any agent-skills directory into a distributable **Microsoft 365 Copilot Cowork package** (`.zip`).

## What it does

Transforms an existing plugin into the M365 Unified App Manifest v1.28 format required by Copilot Cowork:

- Discovers all skills (`SKILL.md` files) from Copilot CLI, Claude Code, or bare-skills layouts
- Validates name/folder match and companion file limits per the Cowork spec
- Resolves shared top-level references into per-skill `references/` folders
- Generates `manifest.json` with `agentSkills[]` entries
- Creates solid-color placeholder icons if none exist (pure stdlib PNG, no dependencies)
- Packages a compliant `.zip` rooted at `manifest.json`
- Prints a per-skill validation report

## Usage

After installing the plugin, ask Copilot:

> *"Convert my plugin at ~/my-plugin to a Cowork package"*
> *"Package these skills as a Cowork zip"*
> *"Build a cowork.zip from this Claude plugin"*

Or run the script directly:

```bash
python skills/cowork-converter/scripts/convert.py \
--source ./my-plugin \
--output ./dist \
--name-short "My Plugin" \
--name-full "My Plugin for Copilot Cowork" \
--description-short "One-line description" \
--description-full "Full description." \
--developer-name "Your Name" \
--website "https://example.com" \
--privacy-url "https://example.com/privacy" \
--terms-url "https://example.com/terms"
```

## Requirements

- Python 3.8+ (standard library only, no third-party packages)

## Output

```
<plugin-name>-cowork/
├── manifest.json
├── color.png # 192×192
├── outline.png # 32×32
└── skills/
└── <skill-name>/
├── SKILL.md
└── references/
<plugin-name>-cowork.zip
```

## Source

Plugin maintained at [sebastian-sieber/cowork-converter](https://github.com/sebastian-sieber/cowork-converter).
Loading
Loading