Skip to content

Commit d9b25fa

Browse files
feat: restructure repo as plugin marketplace
Transform the work-iq repo into a plugin marketplace hosting multiple Copilot plugins with standardized metadata and structure. Changes: - Add marketplace registry (.github/plugin/marketplace.json) - Add workiq plugin (MCP server + skill) - Restructure m365-agents-toolkit as a marketplace plugin - Remove agent evaluator skill and all references - Remove TypeSpec/tsp references - Remove security-guidelines, patterns-and-frameworks, common-pitfalls - Flatten references subdirectories into single references/ folder - Merge scaffolding-best-practices into scaffolding-workflow - Merge scaffolding-examples into scaffolding-workflow - Rewrite conversation-design based on official MS docs - Slim SKILL.md from 409 to 139 lines, extract workspace-gates reference - Use real ATK VS Code extension ID instead of temp VSIX URL - Replace atk validate --file with atk validate - Remove all Python/JSON.parse validation references - Rewrite root README as marketplace landing page - Add CONTRIBUTING.md for plugin authors Co-authored-by: Copilot <[email protected]>
1 parent 9f3ba7c commit d9b25fa

File tree

19 files changed

+3937
-117
lines changed

19 files changed

+3937
-117
lines changed

.github/plugin/marketplace.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "work-iq",
3+
"metadata": {
4+
"version": "1.0.0",
5+
"description": "The official Microsoft Work IQ plugin collection"
6+
},
7+
"owner": {
8+
"name": "Microsoft"
9+
},
10+
"plugins": [
11+
{
12+
"name": "workiq",
13+
"source": "./plugins/workiq",
14+
"version": "1.0.0",
15+
"description": "Query Microsoft 365 data with natural language — emails, meetings, documents, Teams messages, and more.",
16+
"skills": [
17+
"./plugins/workiq/skills/workiq"
18+
]
19+
},
20+
{
21+
"name": "m365-agents-toolkit",
22+
"source": "./plugins/m365-agents-toolkit",
23+
"version": "1.0.0",
24+
"description": "Toolkit for building Microsoft 365 Copilot declarative agents — scaffolding, JSON manifest development, and capability configuration.",
25+
"skills": [
26+
"./plugins/m365-agents-toolkit/skills/install-atk",
27+
"./plugins/m365-agents-toolkit/skills/m365-agent-developer"
28+
]
29+
}
30+
]
31+
}

CONTRIBUTING.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Contributing to Work IQ Plugins
2+
3+
Thank you for your interest in contributing to the Work IQ plugin collection! This document provides guidelines for adding new plugins and improving existing ones.
4+
5+
## 🔌 Plugin Structure
6+
7+
Each plugin lives in `plugins/{plugin-name}/` and follows this structure:
8+
9+
```
10+
plugins/{plugin-name}/
11+
├── .mcp.json # MCP server configuration
12+
├── README.md # Plugin overview and installation
13+
└── skills/
14+
└── {skill-name}/
15+
├── SKILL.md # Skill metadata and documentation
16+
└── references/ # Optional: supporting docs, guides, patterns
17+
```
18+
19+
### Required Files
20+
21+
| File | Purpose |
22+
|------|---------|
23+
| `.mcp.json` | Defines the MCP server(s) the plugin exposes |
24+
| `README.md` | Human-readable plugin documentation |
25+
| `skills/{name}/SKILL.md` | Skill definition with YAML frontmatter (`name`, `description`) |
26+
27+
### Marketplace Registry
28+
29+
All plugins must be registered in `.github/plugin/marketplace.json`. Add your plugin entry:
30+
31+
```json
32+
{
33+
"name": "your-plugin",
34+
"source": "./plugins/your-plugin",
35+
"version": "1.0.0",
36+
"description": "What your plugin does",
37+
"skills": ["./plugins/your-plugin/skills/your-skill"]
38+
}
39+
```
40+
41+
## 🚀 Adding a New Plugin
42+
43+
1. **Fork** the repository and create a feature branch
44+
2. **Create** your plugin directory under `plugins/`
45+
3. **Add** the required files (`.mcp.json`, `README.md`, `skills/*/SKILL.md`)
46+
4. **Register** your plugin in `.github/plugin/marketplace.json`
47+
5. **Update** the root `README.md` plugin table
48+
6. **Submit** a pull request
49+
50+
## 📝 Writing a Good SKILL.md
51+
52+
Your `SKILL.md` should include:
53+
54+
- **YAML frontmatter** with `name` and `description`
55+
- **When to use** section with concrete examples
56+
- **MCP tool documentation** with parameters and examples
57+
- **Prerequisites** if any
58+
59+
```markdown
60+
---
61+
name: your-skill
62+
description: One-line description of what this skill does.
63+
---
64+
65+
# Your Skill Name
66+
67+
Description of the skill and its purpose.
68+
69+
## When to Use
70+
71+
Use this skill when the user asks about...
72+
73+
## MCP Tool
74+
75+
### `tool_name`
76+
77+
Description and parameters...
78+
```
79+
80+
## 🧪 Testing
81+
82+
- Verify your `.mcp.json` is valid JSON
83+
- Test your MCP server starts correctly
84+
- Ensure your skill documentation is accurate
85+
86+
## 📋 Pull Request Checklist
87+
88+
- [ ] Plugin directory created under `plugins/`
89+
- [ ] `.mcp.json` with valid MCP server configuration
90+
- [ ] `README.md` with installation instructions
91+
- [ ] `SKILL.md` with YAML frontmatter and documentation
92+
- [ ] Plugin registered in `.github/plugin/marketplace.json`
93+
- [ ] Root `README.md` updated with new plugin entry
94+
95+
## Code of Conduct
96+
97+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
98+
99+
## License
100+
101+
By contributing, you agree that your contributions will be licensed under the project's existing license terms.

README.md

Lines changed: 58 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,37 @@
1-
# Microsoft Work IQ (Public Preview)
1+
# Microsoft Work IQ — Plugin Marketplace
22

3-
> Query your Microsoft 365 data with natural language — emails, meetings, documents, Teams messages, and more.
3+
> The official Microsoft Work IQ plugin collection for GitHub Copilot ✨
44
5-
[![npm version](https://img.shields.io/npm/v/@microsoft/workiq)](https://www.npmjs.com/package/@microsoft/workiq)
5+
Extend the power of GitHub Copilot with Work IQ plugins — MCP servers, skills, and tools that connect AI assistants to your Microsoft 365 data.
66

7-
The WorkIQ CLI and MCP (Model Context Protocol) server connects AI assistants to your Microsoft 365 Copilot data. Ask questions like *"What did my manager say about the project deadline?"* or *"Find my recent documents about Q4 planning."*
7+
> ⚠️ **Public Preview:** Features and APIs may change.
88
9-
To access Microsoft 365 tenant data, the WorkIQ CLI and MCP Server need to be consented to permissions that require administrative rights on the tenant. The WorkIQ client application will present a consent dialog on first access. If you are not a tenant administrator, you will need to contact them to provide access. This [User and Admin Consent Overview](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/user-admin-consent-overview) page provides more details about consenting applications access to M365 data.
9+
---
1010

11-
> ⚠️ **Public Preview:** Features and APIs may change.
11+
## 🔌 What's Inside
12+
13+
| Plugin | Description |
14+
|--------|-------------|
15+
| [**workiq**](./plugins/workiq/) | Query Microsoft 365 data with natural language — emails, meetings, documents, Teams messages, and more. |
16+
| [**m365-agents-toolkit**](./plugins/m365-agents-toolkit/) | Toolkit for building M365 Copilot declarative agents — scaffolding, manifest authoring, and capability configuration. |
1217

1318
---
1419

1520
## 🚀 Quick Start with GitHub Copilot CLI
1621

17-
The fastest way to get started is with GitHub Copilot CLI:
18-
1922
```bash
2023
# 1. Open GitHub Copilot CLI
2124
copilot
2225

23-
# 2. Add the plugins marketplace (one-time setup)
24-
/plugin marketplace add github/copilot-plugins
26+
# 2. Add this plugin marketplace (one-time setup)
27+
/plugin marketplace add microsoft/work-iq
2528

26-
# 3. Install WorkIQ
27-
/plugin install workiq@copilot-plugins
29+
# 3. Install any plugin
30+
/plugin install workiq@work-iq
31+
/plugin install m365-agents-toolkit@work-iq
2832
```
2933

30-
**That's it!** Restart Copilot CLI and start querying your M365 data:
34+
**That's it!** Restart Copilot CLI and start using the plugin:
3135

3236
```
3337
You: What are my upcoming meetings this week?
@@ -37,135 +41,72 @@ You: Find documents I worked on yesterday
3741

3842
---
3943

40-
## 📦 Alternative: Standalone Installation
44+
## 📦 Alternative: Standalone MCP Installation
4145

4246
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=workiq&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40microsoft%2Fworkiq%22%2C%22mcp%22%5D%7D)
4347
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=workiq&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40microsoft%2Fworkiq%22%2C%22mcp%22%5D%7D&quality=insiders)
4448

45-
If you prefer to run WorkIQ as a standalone MCP server:
46-
47-
```bash
48-
# Install globally
49-
npm install -g @microsoft/workiq
50-
51-
# Run the MCP server
52-
workiq mcp
53-
```
54-
55-
Or use npx without installing:
56-
57-
```bash
58-
npx -y @microsoft/workiq mcp
59-
```
60-
61-
Or add it as a MCP server in your coding agent or IDE:
49+
Each plugin can also be used as a standalone MCP server. See the plugin's own README for configuration:
6250

6351
```json
6452
{
6553
"workiq": {
6654
"command": "npx",
67-
"args": [
68-
"-y",
69-
"@microsoft/workiq",
70-
"mcp"
71-
],
72-
"tools": [
73-
"*"
74-
]
55+
"args": ["-y", "@microsoft/workiq@latest", "mcp"],
56+
"tools": ["*"]
7557
}
7658
}
7759
```
7860

7961
---
8062

81-
## 🎯 What You Can Query
82-
83-
| Data Type | Example Questions |
84-
|-----------|-------------------|
85-
| **Emails** | "What did John say about the proposal?" |
86-
| **Meetings** | "What's on my calendar tomorrow?" |
87-
| **Documents** | "Find my recent PowerPoint presentations" |
88-
| **Teams** | "Summarize today's messages in the Engineering channel" |
89-
| **People** | "Who is working on Project Alpha?" |
90-
91-
---
92-
93-
## 📖 CLI Reference
94-
95-
### Commands
96-
97-
| Command | Description |
98-
|---------|-------------|
99-
| `workiq accept-eula` | Accept the End User License Agreement (EULA) |
100-
| `workiq ask` | Ask a question to a specific agent or run in interactive mode |
101-
| `workiq mcp` | Start MCP stdio server for agent communication |
102-
| `workiq version` | Show version information |
63+
## 🗂️ Repository Structure
10364

104-
### Global Options
105-
106-
| Option | Description | Default |
107-
|--------|-------------|---------|
108-
| `-p, --protocol <protocol>` | Protocol to use | `rest` |
109-
| `-t, --tenant-id <tenant-id>` | The Entra tenant ID to use for authentication | `common` |
110-
| `--version` | Show version information | |
111-
| `-?, -h, --help` | Show help and usage information | |
112-
113-
### `workiq ask` Options
114-
115-
| Option | Description |
116-
|--------|-------------|
117-
| `-q, --question <question>` | The question to ask the agent |
118-
119-
### Examples
120-
121-
```bash
122-
# Accept the EULA (required on first use)
123-
workiq accept-eula
124-
125-
# Interactive mode
126-
workiq ask
127-
128-
# Ask a specific question
129-
workiq ask -q "What meetings do I have tomorrow?"
130-
131-
# Use a specific tenant
132-
workiq ask -t "your-tenant-id" -q "Show my emails"
133-
134-
# Start MCP server
135-
workiq mcp
13665
```
137-
138-
---
139-
140-
## Platform Support
141-
142-
The WorkIQ CLI and MCP Server is supported on `win_x64`, `win_arm64`, `linux_x64`, `linux_arm64`, `osx_x64` and `osx_arm64`. It is also supported in WSL as long as WSL is able to launch a browser to enable sign-in.
143-
144-
One way to install browser support on WSL is with the following commands:
145-
146-
```bash
147-
sudo apt install xdg-utils
148-
sudo apt install wslu
66+
work-iq/
67+
├── .github/
68+
│ └── plugin/
69+
│ └── marketplace.json # Central plugin registry
70+
├── plugins/
71+
│ ├── workiq/ # Work IQ plugin
72+
│ │ ├── .mcp.json # MCP server configuration
73+
│ │ ├── README.md # Plugin documentation
74+
│ │ └── skills/
75+
│ │ └── workiq/
76+
│ │ └── SKILL.md # Skill definition
77+
│ └── m365-agents-toolkit/ # M365 Agents Toolkit plugin
78+
│ ├── README.md # Plugin documentation
79+
│ ├── agents/
80+
│ │ └── m365-agents-toolkit.md # Agent orchestrator
81+
│ └── skills/
82+
│ ├── install-atk/
83+
│ │ └── SKILL.md # ATK install skill
84+
│ └── m365-agent-developer/
85+
│ ├── SKILL.md # Developer skill
86+
│ └── references/ # Guides, schemas, examples
87+
├── CONTRIBUTING.md # How to add a plugin
88+
├── README.md # This file
89+
├── LICENSE
90+
└── SECURITY.md
14991
```
15092

151-
## Contributing
93+
---
15294

153-
The command-line tool and MCP server documented in this repository are **not open source**.
154-
Their implementations are maintained internally, and source code contributions are not accepted.
95+
## 🤝 Contributing
15596

156-
This repository is intentionally public to support **documentation, transparency, and feedback**.
157-
We encourage the community to use this repo to:
97+
We welcome new plugins! See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full guide. In short:
15898

159-
- Provide feedback on the documented behavior and APIs
160-
- Suggest features or product improvements
161-
- Share insights on developer experience or integration scenarios
99+
1. Create your plugin under `plugins/{your-plugin}/`
100+
2. Add `.mcp.json`, `README.md`, and `skills/{name}/SKILL.md`
101+
3. Register it in `.github/plugin/marketplace.json`
102+
4. Submit a pull request
162103

163-
Please use GitHub Issues to engage. While the runtime implementation is proprietary, community input here directly informs the product’s direction.
104+
---
164105

165106
## 📄 License
166107

167-
By using this package, you accept the license agreement. See [NOTICES.TXT](https://github.com/microsoft/work-iq-mcp) and EULA within the package for legal terms.
108+
By using this package, you accept the license agreement. See [NOTICES.TXT](./NOTICES.TXT) and EULA within the package for legal terms.
168109

169-
## Trademarks
110+
## Trademarks
170111

171-
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsofts Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-partys policies.
112+
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# M365 Agents Toolkit
2+
3+
Toolkit for building Microsoft 365 Copilot declarative agents.
4+
5+
## Installation
6+
7+
### Via GitHub Copilot CLI Plugin Marketplace
8+
9+
```bash
10+
/plugin install m365-agents-toolkit@work-iq
11+
```
12+
13+
## Usage
14+
15+
```
16+
# Develop an agent
17+
"Scaffold a new declarative agent for HR FAQ"
18+
19+
# Configure capabilities
20+
"Add web search to my agent"
21+
22+
# Deploy
23+
"Deploy my agent with ATK"
24+
```
25+
26+
## Skills
27+
28+
| Skill | What It Does |
29+
|-------|-------------|
30+
| [**install-atk**](./skills/install-atk/SKILL.md) | Install or update the ATK CLI and VS Code extension |
31+
| [**m365-agent-developer**](./skills/m365-agent-developer/SKILL.md) | Scaffolding, JSON manifest authoring, capability configuration, security patterns, deployment via ATK CLI |
32+
33+
## License
34+
35+
See the root [LICENSE](../../LICENSE) file.

0 commit comments

Comments
 (0)