mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 10:25:13 +00:00
Replace Collections with Plugins as first-class citizens in the repo. With the Copilot CLI v0.409 release making plugins an on-by-default marketplace, collections are redundant overhead. ## What changed ### Plugin Infrastructure - Created eng/validate-plugins.mjs (replaces validate-collections.mjs) - Created eng/create-plugin.mjs (replaces create-collection.mjs) - Enhanced all 42 plugin.json files with tags, featured, display, and items metadata from their corresponding collection.yml files ### Build & Website - Updated eng/update-readme.mjs to generate plugin docs - Updated eng/generate-website-data.mjs to emit plugins.json with full items array for modal rendering - Renamed website collections page to plugins (/plugins/) - Fixed plugin modal to use <div> instead of <pre> for proper styling - Updated README.md featured section from Collections to Plugins ### Documentation & CI - Updated CONTRIBUTING.md, AGENTS.md, copilot-instructions.md, PR template - Updated CI workflows to validate plugins instead of collections - Replaced docs/README.collections.md with docs/README.plugins.md ### Cleanup - Removed eng/validate-collections.mjs, eng/create-collection.mjs, eng/collection-to-plugin.mjs - Removed entire collections/ directory (41 .collection.yml + .md files) - Removed parseCollectionYaml from yaml-parser.mjs - Removed COLLECTIONS_DIR from constants.mjs Closes #711
3.2 KiB
3.2 KiB
The following instructions are only to be applied when performing a code review.
README updates
- The new file should be added to the
docs/README.<type>.md.
Prompt file guide
Only apply to files that end in .prompt.md
- The prompt has markdown front matter.
- The prompt has a
agentfield specified of eitheragent,ask, orPlan. - The prompt has a
descriptionfield. - The
descriptionfield is not empty. - The file name is lower case, with words separated by hyphens.
- Encourage the use of
tools, but it's not required. - Strongly encourage the use of
modelto specify the model that the prompt is optimised for. - Strongly encourage the use of
nameto set the name for the prompt.
Instruction file guide
Only apply to files that end in .instructions.md
- The instruction has markdown front matter.
- The instruction has a
descriptionfield. - The
descriptionfield is not empty. - The file name is lower case, with words separated by hyphens.
- The instruction has an
applyTofield that specifies the file or files to which the instructions apply. If they wish to specify multiple file paths they should formatted like'**.js, **.ts'.
Agent file guide
Only apply to files that end in .agent.md
- The agent has markdown front matter.
- The agent has a
descriptionfield. - The
descriptionfield is not empty. - The file name is lower case, with words separated by hyphens.
- Encourage the use of
tools, but it's not required. - Strongly encourage the use of
modelto specify the model that the agent is optimised for. - Strongly encourage the use of
nameto set the name for the agent.
Agent Skills guide
Only apply to folders in the skills/ directory
- The skill folder contains a
SKILL.mdfile. - The SKILL.md has markdown front matter.
- The SKILL.md has a
namefield. - The
namefield value is lowercase with words separated by hyphens. - The
namefield matches the folder name. - The SKILL.md has a
descriptionfield. - The
descriptionfield is not empty, at least 10 characters, and maximum 1024 characters. - The
descriptionfield value is wrapped in single quotes. - The folder name is lower case, with words separated by hyphens.
- Any bundled assets (scripts, templates, data files) are referenced in the SKILL.md instructions.
- Bundled assets are reasonably sized (under 5MB per file).
Plugin guide
Only apply to directories in the plugins/ directory
- The plugin directory contains a
.github/plugin/plugin.jsonfile. - The plugin directory contains a
README.mdfile. - The plugin.json has a
namefield matching the directory name. - The plugin.json has a
descriptionfield. - The
descriptionfield is not empty. - The directory name is lower case, with words separated by hyphens.
- If
tagsis present, it is an array of lowercase hyphenated strings. - If
itemsis present, each item haspathandkindfields. - The
kindfield value is one of:prompt,agent,instruction,skill, orhook. - The plugin does not reference non-existent files.