mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
Create new prompt that suggests relevant GitHub Copilot skills from the awesome-copilot repository based on repository context and chat history, following the same pattern as existing suggest prompts for agents, instructions, prompts, and collections. Co-authored-by: NoahJenkins <41129202+NoahJenkins@users.noreply.github.com>
8.0 KiB
8.0 KiB
agent, description, tools
| agent | description | tools | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| agent | Suggest relevant GitHub Copilot skills from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing skills in this repository, and identifying outdated skills that need updates. |
|
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
#fetchtool. - Scan Local Skills: Discover existing skill folders in
.github/skills/folder - Extract Descriptions: Read front matter from local
SKILL.mdfiles to getnameanddescription - Fetch Remote Versions: For each local skill, fetch the corresponding
SKILL.mdfrom 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.mdand any bundled assets (scripts, templates, data files) - Do NOT adjust content of the files
- Use
#fetchtool to download assets, but may usecurlusing#runInTerminaltool to ensure all content is retrieved - Use
#todostool to track progress
- Download new skills to
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.mdfront matter to extractnameanddescription - 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
- Pattern:
- Fetch the remote version using the
#fetchtool - 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
namefield inSKILL.mdfront 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
fetchtool to get content from awesome-copilot repository skills documentation - Use
githubRepotool 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.mdfiles 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