Awesome-copilot suggest-awesome-github-copilot-instructions
Suggest relevant GitHub Copilot instruction files from the awesome-copilot repository based on current repository context and chat history, avoiding duplicates with existing instructions in this repository, and identifying outdated instructions that need updates.
git clone https://github.com/github/awesome-copilot
T=$(mktemp -d) && git clone --depth=1 https://github.com/github/awesome-copilot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/suggest-awesome-github-copilot-instructions" ~/.claude/skills/github-awesome-copilot-suggest-awesome-github-copilot-instructions-9bdff8 && rm -rf "$T"
skills/suggest-awesome-github-copilot-instructions/SKILL.mdSuggest Awesome GitHub Copilot Instructions
Analyze current repository context and suggest relevant copilot-instruction files from the GitHub awesome-copilot repository that are not already available in this repository.
Process
- Fetch Available Instructions: Extract instruction list and descriptions from awesome-copilot README.instructions.md. Must use
tool.#fetch - Scan Local Instructions: Discover existing instruction files in
folder.github/instructions/ - Extract Descriptions: Read front matter from local instruction files to get descriptions and
patternsapplyTo - Fetch Remote Versions: For each local instruction, fetch the corresponding version from awesome-copilot repository using raw GitHub URLs (e.g.,
)https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename> - Compare Versions: Compare local instruction content with remote versions to identify:
- Instructions that are up-to-date (exact match)
- Instructions that are outdated (content differs)
- Key differences in outdated instructions (description, applyTo patterns, content)
- Analyze Context: Review chat history, repository files, and current project needs
- Compare Existing: Check against instructions already available in this repository
- Match Relevance: Compare available instructions against identified patterns and requirements
- Present Options: Display relevant instructions with descriptions, rationale, and availability status including outdated instructions
- Validate: Ensure suggested instructions would add value not already covered by existing instructions
- Output: Provide structured table with suggestions, descriptions, and links to both awesome-copilot instructions and similar local instructions AWAIT user request to proceed with installation or updates of specific instructions. DO NOT INSTALL OR UPDATE UNLESS DIRECTED TO DO SO.
- Download/Update Assets: For requested instructions, automatically:
- Download new instructions to
folder.github/instructions/ - Update outdated instructions by replacing with latest version from awesome-copilot
- Do NOT adjust content of the files
- Use
tool to download assets, but may use#fetch
usingcurl
tool to ensure all content is retrieved#runInTerminal - Use
tool to track progress#todos
- Download new instructions 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)
- Development workflow requirements (testing, CI/CD, deployment)
🗨️ Chat History Context:
- Recent discussions and pain points
- Technology-specific questions
- Coding standards discussions
- Development workflow requirements
Output Format
Display analysis results in structured table comparing awesome-copilot instructions with existing repository instructions:
| Awesome-Copilot Instruction | Description | Already Installed | Similar Local Instruction | Suggestion Rationale |
|---|---|---|---|---|
| blazor.instructions.md | Blazor development guidelines | ✅ Yes | blazor.instructions.md | Already covered by existing Blazor instructions |
| reactjs.instructions.md | ReactJS development standards | ❌ No | None | Would enhance React development with established patterns |
| java.instructions.md | Java development best practices | ⚠️ Outdated | java.instructions.md | applyTo pattern differs: remote uses vs local - Update recommended |
Local Instructions Discovery Process
- List all
files in the*.instructions.md
directoryinstructions/ - For each discovered file, read front matter to extract
anddescription
patternsapplyTo - Build comprehensive inventory of existing instructions with their applicable file patterns
- Use this inventory to avoid suggesting duplicates
Version Comparison Process
- For each local instruction file, construct the raw GitHub URL to fetch the remote version:
- Pattern:
https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>
- Pattern:
- Fetch the remote version using the
tool#fetch - Compare entire file content (including front matter and body)
- Identify specific differences:
- Front matter changes (description, applyTo patterns)
- Content updates (guidelines, examples, best practices)
- Document key differences for outdated instructions
- Calculate similarity to determine if update is needed
File Structure Requirements
Based on GitHub documentation, copilot-instructions files should be:
- Repository-wide instructions:
(applies to entire repository).github/copilot-instructions.md - Path-specific instructions:
(applies to specific file patterns via.github/instructions/NAME.instructions.md
frontmatter)applyTo - Community instructions:
(for sharing and distribution)instructions/NAME.instructions.md
Front Matter Structure
Instructions files in awesome-copilot use this front matter format:
--- description: 'Brief description of what this instruction provides' applyTo: '**/*.js,**/*.ts' # Optional: glob patterns for file matching ---
Requirements
- Use
tool to get content from awesome-copilot repository instructions foldergithubRepo - Scan local file system for existing instructions in
directory.github/instructions/ - Read YAML front matter from local instruction files to extract descriptions and
patternsapplyTo - Compare local instructions with remote versions to detect outdated instructions
- Compare against existing instructions in this repository to avoid duplicates
- Focus on gaps in current instruction library coverage
- Validate that suggested instructions align with repository's purpose and standards
- Provide clear rationale for each suggestion
- Include links to both awesome-copilot instructions and similar local instructions
- Clearly identify outdated instructions with specific differences noted
- Consider technology stack compatibility and project-specific needs
- 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 instructions 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 file with remote version
- Preserve file location in
directory.github/instructions/