Suggest Awesome GitHub Copilot Skills
Analyze current repository context and suggest relevant Agent Skills from the GitHub awesome-copilot repository that are not already available in this repository. Agent Skills are self-contained folders located in the skills folder of the awesome-copilot repository, each containing a SKILL.md file with instructions and optional bundled assets.
Process
- Fetch Available Skills: Extract skills list and descriptions from awesome-copilot README.skills.md. Must use
#fetch tool.
- Scan Local Skills: Discover existing skill folders in
.github/skills/ folder
- Extract Descriptions: Read front matter from local
SKILL.md files to get name and description
- Fetch Remote Versions: For each local skill, fetch the corresponding
SKILL.md from awesome-copilot repository using raw GitHub URLs (e.g., https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md)
- Compare Versions: Compare local skill content with remote versions to identify:
- Skills that are up-to-date (exact match)
- Skills that are outdated (content differs)
- Key differences in outdated skills (description, instructions, bundled assets)
- Analyze Context: Review chat history, repository files, and current project needs
- Compare Existing: Check against skills already available in this repository
- Match Relevance: Compare available skills against identified patterns and requirements
- Present Options: Display relevant skills with descriptions, rationale, and availability status including outdated skills
- Validate: Ensure suggested skills would add value not already covered by existing skills
- Output: Provide structured table with suggestions, descriptions, and links to both awesome-copilot skills and similar local skills
AWAIT user request to proceed with installation or updates of specific skills. DO NOT INSTALL OR UPDATE UNLESS DIRECTED TO DO SO.
- Download/Update Assets: For requested skills, automatically:
- Download new skills to
.github/skills/ folder, preserving the folder structure
- Update outdated skills by replacing with latest version from awesome-copilot
- Download both
SKILL.md and any bundled assets (scripts, templates, data files)
- Do NOT adjust content of the files
- Use
#fetch tool to download assets, but may use curl using #runInTerminal tool to ensure all content is retrieved
- Use
#todos tool to track progress
Context Analysis Criteria
š Repository Patterns:
- Programming languages used (.cs, .js, .py, .ts, etc.)
- Framework indicators (ASP.NET, React, Azure, Next.js, etc.)
- Project types (web apps, APIs, libraries, tools, infrastructure)
- Development workflow requirements (testing, CI/CD, deployment)
- Infrastructure and cloud providers (Azure, AWS, GCP)
šØļø Chat History Context:
- Recent discussions and pain points
- Feature requests or implementation needs
- Code review patterns
- Development workflow requirements
- Specialized task needs (diagramming, evaluation, deployment)
Output Format
Display analysis results in structured table comparing awesome-copilot skills with existing repository skills:
| Awesome-Copilot Skill | Description | Bundled Assets | Already Installed | Similar Local Skill | Suggestion Rationale |
|---|
| gh-cli | GitHub CLI skill for managing repositories and workflows | None | ā No | None | Would enhance GitHub workflow automation capabilities |
| aspire | Aspire skill for distributed application development | 9 reference files | ā
Yes | aspire | Already covered by existing Aspire skill |
| terraform-azurerm-set-diff-analyzer | Analyze Terraform AzureRM provider changes | Reference files | ā ļø Outdated | terraform-azurerm-set-diff-analyzer | Instructions updated with new validation patterns - Update recommended |
Local Skills Discovery Process
- List all folders in
.github/skills/ directory
- For each folder, read
SKILL.md front matter to extract name and description
- List any bundled assets within each skill folder
- Build comprehensive inventory of existing skills with their capabilities
- Use this inventory to avoid suggesting duplicates
Version Comparison Process
- For each local skill folder, construct the raw GitHub URL to fetch the remote
SKILL.md:
- Pattern:
https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
- Fetch the remote version using the
#fetch tool
- Compare entire file content (including front matter and body)
- Identify specific differences:
- Front matter changes (name, description)
- Instruction updates (guidelines, examples, best practices)
- Bundled asset changes (new, removed, or modified assets)
- Document key differences for outdated skills
- Calculate similarity to determine if update is needed
Skill Structure Requirements
Based on the Agent Skills specification, each skill is a folder containing:
SKILL.md: Main instruction file with front matter (name, description) and detailed instructions
- Optional bundled assets: Scripts, templates, reference data, and other files referenced from
SKILL.md
- Folder naming: Lowercase with hyphens (e.g.,
azure-deployment-preflight)
- Name matching: The
name field in SKILL.md front matter must match the folder name
Front Matter Structure
Skills in awesome-copilot use this front matter format in SKILL.md:
---
name: 'skill-name'
description: 'Brief description of what this skill provides and when to use it'
---
Requirements
- Use
fetch tool to get content from awesome-copilot repository skills documentation
- Use
githubRepo tool to get individual skill content for download
- Scan local file system for existing skills in
.github/skills/ directory
- Read YAML front matter from local
SKILL.md files to extract names and descriptions
- Compare local skills with remote versions to detect outdated skills
- Compare against existing skills in this repository to avoid duplicates
- Focus on gaps in current skill library coverage
- Validate that suggested skills align with repository's purpose and technology stack
- Provide clear rationale for each suggestion
- Include links to both awesome-copilot skills and similar local skills
- Clearly identify outdated skills with specific differences noted
- Consider bundled asset requirements and compatibility
- Don't provide any additional information or context beyond the table and the analysis
Icons Reference
- ā
Already installed and up-to-date
- ā ļø Installed but outdated (update available)
- ā Not installed in repo
Update Handling
When outdated skills are identified:
- Include them in the output table with ā ļø status
- Document specific differences in the "Suggestion Rationale" column
- Provide recommendation to update with key changes noted
- When user requests update, replace entire local skill folder with remote version
- Preserve folder location in
.github/skills/ directory
- Ensure all bundled assets are downloaded alongside the updated
SKILL.md