-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat: Add project analyzer tools for discovering relevant awesome-cop… #498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…ilot resources - Add tool-advisor.agent.md: Expert advisor chat mode that recommends tools based on project analysis - Add analyze-project-for-copilot-tools.prompt.md: Prompt to scan workspace and map technologies to tools - Add overview.html: Interactive visual dashboard showing repository contents These tools help users discover which of the 400+ resources are relevant to their specific projects by analyzing their tech stack.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds project analyzer tools to help developers discover which of the 400+ awesome-copilot resources are relevant to their specific projects. The tools analyze project technology stacks and recommend appropriate agents, prompts, and instructions.
Key Changes
- New expert advisor agent that analyzes projects and recommends relevant tools based on detected technologies
- New prompt for automated project scanning and tool mapping
- Interactive HTML dashboard providing visual overview of repository contents
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| agents/tool-advisor.agent.md | Adds expert advisor chat mode that helps users discover and install relevant tools |
| prompts/analyze-project-for-copilot-tools.prompt.md | Adds automated project analysis prompt that scans workspace and maps technologies to tools |
| overview.html | Adds interactive visual dashboard with repository statistics, architecture diagram, and quick reference |
| docs/README.agents.md | Updates agent documentation table with new tool-advisor entry |
| docs/README.prompts.md | Updates prompts documentation table with new analyze-project entry |
overview.html
Outdated
| <span class="stat-number">122+</span> | ||
| <span class="stat-label">Custom Agents</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">125+</span> | ||
| <span class="stat-label">Prompts</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">145+</span> | ||
| <span class="stat-label">Instructions</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">2+</span> | ||
| <span class="stat-label">Collections</span> | ||
| </div> |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The stats bar contains hardcoded numbers (122+, 125+, 145+, 2+) that will quickly become outdated as the repository grows. Consider either generating this HTML file dynamically from a script that counts actual files, or add a comment indicating these numbers need manual updates when new resources are added.
overview.html
Outdated
| <div class="count">122+ specialized modes</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .agent.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card prompts"> | ||
| <div class="icon">💬</div> | ||
| <h3>Prompts</h3> | ||
| <div class="count">125+ task templates</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .prompt.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card instructions"> | ||
| <div class="icon">📋</div> | ||
| <h3>Instructions</h3> | ||
| <div class="count">145+ coding standards</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .instructions.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card collections"> | ||
| <div class="icon">📦</div> | ||
| <h3>Collections</h3> | ||
| <div class="count">Curated bundles</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| Themed groups | ||
| </div> | ||
| </div> | ||
| </div> |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple sections throughout this HTML file contain hardcoded resource counts that duplicate the counts in the stats bar. These will need to be manually kept in sync with the repository's actual content. Consider consolidating these numbers or documenting a maintenance process.
overview.html
Outdated
| <div class="count">25+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">💜</div> | ||
| <div class="name">.NET / C#</div> | ||
| <div class="count">20+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🟦</div> | ||
| <div class="name">TypeScript</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🐍</div> | ||
| <div class="name">Python</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">☕</div> | ||
| <div class="name">Java</div> | ||
| <div class="count">12+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">⚛️</div> | ||
| <div class="name">React</div> | ||
| <div class="count">10+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🔷</div> | ||
| <div class="name">Terraform</div> | ||
| <div class="count">8+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">💪</div> | ||
| <div class="name">Bicep</div> | ||
| <div class="count">6+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🔌</div> | ||
| <div class="name">MCP Servers</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🗄️</div> | ||
| <div class="name">Databases</div> | ||
| <div class="count">10+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">⚡</div> | ||
| <div class="name">Power Platform</div> | ||
| <div class="count">20+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🚀</div> | ||
| <div class="name">DevOps/CI-CD</div> | ||
| <div class="count">10+ resources</div> |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The technology coverage section also contains hardcoded resource counts for each technology. These numbers will need manual updates as new resources are added to the repository.
| <div class="count">25+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">💜</div> | |
| <div class="name">.NET / C#</div> | |
| <div class="count">20+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🟦</div> | |
| <div class="name">TypeScript</div> | |
| <div class="count">15+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🐍</div> | |
| <div class="name">Python</div> | |
| <div class="count">15+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">☕</div> | |
| <div class="name">Java</div> | |
| <div class="count">12+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">⚛️</div> | |
| <div class="name">React</div> | |
| <div class="count">10+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🔷</div> | |
| <div class="name">Terraform</div> | |
| <div class="count">8+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">💪</div> | |
| <div class="name">Bicep</div> | |
| <div class="count">6+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🔌</div> | |
| <div class="name">MCP Servers</div> | |
| <div class="count">15+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🗄️</div> | |
| <div class="name">Databases</div> | |
| <div class="count">10+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">⚡</div> | |
| <div class="name">Power Platform</div> | |
| <div class="count">20+ resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🚀</div> | |
| <div class="name">DevOps/CI-CD</div> | |
| <div class="count">10+ resources</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">💜</div> | |
| <div class="name">.NET / C#</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🟦</div> | |
| <div class="name">TypeScript</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🐍</div> | |
| <div class="name">Python</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">☕</div> | |
| <div class="name">Java</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">⚛️</div> | |
| <div class="name">React</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🔷</div> | |
| <div class="name">Terraform</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">💪</div> | |
| <div class="name">Bicep</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🔌</div> | |
| <div class="name">MCP Servers</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🗄️</div> | |
| <div class="name">Databases</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">⚡</div> | |
| <div class="name">Power Platform</div> | |
| <div class="count">Multiple resources</div> | |
| </div> | |
| <div class="tech-card"> | |
| <div class="icon">🚀</div> | |
| <div class="name">DevOps/CI-CD</div> | |
| <div class="count">Multiple resources</div> |
agents/tool-advisor.agent.md
Outdated
| --- | ||
| description: 'Expert assistant that helps users discover, select, and install the right awesome-copilot tools for their projects' | ||
| tools: ['codebase', 'terminalLastCommand', 'githubRepo'] | ||
| --- |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The agent file frontmatter is missing the optional but strongly encouraged 'model' field. Consider adding a 'model' field to specify which AI model this agent is optimized for (e.g., 'gpt-5', 'gpt-4o', etc.).
| --- | ||
| mode: 'agent' | ||
| description: 'Analyze your project to discover and recommend relevant tools from awesome-copilot based on detected technologies' | ||
| tools: ['codebase', 'terminalLastCommand', 'githubRepo'] | ||
| --- |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prompt file frontmatter is missing the optional but strongly encouraged 'model' field. Consider adding a 'model' field to specify which AI model this prompt is optimized for.
agents/tool-advisor.agent.md
Outdated
| - All 120+ agents in the repository and when to use each | ||
| - All 125+ prompts and their specific use cases | ||
| - All 145+ instruction files and which file patterns they apply to |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded numbers for repository contents (120+ agents, 125+ prompts, 145+ instructions) will become outdated as the repository grows. Consider using placeholder text like "all agents" or documenting that these need manual updates.
| - All 120+ agents in the repository and when to use each | |
| - All 125+ prompts and their specific use cases | |
| - All 145+ instruction files and which file patterns they apply to | |
| - All agents in the repository and when to use each | |
| - All prompts and their specific use cases | |
| - All instruction files and which file patterns they apply to |
| @@ -0,0 +1,103 @@ | |||
| --- | |||
| mode: 'agent' | |||
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The frontmatter field should be 'agent' not 'mode'. According to the repository conventions in CONTRIBUTING.md, prompt files use 'agent' as the field name to specify the mode (see example in create-readme.prompt.md which uses 'agent: 'agent'').
overview.html
Outdated
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="UTF-8"> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| <title>🤖 Awesome GitHub Copilot - Visual Overview</title> | ||
| <style> | ||
| :root { | ||
| --primary: #238636; | ||
| --primary-dark: #1a7f37; | ||
| --secondary: #58a6ff; | ||
| --accent: #f78166; | ||
| --purple: #a371f7; | ||
| --bg-dark: #0d1117; | ||
| --bg-card: #161b22; | ||
| --bg-hover: #21262d; | ||
| --border: #30363d; | ||
| --text: #e6edf3; | ||
| --text-muted: #8b949e; | ||
| } | ||
|
|
||
| * { | ||
| margin: 0; | ||
| padding: 0; | ||
| box-sizing: border-box; | ||
| } | ||
|
|
||
| body { | ||
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif; | ||
| background: var(--bg-dark); | ||
| color: var(--text); | ||
| line-height: 1.6; | ||
| min-height: 100vh; | ||
| } | ||
|
|
||
| .container { | ||
| max-width: 1400px; | ||
| margin: 0 auto; | ||
| padding: 2rem; | ||
| } | ||
|
|
||
| /* Header */ | ||
| header { | ||
| text-align: center; | ||
| padding: 3rem 0; | ||
| background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-dark) 100%); | ||
| border-bottom: 1px solid var(--border); | ||
| margin-bottom: 3rem; | ||
| } | ||
|
|
||
| header h1 { | ||
| font-size: 3rem; | ||
| margin-bottom: 1rem; | ||
| background: linear-gradient(90deg, var(--primary), var(--secondary), var(--purple)); | ||
| -webkit-background-clip: text; | ||
| -webkit-text-fill-color: transparent; | ||
| background-clip: text; | ||
| } | ||
|
|
||
| header p { | ||
| font-size: 1.25rem; | ||
| color: var(--text-muted); | ||
| max-width: 700px; | ||
| margin: 0 auto; | ||
| } | ||
|
|
||
| /* Stats Bar */ | ||
| .stats-bar { | ||
| display: flex; | ||
| justify-content: center; | ||
| gap: 3rem; | ||
| padding: 2rem; | ||
| background: var(--bg-card); | ||
| border-radius: 16px; | ||
| border: 1px solid var(--border); | ||
| margin-bottom: 3rem; | ||
| flex-wrap: wrap; | ||
| } | ||
|
|
||
| .stat { | ||
| text-align: center; | ||
| } | ||
|
|
||
| .stat-number { | ||
| font-size: 3rem; | ||
| font-weight: 700; | ||
| display: block; | ||
| } | ||
|
|
||
| .stat-label { | ||
| color: var(--text-muted); | ||
| font-size: 0.9rem; | ||
| text-transform: uppercase; | ||
| letter-spacing: 1px; | ||
| } | ||
|
|
||
| .stat:nth-child(1) .stat-number { color: var(--primary); } | ||
| .stat:nth-child(2) .stat-number { color: var(--secondary); } | ||
| .stat:nth-child(3) .stat-number { color: var(--purple); } | ||
| .stat:nth-child(4) .stat-number { color: var(--accent); } | ||
|
|
||
| /* Section Titles */ | ||
| .section-title { | ||
| font-size: 1.75rem; | ||
| margin-bottom: 1.5rem; | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 0.75rem; | ||
| } | ||
|
|
||
| .section-title::after { | ||
| content: ''; | ||
| flex: 1; | ||
| height: 1px; | ||
| background: var(--border); | ||
| } | ||
|
|
||
| /* Main Architecture Diagram */ | ||
| .architecture { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .arch-diagram { | ||
| background: var(--bg-card); | ||
| border-radius: 16px; | ||
| border: 1px solid var(--border); | ||
| padding: 2rem; | ||
| position: relative; | ||
| overflow: hidden; | ||
| } | ||
|
|
||
| .arch-center { | ||
| display: flex; | ||
| flex-direction: column; | ||
| align-items: center; | ||
| gap: 2rem; | ||
| } | ||
|
|
||
| .copilot-hub { | ||
| background: linear-gradient(135deg, var(--primary), var(--secondary)); | ||
| border-radius: 50%; | ||
| width: 180px; | ||
| height: 180px; | ||
| display: flex; | ||
| flex-direction: column; | ||
| align-items: center; | ||
| justify-content: center; | ||
| box-shadow: 0 0 60px rgba(88, 166, 255, 0.3); | ||
| position: relative; | ||
| z-index: 10; | ||
| } | ||
|
|
||
| .copilot-hub .icon { | ||
| font-size: 3rem; | ||
| } | ||
|
|
||
| .copilot-hub .label { | ||
| font-weight: 600; | ||
| font-size: 1.1rem; | ||
| margin-top: 0.5rem; | ||
| } | ||
|
|
||
| .resource-ring { | ||
| display: flex; | ||
| justify-content: center; | ||
| gap: 2rem; | ||
| flex-wrap: wrap; | ||
| position: relative; | ||
| } | ||
|
|
||
| .resource-card { | ||
| background: var(--bg-hover); | ||
| border: 2px solid var(--border); | ||
| border-radius: 12px; | ||
| padding: 1.5rem; | ||
| width: 200px; | ||
| text-align: center; | ||
| transition: all 0.3s ease; | ||
| cursor: pointer; | ||
| position: relative; | ||
| } | ||
|
|
||
| .resource-card:hover { | ||
| transform: translateY(-5px); | ||
| box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); | ||
| } | ||
|
|
||
| .resource-card.agents { border-color: var(--primary); } | ||
| .resource-card.agents:hover { background: rgba(35, 134, 54, 0.1); } | ||
| .resource-card.prompts { border-color: var(--secondary); } | ||
| .resource-card.prompts:hover { background: rgba(88, 166, 255, 0.1); } | ||
| .resource-card.instructions { border-color: var(--purple); } | ||
| .resource-card.instructions:hover { background: rgba(163, 113, 247, 0.1); } | ||
| .resource-card.collections { border-color: var(--accent); } | ||
| .resource-card.collections:hover { background: rgba(247, 129, 102, 0.1); } | ||
|
|
||
| .resource-card .icon { | ||
| font-size: 2.5rem; | ||
| margin-bottom: 0.5rem; | ||
| } | ||
|
|
||
| .resource-card h3 { | ||
| font-size: 1.1rem; | ||
| margin-bottom: 0.25rem; | ||
| } | ||
|
|
||
| .resource-card .count { | ||
| color: var(--text-muted); | ||
| font-size: 0.9rem; | ||
| } | ||
|
|
||
| /* Connection Lines (SVG) */ | ||
| .connections { | ||
| position: absolute; | ||
| top: 0; | ||
| left: 0; | ||
| width: 100%; | ||
| height: 100%; | ||
| pointer-events: none; | ||
| z-index: 1; | ||
| } | ||
|
|
||
| /* How To Use Flow */ | ||
| .flow-section { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .flow-diagram { | ||
| display: flex; | ||
| justify-content: space-between; | ||
| align-items: center; | ||
| gap: 1rem; | ||
| padding: 2rem; | ||
| background: var(--bg-card); | ||
| border-radius: 16px; | ||
| border: 1px solid var(--border); | ||
| overflow-x: auto; | ||
| } | ||
|
|
||
| .flow-step { | ||
| flex: 1; | ||
| min-width: 200px; | ||
| text-align: center; | ||
| padding: 1.5rem; | ||
| background: var(--bg-hover); | ||
| border-radius: 12px; | ||
| position: relative; | ||
| } | ||
|
|
||
| .flow-step .step-number { | ||
| position: absolute; | ||
| top: -12px; | ||
| left: 50%; | ||
| transform: translateX(-50%); | ||
| background: var(--primary); | ||
| color: white; | ||
| width: 28px; | ||
| height: 28px; | ||
| border-radius: 50%; | ||
| display: flex; | ||
| align-items: center; | ||
| justify-content: center; | ||
| font-weight: 700; | ||
| font-size: 0.9rem; | ||
| } | ||
|
|
||
| .flow-step .icon { | ||
| font-size: 2rem; | ||
| margin-bottom: 0.75rem; | ||
| } | ||
|
|
||
| .flow-step h4 { | ||
| font-size: 1rem; | ||
| margin-bottom: 0.5rem; | ||
| } | ||
|
|
||
| .flow-step p { | ||
| font-size: 0.85rem; | ||
| color: var(--text-muted); | ||
| } | ||
|
|
||
| .flow-arrow { | ||
| font-size: 1.5rem; | ||
| color: var(--primary); | ||
| flex-shrink: 0; | ||
| } | ||
|
|
||
| /* Category Breakdown */ | ||
| .categories { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .category-grid { | ||
| display: grid; | ||
| grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); | ||
| gap: 1.5rem; | ||
| } | ||
|
|
||
| .category-box { | ||
| background: var(--bg-card); | ||
| border-radius: 12px; | ||
| border: 1px solid var(--border); | ||
| overflow: hidden; | ||
| } | ||
|
|
||
| .category-header { | ||
| padding: 1rem 1.5rem; | ||
| border-bottom: 1px solid var(--border); | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 0.75rem; | ||
| } | ||
|
|
||
| .category-header.agents { background: linear-gradient(90deg, rgba(35, 134, 54, 0.2), transparent); } | ||
| .category-header.prompts { background: linear-gradient(90deg, rgba(88, 166, 255, 0.2), transparent); } | ||
| .category-header.instructions { background: linear-gradient(90deg, rgba(163, 113, 247, 0.2), transparent); } | ||
|
|
||
| .category-header h3 { | ||
| font-size: 1.1rem; | ||
| } | ||
|
|
||
| .category-content { | ||
| padding: 1.5rem; | ||
| } | ||
|
|
||
| .tag-cloud { | ||
| display: flex; | ||
| flex-wrap: wrap; | ||
| gap: 0.5rem; | ||
| } | ||
|
|
||
| .tag { | ||
| background: var(--bg-hover); | ||
| border: 1px solid var(--border); | ||
| padding: 0.35rem 0.75rem; | ||
| border-radius: 20px; | ||
| font-size: 0.8rem; | ||
| color: var(--text-muted); | ||
| transition: all 0.2s ease; | ||
| } | ||
|
|
||
| .tag:hover { | ||
| background: var(--bg-dark); | ||
| color: var(--text); | ||
| } | ||
|
|
||
| .tag.highlight { | ||
| border-color: var(--secondary); | ||
| color: var(--secondary); | ||
| } | ||
|
|
||
| /* Technology Map */ | ||
| .tech-map { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .tech-grid { | ||
| display: grid; | ||
| grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); | ||
| gap: 1rem; | ||
| } | ||
|
|
||
| .tech-card { | ||
| background: var(--bg-card); | ||
| border: 1px solid var(--border); | ||
| border-radius: 10px; | ||
| padding: 1.25rem; | ||
| text-align: center; | ||
| transition: all 0.2s ease; | ||
| } | ||
|
|
||
| .tech-card:hover { | ||
| border-color: var(--secondary); | ||
| transform: scale(1.02); | ||
| } | ||
|
|
||
| .tech-card .icon { | ||
| font-size: 2rem; | ||
| margin-bottom: 0.5rem; | ||
| } | ||
|
|
||
| .tech-card .name { | ||
| font-weight: 600; | ||
| font-size: 0.9rem; | ||
| margin-bottom: 0.25rem; | ||
| } | ||
|
|
||
| .tech-card .count { | ||
| font-size: 0.8rem; | ||
| color: var(--text-muted); | ||
| } | ||
|
|
||
| /* MCP Server Section */ | ||
| .mcp-section { | ||
| background: linear-gradient(135deg, rgba(35, 134, 54, 0.1), rgba(88, 166, 255, 0.1)); | ||
| border: 1px solid var(--border); | ||
| border-radius: 16px; | ||
| padding: 2rem; | ||
| margin-bottom: 4rem; | ||
| text-align: center; | ||
| } | ||
|
|
||
| .mcp-section h2 { | ||
| margin-bottom: 1rem; | ||
| } | ||
|
|
||
| .mcp-section p { | ||
| color: var(--text-muted); | ||
| margin-bottom: 1.5rem; | ||
| max-width: 600px; | ||
| margin-left: auto; | ||
| margin-right: auto; | ||
| } | ||
|
|
||
| .install-buttons { | ||
| display: flex; | ||
| justify-content: center; | ||
| gap: 1rem; | ||
| flex-wrap: wrap; | ||
| } | ||
|
|
||
| .install-btn { | ||
| display: inline-flex; | ||
| align-items: center; | ||
| gap: 0.5rem; | ||
| padding: 0.75rem 1.5rem; | ||
| border-radius: 8px; | ||
| text-decoration: none; | ||
| font-weight: 600; | ||
| transition: all 0.2s ease; | ||
| } | ||
|
|
||
| .install-btn.vscode { | ||
| background: #0098FF; | ||
| color: white; | ||
| } | ||
|
|
||
| .install-btn.insiders { | ||
| background: #24bfa5; | ||
| color: white; | ||
| } | ||
|
|
||
| .install-btn.vs { | ||
| background: #C16FDE; | ||
| color: white; | ||
| } | ||
|
|
||
| .install-btn:hover { | ||
| transform: translateY(-2px); | ||
| box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); | ||
| } | ||
|
|
||
| /* File Structure Tree */ | ||
| .file-tree { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .tree-container { | ||
| background: var(--bg-card); | ||
| border: 1px solid var(--border); | ||
| border-radius: 12px; | ||
| padding: 1.5rem 2rem; | ||
| font-family: 'Cascadia Code', 'Fira Code', monospace; | ||
| font-size: 0.9rem; | ||
| } | ||
|
|
||
| .tree-item { | ||
| padding: 0.25rem 0; | ||
| display: flex; | ||
| align-items: center; | ||
| gap: 0.5rem; | ||
| } | ||
|
|
||
| .tree-item.folder { | ||
| color: var(--secondary); | ||
| } | ||
|
|
||
| .tree-item.file { | ||
| color: var(--text-muted); | ||
| padding-left: 1.5rem; | ||
| } | ||
|
|
||
| .tree-icon { | ||
| width: 20px; | ||
| text-align: center; | ||
| } | ||
|
|
||
| /* Quick Reference Table */ | ||
| .quick-ref { | ||
| margin-bottom: 4rem; | ||
| } | ||
|
|
||
| .ref-table { | ||
| width: 100%; | ||
| background: var(--bg-card); | ||
| border: 1px solid var(--border); | ||
| border-radius: 12px; | ||
| overflow: hidden; | ||
| border-collapse: collapse; | ||
| } | ||
|
|
||
| .ref-table th, | ||
| .ref-table td { | ||
| padding: 1rem 1.5rem; | ||
| text-align: left; | ||
| border-bottom: 1px solid var(--border); | ||
| } | ||
|
|
||
| .ref-table th { | ||
| background: var(--bg-hover); | ||
| font-weight: 600; | ||
| color: var(--text); | ||
| } | ||
|
|
||
| .ref-table tr:last-child td { | ||
| border-bottom: none; | ||
| } | ||
|
|
||
| .ref-table tr:hover td { | ||
| background: var(--bg-hover); | ||
| } | ||
|
|
||
| .ref-table code { | ||
| background: var(--bg-dark); | ||
| padding: 0.2rem 0.5rem; | ||
| border-radius: 4px; | ||
| font-family: 'Cascadia Code', monospace; | ||
| font-size: 0.85rem; | ||
| color: var(--accent); | ||
| } | ||
|
|
||
| /* Footer */ | ||
| footer { | ||
| text-align: center; | ||
| padding: 2rem; | ||
| border-top: 1px solid var(--border); | ||
| color: var(--text-muted); | ||
| } | ||
|
|
||
| footer a { | ||
| color: var(--secondary); | ||
| text-decoration: none; | ||
| } | ||
|
|
||
| footer a:hover { | ||
| text-decoration: underline; | ||
| } | ||
|
|
||
| /* Animations */ | ||
| @keyframes pulse { | ||
| 0%, 100% { opacity: 1; } | ||
| 50% { opacity: 0.5; } | ||
| } | ||
|
|
||
| .pulse { | ||
| animation: pulse 2s infinite; | ||
| } | ||
|
|
||
| @keyframes float { | ||
| 0%, 100% { transform: translateY(0); } | ||
| 50% { transform: translateY(-10px); } | ||
| } | ||
|
|
||
| .float { | ||
| animation: float 3s ease-in-out infinite; | ||
| } | ||
|
|
||
| /* Responsive */ | ||
| @media (max-width: 768px) { | ||
| header h1 { | ||
| font-size: 2rem; | ||
| } | ||
|
|
||
| .stats-bar { | ||
| gap: 1.5rem; | ||
| } | ||
|
|
||
| .stat-number { | ||
| font-size: 2rem; | ||
| } | ||
|
|
||
| .flow-diagram { | ||
| flex-direction: column; | ||
| } | ||
|
|
||
| .flow-arrow { | ||
| transform: rotate(90deg); | ||
| } | ||
|
|
||
| .resource-ring { | ||
| gap: 1rem; | ||
| } | ||
|
|
||
| .resource-card { | ||
| width: 150px; | ||
| padding: 1rem; | ||
| } | ||
| } | ||
| </style> | ||
| </head> | ||
| <body> | ||
| <header> | ||
| <h1>🤖 Awesome GitHub Copilot</h1> | ||
| <p>A community-curated collection of custom agents, prompts, and instructions to supercharge your GitHub Copilot experience</p> | ||
| </header> | ||
|
|
||
| <div class="container"> | ||
| <!-- Stats Bar --> | ||
| <div class="stats-bar"> | ||
| <div class="stat"> | ||
| <span class="stat-number">122+</span> | ||
| <span class="stat-label">Custom Agents</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">125+</span> | ||
| <span class="stat-label">Prompts</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">145+</span> | ||
| <span class="stat-label">Instructions</span> | ||
| </div> | ||
| <div class="stat"> | ||
| <span class="stat-number">2+</span> | ||
| <span class="stat-label">Collections</span> | ||
| </div> | ||
| </div> | ||
|
|
||
| <!-- Main Architecture --> | ||
| <section class="architecture"> | ||
| <h2 class="section-title">📊 Repository Architecture</h2> | ||
| <div class="arch-diagram"> | ||
| <div class="arch-center"> | ||
| <div class="copilot-hub float"> | ||
| <span class="icon">🤖</span> | ||
| <span class="label">GitHub Copilot</span> | ||
| </div> | ||
| <div style="color: var(--text-muted); font-size: 0.9rem;">↑ Enhanced by ↓</div> | ||
| <div class="resource-ring"> | ||
| <div class="resource-card agents"> | ||
| <div class="icon">🧠</div> | ||
| <h3>Agents</h3> | ||
| <div class="count">122+ specialized modes</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .agent.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card prompts"> | ||
| <div class="icon">💬</div> | ||
| <h3>Prompts</h3> | ||
| <div class="count">125+ task templates</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .prompt.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card instructions"> | ||
| <div class="icon">📋</div> | ||
| <h3>Instructions</h3> | ||
| <div class="count">145+ coding standards</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| .instructions.md files | ||
| </div> | ||
| </div> | ||
| <div class="resource-card collections"> | ||
| <div class="icon">📦</div> | ||
| <h3>Collections</h3> | ||
| <div class="count">Curated bundles</div> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted);"> | ||
| Themed groups | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- How To Use Flow --> | ||
| <section class="flow-section"> | ||
| <h2 class="section-title">🚀 How To Use</h2> | ||
| <div class="flow-diagram"> | ||
| <div class="flow-step"> | ||
| <span class="step-number">1</span> | ||
| <div class="icon">🔍</div> | ||
| <h4>Browse</h4> | ||
| <p>Explore agents, prompts & instructions in the docs</p> | ||
| </div> | ||
| <span class="flow-arrow">→</span> | ||
| <div class="flow-step"> | ||
| <span class="step-number">2</span> | ||
| <div class="icon">📋</div> | ||
| <h4>Copy</h4> | ||
| <p>Download or copy the .md file you want</p> | ||
| </div> | ||
| <span class="flow-arrow">→</span> | ||
| <div class="flow-step"> | ||
| <span class="step-number">3</span> | ||
| <div class="icon">📁</div> | ||
| <h4>Place</h4> | ||
| <p>Add to your project's .github/ folder</p> | ||
| </div> | ||
| <span class="flow-arrow">→</span> | ||
| <div class="flow-step"> | ||
| <span class="step-number">4</span> | ||
| <div class="icon">✨</div> | ||
| <h4>Use</h4> | ||
| <p>Access in Copilot Chat or via / commands</p> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- MCP Server --> | ||
| <section class="mcp-section"> | ||
| <h2>⚡ Quick Install via MCP Server</h2> | ||
| <p>Use the MCP Server to search and install resources directly from VS Code. Requires Docker.</p> | ||
| <div class="install-buttons"> | ||
| <a href="https://aka.ms/awesome-copilot/mcp/vscode" class="install-btn vscode"> | ||
| <span>📦</span> Install in VS Code | ||
| </a> | ||
| <a href="https://aka.ms/awesome-copilot/mcp/vscode-insiders" class="install-btn insiders"> | ||
| <span>🧪</span> VS Code Insiders | ||
| </a> | ||
| <a href="https://aka.ms/awesome-copilot/mcp/vs" class="install-btn vs"> | ||
| <span>💜</span> Visual Studio | ||
| </a> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- Category Breakdown --> | ||
| <section class="categories"> | ||
| <h2 class="section-title">🏷️ What's Inside</h2> | ||
| <div class="category-grid"> | ||
| <div class="category-box"> | ||
| <div class="category-header agents"> | ||
| <span>🧠</span> | ||
| <h3>Agents (Chat Modes)</h3> | ||
| </div> | ||
| <div class="category-content"> | ||
| <p style="color: var(--text-muted); margin-bottom: 1rem; font-size: 0.9rem;"> | ||
| Specialized AI personas with unique expertise and behaviors | ||
| </p> | ||
| <div class="tag-cloud"> | ||
| <span class="tag highlight">Azure Architects</span> | ||
| <span class="tag highlight">.NET Experts</span> | ||
| <span class="tag">Debug Mode</span> | ||
| <span class="tag">Code Review</span> | ||
| <span class="tag">MCP Experts</span> | ||
| <span class="tag">Beast Mode</span> | ||
| <span class="tag">Planners</span> | ||
| <span class="tag">Security</span> | ||
| <span class="tag">Database DBAs</span> | ||
| <span class="tag">React/Next.js</span> | ||
| <span class="tag">Power Platform</span> | ||
| <span class="tag">Terraform/Bicep</span> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="category-box"> | ||
| <div class="category-header prompts"> | ||
| <span>💬</span> | ||
| <h3>Prompts (Task Templates)</h3> | ||
| </div> | ||
| <div class="category-content"> | ||
| <p style="color: var(--text-muted); margin-bottom: 1rem; font-size: 0.9rem;"> | ||
| Ready-to-use prompts for specific coding tasks | ||
| </p> | ||
| <div class="tag-cloud"> | ||
| <span class="tag highlight">Create README</span> | ||
| <span class="tag highlight">Generate Tests</span> | ||
| <span class="tag">Code Review</span> | ||
| <span class="tag">Documentation</span> | ||
| <span class="tag">Refactoring</span> | ||
| <span class="tag">Git Commits</span> | ||
| <span class="tag">Docker/Container</span> | ||
| <span class="tag">API Design</span> | ||
| <span class="tag">SQL Optimization</span> | ||
| <span class="tag">MCP Generators</span> | ||
| <span class="tag">Spec Creation</span> | ||
| <span class="tag">Issue Creation</span> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div class="category-box"> | ||
| <div class="category-header instructions"> | ||
| <span>📋</span> | ||
| <h3>Instructions (Coding Standards)</h3> | ||
| </div> | ||
| <div class="category-content"> | ||
| <p style="color: var(--text-muted); margin-bottom: 1rem; font-size: 0.9rem;"> | ||
| Auto-applied rules based on file patterns | ||
| </p> | ||
| <div class="tag-cloud"> | ||
| <span class="tag highlight">C# / .NET</span> | ||
| <span class="tag highlight">TypeScript</span> | ||
| <span class="tag">Python</span> | ||
| <span class="tag">Java / Kotlin</span> | ||
| <span class="tag">Go / Rust</span> | ||
| <span class="tag">React / Vue</span> | ||
| <span class="tag">Angular</span> | ||
| <span class="tag">Terraform</span> | ||
| <span class="tag">Bicep / ARM</span> | ||
| <span class="tag">GitHub Actions</span> | ||
| <span class="tag">Playwright</span> | ||
| <span class="tag">Power Platform</span> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- Technology Map --> | ||
| <section class="tech-map"> | ||
| <h2 class="section-title">🗺️ Technology Coverage</h2> | ||
| <div class="tech-grid"> | ||
| <div class="tech-card"> | ||
| <div class="icon">☁️</div> | ||
| <div class="name">Azure</div> | ||
| <div class="count">25+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">💜</div> | ||
| <div class="name">.NET / C#</div> | ||
| <div class="count">20+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🟦</div> | ||
| <div class="name">TypeScript</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🐍</div> | ||
| <div class="name">Python</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">☕</div> | ||
| <div class="name">Java</div> | ||
| <div class="count">12+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">⚛️</div> | ||
| <div class="name">React</div> | ||
| <div class="count">10+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🔷</div> | ||
| <div class="name">Terraform</div> | ||
| <div class="count">8+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">💪</div> | ||
| <div class="name">Bicep</div> | ||
| <div class="count">6+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🔌</div> | ||
| <div class="name">MCP Servers</div> | ||
| <div class="count">15+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🗄️</div> | ||
| <div class="name">Databases</div> | ||
| <div class="count">10+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">⚡</div> | ||
| <div class="name">Power Platform</div> | ||
| <div class="count">20+ resources</div> | ||
| </div> | ||
| <div class="tech-card"> | ||
| <div class="icon">🚀</div> | ||
| <div class="name">DevOps/CI-CD</div> | ||
| <div class="count">10+ resources</div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- File Structure --> | ||
| <section class="file-tree"> | ||
| <h2 class="section-title">📂 Repository Structure</h2> | ||
| <div class="tree-container"> | ||
| <div class="tree-item folder"> | ||
| <span class="tree-icon">📁</span> | ||
| <span>agents/</span> | ||
| <span style="color: var(--text-muted); margin-left: 1rem;">← Custom agents (.agent.md)</span> | ||
| </div> | ||
| <div class="tree-item file">├── debug.agent.md</div> | ||
| <div class="tree-item file">├── azure-principal-architect.agent.md</div> | ||
| <div class="tree-item file">└── ... 120+ more</div> | ||
|
|
||
| <div class="tree-item folder" style="margin-top: 0.5rem;"> | ||
| <span class="tree-icon">📁</span> | ||
| <span>prompts/</span> | ||
| <span style="color: var(--text-muted); margin-left: 1rem;">← Task prompts (.prompt.md)</span> | ||
| </div> | ||
| <div class="tree-item file">├── create-readme.prompt.md</div> | ||
| <div class="tree-item file">├── conventional-commit.prompt.md</div> | ||
| <div class="tree-item file">└── ... 120+ more</div> | ||
|
|
||
| <div class="tree-item folder" style="margin-top: 0.5rem;"> | ||
| <span class="tree-icon">📁</span> | ||
| <span>instructions/</span> | ||
| <span style="color: var(--text-muted); margin-left: 1rem;">← Coding standards (.instructions.md)</span> | ||
| </div> | ||
| <div class="tree-item file">├── csharp.instructions.md</div> | ||
| <div class="tree-item file">├── typescript-5-es2022.instructions.md</div> | ||
| <div class="tree-item file">└── ... 140+ more</div> | ||
|
|
||
| <div class="tree-item folder" style="margin-top: 0.5rem;"> | ||
| <span class="tree-icon">📁</span> | ||
| <span>collections/</span> | ||
| <span style="color: var(--text-muted); margin-left: 1rem;">← Curated bundles</span> | ||
| </div> | ||
|
|
||
| <div class="tree-item folder" style="margin-top: 0.5rem;"> | ||
| <span class="tree-icon">📁</span> | ||
| <span>docs/</span> | ||
| <span style="color: var(--text-muted); margin-left: 1rem;">← Full documentation tables</span> | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| <!-- Quick Reference --> | ||
| <section class="quick-ref"> | ||
| <h2 class="section-title">📖 Quick Reference</h2> | ||
| <table class="ref-table"> | ||
| <thead> | ||
| <tr> | ||
| <th>Resource Type</th> | ||
| <th>File Extension</th> | ||
| <th>Install Location</th> | ||
| <th>How to Access</th> | ||
| </tr> | ||
| </thead> | ||
| <tbody> | ||
| <tr> | ||
| <td><strong>🧠 Agents</strong></td> | ||
| <td><code>.agent.md</code></td> | ||
| <td><code>.github/</code></td> | ||
| <td>Chat mode selector dropdown</td> | ||
| </tr> | ||
| <tr> | ||
| <td><strong>💬 Prompts</strong></td> | ||
| <td><code>.prompt.md</code></td> | ||
| <td><code>.github/prompts/</code></td> | ||
| <td>Type <code>/</code> in Copilot Chat</td> | ||
| </tr> | ||
| <tr> | ||
| <td><strong>📋 Instructions</strong></td> | ||
| <td><code>.instructions.md</code></td> | ||
| <td><code>.github/instructions/</code></td> | ||
| <td>Auto-applied by file pattern</td> | ||
| </tr> | ||
| <tr> | ||
| <td><strong>📦 Collections</strong></td> | ||
| <td><code>.md</code></td> | ||
| <td>Browse in repo</td> | ||
| <td>Curated resource bundles</td> | ||
| </tr> | ||
| </tbody> | ||
| </table> | ||
| </section> | ||
|
|
||
| <!-- Popular Picks --> | ||
| <section style="margin-bottom: 4rem;"> | ||
| <h2 class="section-title">⭐ Popular Picks</h2> | ||
| <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem;"> | ||
| <div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem;"> | ||
| <h4 style="color: var(--primary); margin-bottom: 0.5rem;">🧠 Beast Mode Agents</h4> | ||
| <p style="color: var(--text-muted); font-size: 0.9rem;">Powerful autonomous coding agents for complex problem solving</p> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem;"> | ||
| <code>blueprint-mode.agent.md</code><br> | ||
| <code>gpt-5-beast-mode.agent.md</code> | ||
| </div> | ||
| </div> | ||
| <div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem;"> | ||
| <h4 style="color: var(--secondary); margin-bottom: 0.5rem;">☁️ Azure Specialists</h4> | ||
| <p style="color: var(--text-muted); font-size: 0.9rem;">Expert architects for Azure infrastructure and services</p> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem;"> | ||
| <code>azure-principal-architect.agent.md</code><br> | ||
| <code>bicep-implement.agent.md</code> | ||
| </div> | ||
| </div> | ||
| <div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem;"> | ||
| <h4 style="color: var(--purple); margin-bottom: 0.5rem;">🔧 MCP Server Experts</h4> | ||
| <p style="color: var(--text-muted); font-size: 0.9rem;">Build MCP servers in any language</p> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem;"> | ||
| <code>typescript-mcp-expert.agent.md</code><br> | ||
| <code>python-mcp-expert.agent.md</code> | ||
| </div> | ||
| </div> | ||
| <div style="background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem;"> | ||
| <h4 style="color: var(--accent); margin-bottom: 0.5rem;">📝 Documentation</h4> | ||
| <p style="color: var(--text-muted); font-size: 0.9rem;">Auto-generate READMEs, specs, and docs</p> | ||
| <div style="margin-top: 0.75rem; font-size: 0.8rem;"> | ||
| <code>create-readme.prompt.md</code><br> | ||
| <code>create-specification.prompt.md</code> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </section> | ||
| </div> | ||
|
|
||
| <footer> | ||
| <p> | ||
| <strong>Awesome GitHub Copilot</strong> • | ||
| <a href="README.md">README</a> • | ||
| <a href="docs/README.agents.md">All Agents</a> • | ||
| <a href="docs/README.prompts.md">All Prompts</a> • | ||
| <a href="docs/README.instructions.md">All Instructions</a> • | ||
| <a href="CONTRIBUTING.md">Contribute</a> | ||
| </p> | ||
| <p style="margin-top: 0.5rem; font-size: 0.9rem;"> | ||
| MIT License • Community-driven project | ||
| </p> | ||
| </footer> | ||
|
|
||
| <script> | ||
| // Add some interactivity | ||
| document.querySelectorAll('.resource-card').forEach(card => { | ||
| card.addEventListener('click', () => { | ||
| const type = card.classList[1]; | ||
| const urls = { | ||
| agents: 'docs/README.agents.md', | ||
| prompts: 'docs/README.prompts.md', | ||
| instructions: 'docs/README.instructions.md', | ||
| collections: 'docs/README.collections.md' | ||
| }; | ||
| window.location.href = urls[type] || '#'; | ||
| }); | ||
| }); | ||
|
|
||
| // Animate stats on scroll | ||
| const observer = new IntersectionObserver((entries) => { | ||
| entries.forEach(entry => { | ||
| if (entry.isIntersecting) { | ||
| entry.target.style.opacity = '1'; | ||
| entry.target.style.transform = 'translateY(0)'; | ||
| } | ||
| }); | ||
| }, { threshold: 0.1 }); | ||
|
|
||
| document.querySelectorAll('.stat, .resource-card, .category-box, .tech-card').forEach(el => { | ||
| el.style.opacity = '0'; | ||
| el.style.transform = 'translateY(20px)'; | ||
| el.style.transition = 'all 0.5s ease'; | ||
| observer.observe(el); | ||
| }); | ||
| </script> | ||
| </body> | ||
| </html> |
Copilot
AI
Dec 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new file overview.html should be added to the README.md file according to the custom coding guidelines. The README should document what this file is and how to use it.
aaronpowell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have some prompts that can scan the repo, you can find them here - https://github.com/github/awesome-copilot/blob/main/collections/awesome-copilot.md
Do you think this agent and prompt are distinct enough from those or could the existing ones be enhanced? If they are distinct, could you update the collection to also include your agent and prompt.
overview.html
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file.
- Removed overview.html as requested by reviewer - Updated analyze-project prompt to actually install tools (not just suggest) - Added smart matching: scans project, picks best tools, installs all in one pass - Added tech-to-tool mapping for intelligent recommendations - This differentiates from 5 separate suggest-* prompts that just list options - Added model: 'gpt-4o' to both files - Added entries to awesome-copilot.md collection
- TOGAF Enterprise Architecture Assessment: Evaluates architecture maturity across Business, Data, Application, and Technology domains (Open Group standard) - CMMI Maturity Assessment: Evaluates process maturity from Level 1 (Initial) to Level 5 (Optimizing) based on ISACA's CMMI framework Both prompts: - Scan project structure for evidence of maturity - Generate detailed assessment reports with scores - Provide actionable improvement roadmaps - Follow industry-standard frameworks
- Updated description: 'recommends best tools for review, installs only what you approve' - Added numbered selection interface for user to pick specific tools - Emphasized 'AWAIT user response before proceeding' - Added options: 'all', specific numbers, or 'none' - User stays in control - nothing installed without explicit approval
All prompts now save reports to assessments/ folder with: - YAML frontmatter for CI/CD parsing - Semantic versioning (1.0.0 increments on re-run) - Parseable fields: report_type, version, date, scores Reports generated: - assessments/togaf-assessment.md (architecture maturity) - assessments/cmmi-assessment.md (process maturity) - assessments/copilot-tools-report.md (tool recommendations) Version in frontmatter enables: - Searching reports by version - Tracking changes over time - CI/CD pipeline integration
All 4 tools now specify Claude Opus 4.5 as the recommended model: - tool-advisor.agent.md - analyze-project-for-copilot-tools.prompt.md - togaf-enterprise-architecture-assessment.prompt.md - cmmi-maturity-assessment.prompt.md
- Both prompts now read previous reports and compare changes - Shows score deltas per criterion with visual indicators - Tracks maturity level changes over versions - Displays change log (improvements made, regressions, unchanged gaps) - Includes version history and score trend visualization - Path to next level with specific recommendations - Repeatable process flow ensures consistent evaluation
- Changed 'agent' to 'mode' in frontmatter (correct field name) - Use only standard tools: codebase, terminal, fetch, githubRepo - Removed non-standard tools: read_file, edit, createFile, runCommands, todos - Ensures prompts work for any user with same model in their environment - All prompts are now self-contained with no environment dependencies
- Prompts now MUST run PowerShell discovery commands before scoring - Searches for ALL *.md files, doc folders, .github contents - Adds file recency checking (files older than 2 years get partial credit) - Maps discovered files to evidence categories - Includes discovery stats in report frontmatter - Prevents false negatives from missing documentation
…ilot resources
These tools help users discover which of the 400+ resources are relevant to their specific projects by analyzing their tech stack.
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.Description
Type of Contribution
Additional Notes
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.