* initial prototype of partners collection with featured collection support * Starting to add the partners * Preparing the repo for how the custom agents will work * moving some files around * Moving a bunch of stuff around to make the file easier to read * improving the front matter parsing by using a real library * Some verbage updates * some more verbage * Fixing spelling mistake * tweaking badges * Updating contributing guide to be correct * updating casing to match product * More agents * Better handling link to mcp registry * links to install mcp servers fixed up * Updating collection tags * writing the mcp registry url out properly * Adding custom agents for C# and WinForms Expert custom agents to improve your experience when working with C# and WinForms in Copilot * Adding to agents readme * Adding PagerDuty agent * Fixing description for terraform agent * Adding custom agents to the README usage * Removing the button to make the links more obvious * docs: relocate category READMEs to /docs and update generation + internal links * Updating prompts for new path * formatting --------- Co-authored-by: Chris Patterson <chrispat@github.com>
82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# Collections Template
|
|
|
|
Use this template to create a new collection of related prompts, instructions, and chat modes.
|
|
|
|
## Basic Template
|
|
|
|
```yaml
|
|
id: my-collection-id
|
|
name: My Collection Name
|
|
description: A brief description of what this collection provides and who should use it.
|
|
tags: [tag1, tag2, tag3] # Optional discovery tags
|
|
items:
|
|
- path: prompts/my-prompt.prompt.md
|
|
kind: prompt
|
|
- path: instructions/my-instructions.instructions.md
|
|
kind: instruction
|
|
- path: chatmodes/my-chatmode.chatmode.md
|
|
kind: chat-mode
|
|
display:
|
|
ordering: alpha # or "manual" to preserve order above
|
|
show_badge: false # set to true to show collection badge
|
|
```
|
|
|
|
## Field Descriptions
|
|
|
|
- **id**: Unique identifier using lowercase letters, numbers, and hyphens only
|
|
- **name**: Display name for the collection
|
|
- **description**: Brief explanation of the collection's purpose (1-500 characters)
|
|
- **tags**: Optional array of discovery tags (max 10, each 1-30 characters)
|
|
- **items**: Array of items in the collection (1-50 items)
|
|
- **path**: Relative path from repository root to the file
|
|
- **kind**: Must be `prompt`, `instruction`, or `chat-mode`
|
|
- **display**: Optional display settings
|
|
- **ordering**: `alpha` (alphabetical) or `manual` (preserve order)
|
|
- **show_badge**: Show collection badge on items (true/false)
|
|
|
|
## Creating a New Collection
|
|
|
|
### Using VS Code Tasks
|
|
1. Press `Ctrl+Shift+P` (or `Cmd+Shift+P` on Mac)
|
|
2. Type "Tasks: Run Task"
|
|
3. Select "create-collection"
|
|
4. Enter your collection ID when prompted
|
|
|
|
### Using Command Line
|
|
```bash
|
|
node create-collection.js my-collection-id
|
|
```
|
|
|
|
### Manual Creation
|
|
1. Create `collections/my-collection-id.collection.yml`
|
|
2. Use the template above as starting point
|
|
3. Add your items and customize settings
|
|
4. Run `npm run validate:collections` to validate
|
|
5. Run `npm start` to generate documentation
|
|
|
|
## Validation
|
|
|
|
Collections are automatically validated to ensure:
|
|
- Required fields are present and valid
|
|
- File paths exist and match the item kind
|
|
- IDs are unique across collections
|
|
- Tags and display settings follow the schema
|
|
|
|
Run validation manually:
|
|
```bash
|
|
npm run validate:collections
|
|
```
|
|
|
|
## File Organization
|
|
|
|
Collections don't require reorganizing existing files. Items can be located anywhere in the repository as long as the paths are correct in the manifest.
|
|
|
|
## Best Practices
|
|
|
|
1. **Meaningful Collections**: Group items that work well together for a specific workflow or use case
|
|
2. **Clear Naming**: Use descriptive names and IDs that reflect the collection's purpose
|
|
3. **Good Descriptions**: Explain who should use the collection and what benefit it provides
|
|
4. **Relevant Tags**: Add discovery tags that help users find related collections
|
|
5. **Reasonable Size**: Keep collections focused - typically 3-10 items work well
|
|
6. **Test Items**: Ensure all referenced files exist and are functional before adding to a collection
|